From: Stuart Henderson Subject: Re: freerdp fails on latest snapshot To: mike@marcott.net, ports@openbsd.org Date: Thu, 6 Nov 2025 16:59:03 +0000 On 2025/11/06 14:59, Kirill A. Korinsky wrote: > On Thu, 06 Nov 2025 13:24:46 +0100, > Mike Marcott wrote: > > > > Good morning, > > > > After previously working for the last years through current 7.8 snapshot from around 10/8/2025, a recent update to snapshot OpenBSD 7.8-current has freerdp-2.11.7 failing to connect to multiple win10 boxes withi this error: > > > > xfreerdp:/usr/local/lib/libfreerdp2.so.3.0: undefined symbol 'avcodec_close' > > ld.so: xfreerdp: lazy binding failed! > > Killed > > > > The password negotiation works, the typical window pops up briefly then closes with that error. > > > > OpenBSD 7.8-current (GENERIC.MP) #81: Sat Nov 1 11:07:45 MDT 2025 > > deraadt@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP mailto:deraadt@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP > > > > Anyone else seeing this? Thank you > > > > This is side effect of switching to ffmpeg8. > > Thanks for reporting it. I don't get that far on an IBT system: xfreerdp /cert-name:XX -grab-keyboard +compression /cert-tofu /size:85% /u:XX /p:XX /v:10.71.12.35:3389 [16:44:38:451] [52487:74a9ba40] [WARN][com.freerdp.crypto] - Certificate verification failure 'unable to get local issuer certificate (20)' at stack position 0 [16:44:38:451] [52487:74a9ba40] [WARN][com.freerdp.crypto] - CN = XX [16:44:40:995] [52487:74a9ba40] [INFO][com.freerdp.gdi] - Local framebuffer format PIXEL_FORMAT_BGRX32 [16:44:40:995] [52487:74a9ba40] [INFO][com.freerdp.gdi] - Remote framebuffer format PIXEL_FORMAT_BGRA32 [16:44:40:157] [52487:74a9ba40] [INFO][com.freerdp.channels.rdpsnd.client] - [static] Loaded fake backend for rdpsnd [16:44:40:157] [52487:74a9ba40] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel rdpgfx [16:44:40:531] [52487:48754440] [ERROR][com.freerdp.utils] - Caught signal 'Illegal instruction' [4] [16:44:40:532] [52487:48754440] [FATAL][com.winpr.utils.debug] - Invalid stacktrace buffer! check if platform is supported! [16:44:40:532] [52487:48754440] [ERROR][com.freerdp.utils] - winpr_backtrace failed! Illegal instruction (core dumped) ... 65642 xfreerdp RET kbind 0 65642 xfreerdp CALL mmap(0,0x3000,0x3,0x1002,-1,0) 65642 xfreerdp RET mmap 12071689031680/0xafaa8bc9000 65642 xfreerdp CALL mmap(0,0x3000,0x3,0x1002,-1,0) 65642 xfreerdp RET mmap 12075412787200/0xafb86b09000 65642 xfreerdp PSIG SIGILL caught handler=0xafb53c4ebe0 mask=0<> code=ILL_BTCFI addr=0xafb3dd2fd20 trapno=21 ... (gdb) bt #0 thrkill () at /tmp/-:2 #1 0x092bbf8d77d8580e in ?? () #2 0x000008f2d950bd2d in fatal_handler () from /usr/local/lib/libfreerdp2.so.3.0 #3 #4 ff_prefetch_mmxext[loop] () at src/libavcodec/x86/videodsp.asm:401 #5 0x000008f270e5a3de in hl_decode_mb_simple_8 (h=0x8f34d035000, sl=0x8f2a8613000) at src/libavcodec/h264_mb_template.c:60 #6 0x000008f270e77a40 in decode_slice (avctx=, arg=0x8f2a8613000) at src/libavcodec/h264_slice.c:2690 #7 0x000008f270e77087 in ff_h264_execute_decode_slices (h=0x8f34d035000) at src/libavcodec/h264_slice.c:2790 #8 0x000008f270e7faf1 in decode_nal_units (h=0x8f34d035000, buf_ref=0x8f266541140, buf=0x8f27a443000 "", buf_size=5383) at src/libavcodec/h264dec.c:677 #9 h264_decode_frame (avctx=0x8f26652dc00, pict=0x8f266510600, got_frame=0x8f2afcf86b4, avpkt=) at src/libavcodec/h264dec.c:1052 #10 0x000008f270d45d61 in decode_simple_internal (avctx=0x8f26652dc00, frame=0x8f266510600, discarded_samples=) at src/libavcodec/decode.c:439 #11 decode_simple_receive_frame (avctx=0x8f26652dc00, frame=0x8f266510600) at src/libavcodec/decode.c:597 #12 ff_decode_receive_frame_internal (avctx=0x8f26652dc00, frame=0x8f266510600) at src/libavcodec/decode.c:633 #13 0x000008f270d46493 in decode_receive_frame_internal (avctx=0x8f26652dc00, frame=0x8f266510600) at src/libavcodec/decode.c:650 #14 0x000008f270d46410 in avcodec_send_packet (avctx=0x8f26652dc00, avpkt=0x8f266519030) at src/libavcodec/decode.c:726 #15 0x000008f2d95ea8ae in libavcodec_decompress () from /usr/local/lib/libfreerdp2.so.3.0 #16 0x000008f2d95e9d5e in avc444_process_rects () from /usr/local/lib/libfreerdp2.so.3.0 #17 0x000008f2d95e9cda in avc444_decompress () from /usr/local/lib/libfreerdp2.so.3.0 #18 0x000008f2d9523f6f in gdi_SurfaceCommand () from /usr/local/lib/libfreerdp2.so.3.0 #19 0x000008f33551b0e9 in rdpgfx_decode () from /usr/local/lib/libfreerdp-client2.so.1.1 #20 0x000008f335518090 in rdpgfx_on_data_received () from /usr/local/lib/libfreerdp-client2.so.1.1 #21 0x000008f3354ef20c in dvcman_receive_channel_data () from /usr/local/lib/libfreerdp-client2.so.1.1 #22 0x000008f3354ed600 in drdynvc_virtual_channel_client_thread () from /usr/local/lib/libfreerdp-client2.so.1.1 #23 0x000008f2707656fc in thread_launcher () from /usr/local/lib/libwinpr2.so.2.1 #24 0x000008f2e097c312 in _rthread_start (v=0x0) at /usr/src/lib/librthread/rthread.c:99 #25 0x000008f2d533f6da in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:87 > But our version is quite old. newer versions need posix timers :/