[Bug 267200] multimedia/ffmpeg: Segmentation fault in ff_seek_frame_binary()
Date: Mon, 17 Apr 2023 20:41:00 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267200 Stefan Ehmann <shoesoft@gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |shoesoft@gmx.net --- Comment #3 from Stefan Ehmann <shoesoft@gmx.net> --- Not sure if it's the same issue. After updating my build jails from 13.1 to 13.2 I now get a similar segfault when seeking some files. 13.2 is using llvm 14. I tried llvm15 from ports which has the same error. llvm13 from ports works fine (I think 13.1 was also using llvm13): Maybe compiler bug or buggy code and compiler is now stricter: Thread 9 "mpv/demux" received signal SIGSEGV, Segmentation fault. Address not mapped to object. [Switching to LWP 199306 of process 73876] 0x0000000801fb11b8 in ff_seek_frame_binary (s=s@entry=0x80a460000, stream_index=stream_index@entry=0, target_ts=target_ts@entry=1330479561, flags=flags@entry=0) at libavformat/utils.c:2175 2175 if (e->timestamp <= target_ts || e->pos == e->min_distance) { (gdb) bt #0 0x0000000801fb11b8 in ff_seek_frame_binary (s=s@entry=0x80a460000, stream_index=stream_index@entry=0, target_ts=target_ts@entry=1330479561, flags=flags@entry=0) at libavformat/utils.c:2175 #1 0x0000000801fb224b in seek_frame_internal (s=0x80a460000, stream_index=0, timestamp=1330479561, flags=0) at libavformat/utils.c:2481 #2 av_seek_frame (s=0x80a460000, stream_index=<optimized out>, timestamp=<optimized out>, flags=0) at libavformat/utils.c:2504 #3 0x000000000037b7df in ?? () #4 0x000000000037454c in ?? () #5 0x000000000036e21d in ?? () #6 0x000000000036d49e in ?? () #7 0x0000000802acfa78 in thread_start (curthread=0x808415800) at /usr/src/lib/libthr/thread/thr_create.c:292 #8 0x0000000000000000 in ?? () Backtrace stopped: Cannot access memory at address 0x7fffdf1f6000 (gdb) list 2170 2164 st = s->streams[stream_index]; 2165 if (st->index_entries) { 2166 AVIndexEntry *e; 2167 2168 /* FIXME: Whole function must be checked for non-keyframe entries in 2169 * index case, especially read_timestamp(). */ 2170 index = av_index_search_timestamp(st, target_ts, 2171 flags | AVSEEK_FLAG_BACKWARD); 2172 index = FFMAX(index, 0); 2173 e = &st->index_entries[index]; 2174 2175 if (e->timestamp <= target_ts || e->pos == e->min_distance) { (gdb) p st->index_entries $6 = (AVIndexEntry *) 0x0 -- You are receiving this mail because: You are the assignee for the bug.