Bug#931591: Buster: upgraded Handbrake crashes on encode with custom preset
Hello Seth Foley,
if possible you could now install gdb
and the following debug symbol packages.
The latter are stored in a separate
repository, more details in [1]:
handbrake-dbgsym libavformat58-dbgsym
Then if you have not rebooted since the last
handbrake crash, you can use following commands:
coredumpctl list
coredumpctl gdb <PID>
bt
quit
And forward the output again to this bug.
Maybe you want one copy one of the cores in
/var/lib/systemd/coredump/ to a safe place,
because after some time they get automatically deleted.
>From your last output I guess something like in [2]
would be produced.
Unfortunately I have not found any bugreport in
the upstream projects.
What I find in the sources it looks like avio_open2
is called with an invalid pointer in filename later,
but maybe the maintainer know something more...
Kind regards,
Bernhard
[1] https://wiki.debian.org/HowToGetABacktrace#Installing_the_debugging_symbols
[2]
Stack trace of thread 25962: |
#0 0x00007f7ce7188fb4 n/a (libc.so.6) | 0x00007ffff32fcfb4 ../sysdeps/x86_64/strspn.S:88
#1 0x00007f7cebc47e73 n/a (libavformat.so.58) | 0x00007ffff7dbbe6e 0x00007ffff7dbbe73 in url_find_protocol at src/libavformat/avio.c:255
#2 0x00007f7cebc48102 n/a (libavformat.so.58) | 0x00007ffff7dbc0fd 0x00007ffff7dbc102 in ffurl_alloc at src/libavformat/avio.c:295
#3 0x00007f7cebc48a2e n/a (libavformat.so.58) | 0x00007ffff7dbca29 0x00007ffff7dbca2e in ffurl_open_whitelist at src/libavformat/avio.c:314
#4 0x00007f7cebc4d187 n/a (libavformat.so.58) | 0x00007ffff7dc1182 0x00007ffff7dc1187 in ffio_open_whitelist at src/libavformat/aviobuf.c:1167
#5 0x00007f7cebc4d1ee avio_open2 (libavformat.so.58) | 0x00007ffff7dc11e9 0x00007ffff7dc11ee in avio_open2 at src/libavformat/aviobuf.c:1181
#6 0x0000561ecd32d8fd n/a (ghb) | 0x000055555561f8f8 0x000055555561f8fd in avformatInit at ../libhb/muxavformat.c:179
#7 0x0000561ecd2e4112 n/a (ghb) | 0x00005555555d6110 0x00005555555d6112 in muxInit at ../libhb/muxcommon.c:649
#8 0x0000561ecd317e56 n/a (ghb) | 0x0000555555609e53 0x0000555555609e56 in do_job at ../libhb/work.c:1758
#9 0x0000561ecd2d607b n/a (ghb) | 0x00005555555c8078 0x00005555555c807b in hb_thread_func at ../libhb/ports.c:867
#10 0x00007f7ce9457fa3 start_thread (libpthread.so.0) | 0x00007ffff55cbfa1 0x00007ffff55cbfa3 in start_thread at pthread_create.c:486
#11 0x00007f7ce71e04cf __clone (libc.so.6) | 0x00007ffff33544cd 0x00007ffff33544cf ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
# Buster/stable amd64 qemu VM 2019-08-14
apt update
apt dist-upgrade
apt install systemd-coredump gdb mc handbrake handbrake-dbgsym libavformat58-dbgsym
apt build-dep handbrake
mkdir /home/benutzer/source/handbrake/orig -p
cd /home/benutzer/source/handbrake/orig
apt source handbrake
cd
mkdir /home/benutzer/source/ffmpeg/orig -p
cd /home/benutzer/source/ffmpeg/orig
apt source ffmpeg
cd
gdb -q --args /usr/bin/handbrake
set width 0
set pagination off
directory /home/benutzer/source/handbrake/orig/handbrake-1.2.2+ds1/gtk/src
directory /home/benutzer/source/ffmpeg/orig/ffmpeg-4.1.3/libavformat
directory /home/benutzer/source/handbrake/orig/handbrake-1.2.2+ds1/libhb
set backtrace past-main
display/i $pc
tb main
run
generate-core-file /tmp/core
gdb -q /usr/bin/handbrake --core /tmp/core
set width 0
set pagination off
directory /home/benutzer/source/handbrake/orig/handbrake-1.2.2+ds1/gtk/src
directory /home/benutzer/source/ffmpeg/orig/ffmpeg-4.1.3/libavformat
directory /home/benutzer/source/handbrake/orig/handbrake-1.2.2+ds1/libhb
set backtrace past-main
display/i $pc
benutzer@debian:~$ gdb -q /usr/bin/handbrake --core /tmp/core --ex 'batch' --ex 'info target' -ex 'quit' 2>&1 | grep -E ".text$"
0x0000555555584fe0 - 0x0000555555624ea1 is .text
gdb -q /usr/bin/handbrake --core /tmp/core --ex 'batch' --ex 'disassemble 0x0000555555584fe0,0x0000555555624ea1' -ex 'quit' 2>&1 | grep -E "07b " -B1 | grep call -A1
# Multiple candidates
gdb -q /usr/bin/handbrake --core /tmp/core --ex 'batch' --ex 'disassemble 0x0000555555584fe0,0x0000555555624ea1' -ex 'quit' 2>&1 | grep -E "e56 " -B1 | grep call -A1
# Multiple candidates
gdb -q /usr/bin/handbrake --core /tmp/core --ex 'batch' --ex 'disassemble 0x0000555555584fe0,0x0000555555624ea1' -ex 'quit' 2>&1 | grep -E "112 " -B1 | grep call -A1
# Multiple candidates
benutzer@debian:~$ gdb -q /usr/bin/handbrake --core /tmp/core --ex 'batch' --ex 'disassemble 0x0000555555584fe0,0x0000555555624ea1' -ex 'quit' 2>&1 | grep -E "avio_open2" -A1
0x000055555561f8f8 <avformatInit+488>: callq 0x555555581be0 <avio_open2@plt>
0x000055555561f8fd <avformatInit+493>: test %eax,%eax
Stack trace of thread 25962: |
#0 0x00007f7ce7188fb4 n/a (libc.so.6) | 0x00007ffff32fcfb4 ../sysdeps/x86_64/strspn.S:88
#1 0x00007f7cebc47e73 n/a (libavformat.so.58) | 0x00007ffff7dbbe6e 0x00007ffff7dbbe73 in url_find_protocol at src/libavformat/avio.c:255
#2 0x00007f7cebc48102 n/a (libavformat.so.58) | 0x00007ffff7dbc0fd 0x00007ffff7dbc102 in ffurl_alloc at src/libavformat/avio.c:295
#3 0x00007f7cebc48a2e n/a (libavformat.so.58) | 0x00007ffff7dbca29 0x00007ffff7dbca2e in ffurl_open_whitelist at src/libavformat/avio.c:314
#4 0x00007f7cebc4d187 n/a (libavformat.so.58) | 0x00007ffff7dc1182 0x00007ffff7dc1187 in ffio_open_whitelist at src/libavformat/aviobuf.c:1167
#5 0x00007f7cebc4d1ee avio_open2 (libavformat.so.58) | 0x00007ffff7dc11e9 0x00007ffff7dc11ee in avio_open2 at src/libavformat/aviobuf.c:1181
#6 0x0000561ecd32d8fd n/a (ghb) | 0x000055555561f8f8 0x000055555561f8fd in avformatInit at ../libhb/muxavformat.c:179
#7 0x0000561ecd2e4112 n/a (ghb) | 0x00005555555d6110 0x00005555555d6112 in muxInit at ../libhb/muxcommon.c:649
#8 0x0000561ecd317e56 n/a (ghb) | 0x0000555555609e53 0x0000555555609e56 in do_job at ../libhb/work.c:1758
#9 0x0000561ecd2d607b n/a (ghb) | 0x00005555555c8078 0x00005555555c807b in hb_thread_func at ../libhb/ports.c:867
#10 0x00007f7ce9457fa3 start_thread (libpthread.so.0) | 0x00007ffff55cbfa1 0x00007ffff55cbfa3 in start_thread at pthread_create.c:486
#11 0x00007f7ce71e04cf __clone (libc.so.6) | 0x00007ffff33544cd 0x00007ffff33544cf ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
0x0000561ecd32d8fd - 0x0000561ecd2d607b = 0x57882
0x0000561ecd32d8fd - 0x57882 = 0x0000561ECD2D607B | 0x000055555561f8fd - 0x57882 = 0x00005555555C807B
0x0000561ecd32d8fd - 0x0000561ecd317e56 = 0x15AA7
0x0000561ecd32d8fd - 0x15AA7 = 0x0000561ECD317E56 | 0x000055555561f8fd - 0x15AA7 = 0x0000555555609E56
0x0000561ecd32d8fd - 0x0000561ecd2e4112 = 0x497EB
0x0000561ecd32d8fd - 0x497EB = 0x0000561ECD2E4112 | 0x000055555561f8fd - 0x497EB = 0x00005555555D6112
b * __clone+61
b * start_thread+241
b * hb_thread_func+8
b * work_func+4931
b * muxInit+736
b * avformatInit+488
b * avio_open2+25
b * ffio_open_whitelist+34
b * ffurl_open_whitelist+57
b * ffurl_alloc+45
b * url_find_protocol+46
b * __strspn_sse2+100
(gdb) info b
Num Type Disp Enb Address What
1 breakpoint keep y 0x00007ffff33544cd ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
2 breakpoint keep y 0x00007ffff55cbfa1 in start_thread at pthread_create.c:486
3 breakpoint keep y 0x00005555555c8078 in hb_thread_func at ../libhb/ports.c:867
4 breakpoint keep y 0x0000555555609e53 in do_job at ../libhb/work.c:1758
5 breakpoint keep y 0x00005555555d6110 in muxInit at ../libhb/muxcommon.c:649
6 breakpoint keep y 0x000055555561f8f8 in avformatInit at ../libhb/muxavformat.c:179
7 breakpoint keep y 0x00007ffff7dc11e9 in avio_open2 at src/libavformat/aviobuf.c:1181
8 breakpoint keep y 0x00007ffff7dc1182 in ffio_open_whitelist at src/libavformat/aviobuf.c:1167
9 breakpoint keep y 0x00007ffff7dbca29 in ffurl_open_whitelist at src/libavformat/avio.c:314
10 breakpoint keep y 0x00007ffff7dbc0fd in ffurl_alloc at src/libavformat/avio.c:295
11 breakpoint keep y 0x00007ffff7dbbe6e in url_find_protocol at src/libavformat/avio.c:255
12 breakpoint keep y 0x00007ffff32fcfb4 ../sysdeps/x86_64/strspn.S:88
Reply to: