Details
-
Bug
-
Resolution: Unresolved
-
P4: Low
-
None
-
6.8
Description
when ctrl-c ing i sometimes (but not always) end up in an infinite signal handler loop:
Received signal 2 (SIGINT) sent by PID 3 UID 0 initTestCase function time: 2798ms, total time: 2798ms Received signal 2 (SIGINT) sent by PID 3 UID 0 initTestCase function time: 2798ms, total time: 2798ms Received signal 2 (SIGINT) sent by PID 3 UID 0 initTestCase function time: 2798ms, total time: 2798ms Received signal 2 (SIGINT) sent by PID 3 UID 0 initTestCase function time: 2798ms, total time: 2798ms
it reliably happens with the tst_qmediaplayerbackend test case in qtmultimedia when setting the backend to gstreamer, e.g. via QT_MEDIA_BACKEND=gstreamer. the issue seems to be triggered by using the gstreamer cuda plugin (which in turn uses libnvrtc).
strace output:
➜ build-qt6-dev-clang_17_qt_dev-Debug2 QT_MEDIA_BACKEND=gstreamer strace -e trace=signal /home/tim/build/build-qt6-dev-clang_17_qt_dev-Debug2/qtmultimedia/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend rt_sigaction(SIGRT_1, {sa_handler=0x717bb38948a0, sa_mask=[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x717bb3842990}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 ********* Start testing of tst_QMediaPlayerBackend ********* Config: Using QtTest library 6.8.0, Qt 6.8.0 (x86_64-little_endian-lp64 shared (dynamic) debug build; by Ubuntu Clang 17.0.6 (++20240124120726+6009708b4367-1~exp1~20240124120743.47)), ubuntu 23.10 sigaltstack({ss_sp=0x717bb0723000, ss_flags=0, ss_size=32768}, NULL) = 0 rt_sigaction(SIGHUP, {sa_handler=0x717bb8126ed0, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x717bb3842990}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGINT, {sa_handler=0x717bb8126ed0, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x717bb3842990}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGQUIT, {sa_handler=0x717bb8126ed0, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x717bb3842990}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGABRT, {sa_handler=0x717bb8126ed0, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x717bb3842990}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGILL, {sa_handler=0x717bb8126ed0, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x717bb3842990}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGBUS, {sa_handler=0x717bb8126ed0, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x717bb3842990}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGFPE, {sa_handler=0x717bb8126ed0, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x717bb3842990}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGSEGV, {sa_handler=0x717bb8126ed0, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x717bb3842990}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGPIPE, {sa_handler=0x717bb8126ed0, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x717bb3842990}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGTERM, {sa_handler=0x717bb8126ed0, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x717bb3842990}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 QDEBUG : tst_QMediaPlayerBackend::initTestCase() "qrc:/testdata/busAv1.webm" rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 ^Cstrace: Process 14472 detached Received signal 2 (SIGINT) sent by PID 3 UID 0 initTestCase function time: 2798ms, total time: 2798ms Received signal 2 (SIGINT) sent by PID 3 UID 0 initTestCase function time: 2798ms, total time: 2798ms Received signal 2 (SIGINT) sent by PID 3 UID 0 initTestCase function time: 2798ms, total time: 2798ms Received signal 2 (SIGINT) sent by PID 3 UID 0 initTestCase function time: 2798ms, total time: 2798ms Received signal 2 (SIGINT) sent by PID 3 UID 0 initTestCase function time: 2798ms, total time: 2798ms
with -nocrashhandler, the strace looks like:
➜ build-qt6-dev-clang_17_qt_dev-Debug2 QT_MEDIA_BACKEND=gstreamer strace -e trace=signal /home/tim/build/build-qt6-dev-clang_17_qt_dev-Debug2/qtmultimedia/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend -nocrashhandler rt_sigaction(SIGRT_1, {sa_handler=0x72169b6948a0, sa_mask=[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x72169b642990}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 ********* Start testing of tst_QMediaPlayerBackend ********* Config: Using QtTest library 6.8.0, Qt 6.8.0 (x86_64-little_endian-lp64 shared (dynamic) debug build; by Ubuntu Clang 17.0.6 (++20240124120726+6009708b4367-1~exp1~20240124120743.47)), ubuntu 23.10 rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 QDEBUG : tst_QMediaPlayerBackend::initTestCase() "qrc:/testdata/busAv1.webm" rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 ^Cstrace: Process 14452 detached
Attachments
Issue Links
- links to