Activity log for bug #2000409

Date Who What changed Old value New value Message
2022-12-23 20:37:47 xtknight bug added bug
2022-12-23 20:37:47 xtknight attachment added ensure XInitThreads gets called early. reverts totem commits 2610b4536f73493587e4a5a38e01c9961fcabb96 and 140d9eea70c3101ef3234abb4de5974cb84b13db https://bugs.launchpad.net/bugs/2000409/+attachment/5637531/+files/ensure-XInitThreads-is-called-early-enough.patch
2022-12-23 20:41:00 xtknight description Distributor ID: Ubuntu Description: Ubuntu 22.10 Release: 22.10 Codename: kinetic totem 43.0-2ubuntu1 Totem crashes (most of the time) when opening a video file. When it does crash, it crashes before playing the video at all. It doesn't crash often when being run under gdb, profilers, or other utilities that may slow down execution. That indicated it may be a threading issue or race condition, and after digging deeper the issue is evident from the assert message. [xcb] Unknown sequence number while processing queue [xcb] Most likely this is a multi-threaded client and XInitThreads has not been called [xcb] Aborting, sorry about that. A similar issue happened in SDL, where XInitThreads was *supposed* to be called but wasn't called early enough, specifically by the NVIDIA libGL implementation (525.60.11-0ubuntu0.22.10.1) which I also happen to be using. https://github.com/libsdl-org/SDL-1.2/issues/753 (Attempted to use apport to report this, but for some reason it doesn't want to upload or show me the report. I've included the gdb stack trace here.) andy@andy-i9:/var/crash$ gdb totem totem/CoreDump GNU gdb (Ubuntu 12.1-3ubuntu2) 12.1 Copyright (C) 2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <https://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from totem... This GDB supports auto-downloading debuginfo from the following URLs: https://debuginfod.ubuntu.com Enable debuginfod for this session? (y or [n]) y Debuginfod has been enabled. To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit. Reading symbols from /home/andy/.cache/debuginfod_client/c3e79ca1f76831bf9e6750481740ad73e5fce85d/debuginfo... warning: Can't open file /memfd:/.glXXXXXX (deleted) during file-backed mapping note processing warning: Can't open file /run/user/1000/orcexec.iAL97R (deleted) during file-backed mapping note processing warning: Can't open file /memfd:pulseaudio (deleted) during file-backed mapping note processing warning: Can't open file /memfd:/.nvidia_drv.XXXXXX (deleted) during file-backed mapping note processing warning: Can't open file /home/andy/.local/share/gvfs-metadata/root-636ea0d4.log during file-backed mapping note processing warning: Can't open file /SYSV00000000 (deleted) during file-backed mapping note processing [New LWP 747582] [New LWP 747566] [New LWP 747568] [New LWP 747567] [New LWP 747570] [New LWP 747572] [New LWP 747583] [New LWP 747586] [New LWP 747578] [New LWP 747589] [New LWP 747588] [New LWP 747590] [New LWP 747584] [New LWP 747593] [New LWP 747587] [New LWP 747601] [New LWP 747581] [New LWP 747597] [New LWP 747606] [New LWP 747603] [New LWP 747579] [New LWP 747598] [New LWP 747592] [New LWP 747591] [New LWP 747599] [New LWP 747594] [New LWP 747596] [New LWP 747605] [New LWP 747595] [New LWP 747602] [New LWP 747585] [New LWP 747569] [New LWP 747600] [New LWP 747604] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". --Type <RET> for more, q to quit, c to continue without paging-- Core was generated by `totem C0109.MP4'. Program terminated with signal SIGABRT, Aborted. #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44 Download failed: Invalid argument. Continuing without source file ./nptl/./nptl/pthread_kill.c. 44 ./nptl/pthread_kill.c: No such file or directory. [Current thread is 1 (Thread 0x7fde2beff6c0 (LWP 747582))] (gdb) bt #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44 #1 __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78 #2 __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #3 0x00007fde5e83bc46 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #4 0x00007fde5e8227fc in __GI_abort () at ./stdlib/abort.c:79 #5 0x00007fde5e82271b in __assert_fail_base (fmt=0x7fde5e9bac30 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7fde5df7ba67 "!xcb_xlib_unknown_req_in_deq", file=0x7fde5df7ba14 "../../src/xcb_io.c", line=175, function=<optimized out>) at ./assert/assert.c:92 #6 0x00007fde5e833596 in __GI___assert_fail (assertion=assertion@entry=0x7fde5df7ba67 "!xcb_xlib_unknown_req_in_deq", file=file@entry=0x7fde5df7ba14 "../../src/xcb_io.c", line=line@entry=175, function=function@entry=0x7fde5df7c410 <__PRETTY_FUNCTION__.6> "dequeue_pending_request") at ./assert/assert.c:101 #7 0x00007fde5df04dea in dequeue_pending_request (dpy=dpy@entry=0x556f5fdc57d0, req=req@entry=0x556f613b9970) at ../../src/xcb_io.c:175 #8 0x00007fde5df0d0f3 in _XReply (dpy=0x556f5fdc57d0, rep=0x7fde2befc680, extra=0, discard=0) at ../../src/xcb_io.c:736 #9 0x00007fde3bce05e8 in () at /lib/x86_64-linux-gnu/libGLX_nvidia.so.0 #10 0x00007fde3bc92f8a in () at /lib/x86_64-linux-gnu/libGLX_nvidia.so.0 #11 0x00007fde3bcde831 in () at /lib/x86_64-linux-gnu/libGLX_nvidia.so.0 #12 0x00007fde3bcdec30 in () at /lib/x86_64-linux-gnu/libGLX_nvidia.so.0 #13 0x00007fde3a05008b in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #14 0x00007fde3a05209f in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #15 0x00007fde3a145a0a in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #16 0x00007fde3a0fe5f3 in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #17 0x00007fde3a0d674a in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #18 0x00007fde3a132f0a in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #19 0x00007fde3a13c910 in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #20 0x00007fde3a0aadca in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #21 0x00007fde39d4d468 in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #22 0x00007fde39dc3b25 in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #23 0x00007fde3a0f95ce in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #24 0x00007fde39d3dfcd in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #25 0x00007fde39d3e154 in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #26 0x00007fde58114931 in _attach_renderbuffer (rb=0x7fde248be210 [None], attachment_point=33306, fb=0x7fddf8067460) at ../gst-libs/gst/gl/gstglframebuffer.c:448 #27 gst_gl_framebuffer_attach (fb=fb@entry=0x7fddf8067460, attachment_point=attachment_point@entry=33306, mem=mem@entry=0x7fde248be210 [None]) at ../gst-libs/gst/gl/gstglframebuffer.c:493 #28 0x00007fde58114b7a in gst_gl_framebuffer_new_with_default_depth (context=<optimized out>, width=<optimized out>, height=1080) at ../gst-libs/gst/gl/gstglframebuffer.c:254 #29 0x00007fde58103774 in _init_convert_fbo (convert=0x556f5fe2ac90) at ../gst-libs/gst/gl/gstglcolorconvert.c:2683 #30 _init_convert (convert=<optimized out>) at ../gst-libs/gst/gl/gstglcolorconvert.c:2620 #31 _do_convert (context=0x556f6030e210, convert=<optimized out>) at ../gst-libs/gst/gl/gstglcolorconvert.c:2923 #32 0x00007fde58126ae7 in _run_message_sync (message=0x7fddafffdd50) at ../gst-libs/gst/gl/gstglwindow.c:635 #33 0x00007fde58126aa6 in _run_message_async (message=0x556f5ff76f80) at ../gst-libs/gst/gl/gstglwindow.c:702 #34 0x00007fde5f5e73cf in g_main_dispatch (context=0x556f60bc4f50) at ../../../glib/gmain.c:3444 #35 g_main_context_dispatch (context=0x556f60bc4f50) at ../../../glib/gmain.c:4162 #36 0x00007fde5f63c228 in g_main_context_iterate.constprop.0 (context=0x556f60bc4f50, block=<optimized out>, dispatch=1, self=<optimized out>) at ../../../glib/gmain.c:4238 #37 0x00007fde5f5e6a7f in g_main_loop_run (loop=0x556f60bc5070) at ../../../glib/gmain.c:4438 #38 0x00007fde5810bd8c in gst_gl_context_create_thread (context=0x556f6030e210) at ../gst-libs/gst/gl/gstglcontext.c:1392 #39 0x00007fde5f616371 in g_thread_proxy (data=0x556f610bd5e0) at ../../../glib/gthread.c:831 #40 0x00007fde5e890402 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #41 0x00007fde5e91f590 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 * The commits that cause the problem are: commit 140d9eea70c3101ef3234abb4de5974cb84b13db Author: Bastien Nocera <hadess@hadess.net> Date: Wed May 4 11:38:02 2022 +0200 main: Rely on libX11 initialising threads commit 2610b4536f73493587e4a5a38e01c9961fcabb96 Author: Bastien Nocera <hadess@hadess.net> Date: Wed May 4 11:37:37 2022 +0200 backend: Rely on libX11 initialising threads Although they were definitely made with good intention, unfortunately they don't play well with the current state of NVIDIA libGL and cause an immediate crash. For now, I've settled on calling XInitThreads in totem again. But it would be better to solve the race condition that calls XInitThreads to be called too late. It seems like this would be happening for anyone using the NVIDIA proprietary driver, but I am not certain on what exact conditions cause this. Distributor ID: Ubuntu Description: Ubuntu 22.10 Release: 22.10 Codename: kinetic totem 43.0-2ubuntu1 proprietary nvidia-driver-525 525.60.11-0ubuntu0.22.10.1 Totem crashes (most of the time) when opening a video file. When it does crash, it crashes before playing the video at all. It doesn't crash often when being run under gdb, profilers, or other utilities that may slow down execution. That indicated it may be a threading issue or race condition, and after digging deeper the issue is evident from the assert message.   [xcb] Unknown sequence number while processing queue   [xcb] Most likely this is a multi-threaded client and XInitThreads has not been called   [xcb] Aborting, sorry about that. A similar issue happened in SDL, where XInitThreads was *supposed* to be called but wasn't called early enough, specifically by the NVIDIA libGL implementation which I also happen to be using.   https://github.com/libsdl-org/SDL-1.2/issues/753 (Attempted to use apport to report this, but for some reason it doesn't want to upload or show me the report. I've included the gdb stack trace here.) andy@andy-i9:/var/crash$ gdb totem totem/CoreDump GNU gdb (Ubuntu 12.1-3ubuntu2) 12.1 Copyright (C) 2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <https://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at:     <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from totem... This GDB supports auto-downloading debuginfo from the following URLs: https://debuginfod.ubuntu.com Enable debuginfod for this session? (y or [n]) y Debuginfod has been enabled. To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit. Reading symbols from /home/andy/.cache/debuginfod_client/c3e79ca1f76831bf9e6750481740ad73e5fce85d/debuginfo... warning: Can't open file /memfd:/.glXXXXXX (deleted) during file-backed mapping note processing warning: Can't open file /run/user/1000/orcexec.iAL97R (deleted) during file-backed mapping note processing warning: Can't open file /memfd:pulseaudio (deleted) during file-backed mapping note processing warning: Can't open file /memfd:/.nvidia_drv.XXXXXX (deleted) during file-backed mapping note processing warning: Can't open file /home/andy/.local/share/gvfs-metadata/root-636ea0d4.log during file-backed mapping note processing warning: Can't open file /SYSV00000000 (deleted) during file-backed mapping note processing [New LWP 747582] [New LWP 747566] [New LWP 747568] [New LWP 747567] [New LWP 747570] [New LWP 747572] [New LWP 747583] [New LWP 747586] [New LWP 747578] [New LWP 747589] [New LWP 747588] [New LWP 747590] [New LWP 747584] [New LWP 747593] [New LWP 747587] [New LWP 747601] [New LWP 747581] [New LWP 747597] [New LWP 747606] [New LWP 747603] [New LWP 747579] [New LWP 747598] [New LWP 747592] [New LWP 747591] [New LWP 747599] [New LWP 747594] [New LWP 747596] [New LWP 747605] [New LWP 747595] [New LWP 747602] [New LWP 747585] [New LWP 747569] [New LWP 747600] [New LWP 747604] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". --Type <RET> for more, q to quit, c to continue without paging-- Core was generated by `totem C0109.MP4'. Program terminated with signal SIGABRT, Aborted. #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44 Download failed: Invalid argument. Continuing without source file ./nptl/./nptl/pthread_kill.c. 44 ./nptl/pthread_kill.c: No such file or directory. [Current thread is 1 (Thread 0x7fde2beff6c0 (LWP 747582))] (gdb) bt #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44 #1 __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78 #2 __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #3 0x00007fde5e83bc46 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #4 0x00007fde5e8227fc in __GI_abort () at ./stdlib/abort.c:79 #5 0x00007fde5e82271b in __assert_fail_base     (fmt=0x7fde5e9bac30 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7fde5df7ba67 "!xcb_xlib_unknown_req_in_deq", file=0x7fde5df7ba14 "../../src/xcb_io.c", line=175, function=<optimized out>)     at ./assert/assert.c:92 #6 0x00007fde5e833596 in __GI___assert_fail     (assertion=assertion@entry=0x7fde5df7ba67 "!xcb_xlib_unknown_req_in_deq", file=file@entry=0x7fde5df7ba14 "../../src/xcb_io.c", line=line@entry=175, function=function@entry=0x7fde5df7c410 <__PRETTY_FUNCTION__.6> "dequeue_pending_request") at ./assert/assert.c:101 #7 0x00007fde5df04dea in dequeue_pending_request (dpy=dpy@entry=0x556f5fdc57d0, req=req@entry=0x556f613b9970) at ../../src/xcb_io.c:175 #8 0x00007fde5df0d0f3 in _XReply (dpy=0x556f5fdc57d0, rep=0x7fde2befc680, extra=0, discard=0) at ../../src/xcb_io.c:736 #9 0x00007fde3bce05e8 in () at /lib/x86_64-linux-gnu/libGLX_nvidia.so.0 #10 0x00007fde3bc92f8a in () at /lib/x86_64-linux-gnu/libGLX_nvidia.so.0 #11 0x00007fde3bcde831 in () at /lib/x86_64-linux-gnu/libGLX_nvidia.so.0 #12 0x00007fde3bcdec30 in () at /lib/x86_64-linux-gnu/libGLX_nvidia.so.0 #13 0x00007fde3a05008b in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #14 0x00007fde3a05209f in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #15 0x00007fde3a145a0a in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #16 0x00007fde3a0fe5f3 in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #17 0x00007fde3a0d674a in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #18 0x00007fde3a132f0a in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #19 0x00007fde3a13c910 in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #20 0x00007fde3a0aadca in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #21 0x00007fde39d4d468 in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #22 0x00007fde39dc3b25 in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #23 0x00007fde3a0f95ce in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #24 0x00007fde39d3dfcd in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #25 0x00007fde39d3e154 in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #26 0x00007fde58114931 in _attach_renderbuffer (rb=0x7fde248be210 [None], attachment_point=33306, fb=0x7fddf8067460) at ../gst-libs/gst/gl/gstglframebuffer.c:448 #27 gst_gl_framebuffer_attach (fb=fb@entry=0x7fddf8067460, attachment_point=attachment_point@entry=33306, mem=mem@entry=0x7fde248be210 [None]) at ../gst-libs/gst/gl/gstglframebuffer.c:493 #28 0x00007fde58114b7a in gst_gl_framebuffer_new_with_default_depth (context=<optimized out>, width=<optimized out>, height=1080) at ../gst-libs/gst/gl/gstglframebuffer.c:254 #29 0x00007fde58103774 in _init_convert_fbo (convert=0x556f5fe2ac90) at ../gst-libs/gst/gl/gstglcolorconvert.c:2683 #30 _init_convert (convert=<optimized out>) at ../gst-libs/gst/gl/gstglcolorconvert.c:2620 #31 _do_convert (context=0x556f6030e210, convert=<optimized out>) at ../gst-libs/gst/gl/gstglcolorconvert.c:2923 #32 0x00007fde58126ae7 in _run_message_sync (message=0x7fddafffdd50) at ../gst-libs/gst/gl/gstglwindow.c:635 #33 0x00007fde58126aa6 in _run_message_async (message=0x556f5ff76f80) at ../gst-libs/gst/gl/gstglwindow.c:702 #34 0x00007fde5f5e73cf in g_main_dispatch (context=0x556f60bc4f50) at ../../../glib/gmain.c:3444 #35 g_main_context_dispatch (context=0x556f60bc4f50) at ../../../glib/gmain.c:4162 #36 0x00007fde5f63c228 in g_main_context_iterate.constprop.0 (context=0x556f60bc4f50, block=<optimized out>, dispatch=1, self=<optimized out>) at ../../../glib/gmain.c:4238 #37 0x00007fde5f5e6a7f in g_main_loop_run (loop=0x556f60bc5070) at ../../../glib/gmain.c:4438 #38 0x00007fde5810bd8c in gst_gl_context_create_thread (context=0x556f6030e210) at ../gst-libs/gst/gl/gstglcontext.c:1392 #39 0x00007fde5f616371 in g_thread_proxy (data=0x556f610bd5e0) at ../../../glib/gthread.c:831 #40 0x00007fde5e890402 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #41 0x00007fde5e91f590 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 * The commits that cause the problem are: commit 140d9eea70c3101ef3234abb4de5974cb84b13db Author: Bastien Nocera <hadess@hadess.net> Date: Wed May 4 11:38:02 2022 +0200     main: Rely on libX11 initialising threads commit 2610b4536f73493587e4a5a38e01c9961fcabb96 Author: Bastien Nocera <hadess@hadess.net> Date: Wed May 4 11:37:37 2022 +0200     backend: Rely on libX11 initialising threads Although they were definitely made with good intention, unfortunately they don't play well with the current state of NVIDIA libGL and cause an immediate crash. For now, I've settled on calling XInitThreads in totem again. But it would be better to solve the race condition that calls XInitThreads to be called too late. It seems like this would be happening for anyone using the NVIDIA proprietary driver, but I am not certain on what exact conditions cause this.
2022-12-23 20:41:44 xtknight description Distributor ID: Ubuntu Description: Ubuntu 22.10 Release: 22.10 Codename: kinetic totem 43.0-2ubuntu1 proprietary nvidia-driver-525 525.60.11-0ubuntu0.22.10.1 Totem crashes (most of the time) when opening a video file. When it does crash, it crashes before playing the video at all. It doesn't crash often when being run under gdb, profilers, or other utilities that may slow down execution. That indicated it may be a threading issue or race condition, and after digging deeper the issue is evident from the assert message.   [xcb] Unknown sequence number while processing queue   [xcb] Most likely this is a multi-threaded client and XInitThreads has not been called   [xcb] Aborting, sorry about that. A similar issue happened in SDL, where XInitThreads was *supposed* to be called but wasn't called early enough, specifically by the NVIDIA libGL implementation which I also happen to be using.   https://github.com/libsdl-org/SDL-1.2/issues/753 (Attempted to use apport to report this, but for some reason it doesn't want to upload or show me the report. I've included the gdb stack trace here.) andy@andy-i9:/var/crash$ gdb totem totem/CoreDump GNU gdb (Ubuntu 12.1-3ubuntu2) 12.1 Copyright (C) 2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <https://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at:     <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from totem... This GDB supports auto-downloading debuginfo from the following URLs: https://debuginfod.ubuntu.com Enable debuginfod for this session? (y or [n]) y Debuginfod has been enabled. To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit. Reading symbols from /home/andy/.cache/debuginfod_client/c3e79ca1f76831bf9e6750481740ad73e5fce85d/debuginfo... warning: Can't open file /memfd:/.glXXXXXX (deleted) during file-backed mapping note processing warning: Can't open file /run/user/1000/orcexec.iAL97R (deleted) during file-backed mapping note processing warning: Can't open file /memfd:pulseaudio (deleted) during file-backed mapping note processing warning: Can't open file /memfd:/.nvidia_drv.XXXXXX (deleted) during file-backed mapping note processing warning: Can't open file /home/andy/.local/share/gvfs-metadata/root-636ea0d4.log during file-backed mapping note processing warning: Can't open file /SYSV00000000 (deleted) during file-backed mapping note processing [New LWP 747582] [New LWP 747566] [New LWP 747568] [New LWP 747567] [New LWP 747570] [New LWP 747572] [New LWP 747583] [New LWP 747586] [New LWP 747578] [New LWP 747589] [New LWP 747588] [New LWP 747590] [New LWP 747584] [New LWP 747593] [New LWP 747587] [New LWP 747601] [New LWP 747581] [New LWP 747597] [New LWP 747606] [New LWP 747603] [New LWP 747579] [New LWP 747598] [New LWP 747592] [New LWP 747591] [New LWP 747599] [New LWP 747594] [New LWP 747596] [New LWP 747605] [New LWP 747595] [New LWP 747602] [New LWP 747585] [New LWP 747569] [New LWP 747600] [New LWP 747604] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". --Type <RET> for more, q to quit, c to continue without paging-- Core was generated by `totem C0109.MP4'. Program terminated with signal SIGABRT, Aborted. #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44 Download failed: Invalid argument. Continuing without source file ./nptl/./nptl/pthread_kill.c. 44 ./nptl/pthread_kill.c: No such file or directory. [Current thread is 1 (Thread 0x7fde2beff6c0 (LWP 747582))] (gdb) bt #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44 #1 __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78 #2 __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #3 0x00007fde5e83bc46 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #4 0x00007fde5e8227fc in __GI_abort () at ./stdlib/abort.c:79 #5 0x00007fde5e82271b in __assert_fail_base     (fmt=0x7fde5e9bac30 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7fde5df7ba67 "!xcb_xlib_unknown_req_in_deq", file=0x7fde5df7ba14 "../../src/xcb_io.c", line=175, function=<optimized out>)     at ./assert/assert.c:92 #6 0x00007fde5e833596 in __GI___assert_fail     (assertion=assertion@entry=0x7fde5df7ba67 "!xcb_xlib_unknown_req_in_deq", file=file@entry=0x7fde5df7ba14 "../../src/xcb_io.c", line=line@entry=175, function=function@entry=0x7fde5df7c410 <__PRETTY_FUNCTION__.6> "dequeue_pending_request") at ./assert/assert.c:101 #7 0x00007fde5df04dea in dequeue_pending_request (dpy=dpy@entry=0x556f5fdc57d0, req=req@entry=0x556f613b9970) at ../../src/xcb_io.c:175 #8 0x00007fde5df0d0f3 in _XReply (dpy=0x556f5fdc57d0, rep=0x7fde2befc680, extra=0, discard=0) at ../../src/xcb_io.c:736 #9 0x00007fde3bce05e8 in () at /lib/x86_64-linux-gnu/libGLX_nvidia.so.0 #10 0x00007fde3bc92f8a in () at /lib/x86_64-linux-gnu/libGLX_nvidia.so.0 #11 0x00007fde3bcde831 in () at /lib/x86_64-linux-gnu/libGLX_nvidia.so.0 #12 0x00007fde3bcdec30 in () at /lib/x86_64-linux-gnu/libGLX_nvidia.so.0 #13 0x00007fde3a05008b in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #14 0x00007fde3a05209f in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #15 0x00007fde3a145a0a in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #16 0x00007fde3a0fe5f3 in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #17 0x00007fde3a0d674a in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #18 0x00007fde3a132f0a in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #19 0x00007fde3a13c910 in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #20 0x00007fde3a0aadca in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #21 0x00007fde39d4d468 in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #22 0x00007fde39dc3b25 in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #23 0x00007fde3a0f95ce in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #24 0x00007fde39d3dfcd in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #25 0x00007fde39d3e154 in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #26 0x00007fde58114931 in _attach_renderbuffer (rb=0x7fde248be210 [None], attachment_point=33306, fb=0x7fddf8067460) at ../gst-libs/gst/gl/gstglframebuffer.c:448 #27 gst_gl_framebuffer_attach (fb=fb@entry=0x7fddf8067460, attachment_point=attachment_point@entry=33306, mem=mem@entry=0x7fde248be210 [None]) at ../gst-libs/gst/gl/gstglframebuffer.c:493 #28 0x00007fde58114b7a in gst_gl_framebuffer_new_with_default_depth (context=<optimized out>, width=<optimized out>, height=1080) at ../gst-libs/gst/gl/gstglframebuffer.c:254 #29 0x00007fde58103774 in _init_convert_fbo (convert=0x556f5fe2ac90) at ../gst-libs/gst/gl/gstglcolorconvert.c:2683 #30 _init_convert (convert=<optimized out>) at ../gst-libs/gst/gl/gstglcolorconvert.c:2620 #31 _do_convert (context=0x556f6030e210, convert=<optimized out>) at ../gst-libs/gst/gl/gstglcolorconvert.c:2923 #32 0x00007fde58126ae7 in _run_message_sync (message=0x7fddafffdd50) at ../gst-libs/gst/gl/gstglwindow.c:635 #33 0x00007fde58126aa6 in _run_message_async (message=0x556f5ff76f80) at ../gst-libs/gst/gl/gstglwindow.c:702 #34 0x00007fde5f5e73cf in g_main_dispatch (context=0x556f60bc4f50) at ../../../glib/gmain.c:3444 #35 g_main_context_dispatch (context=0x556f60bc4f50) at ../../../glib/gmain.c:4162 #36 0x00007fde5f63c228 in g_main_context_iterate.constprop.0 (context=0x556f60bc4f50, block=<optimized out>, dispatch=1, self=<optimized out>) at ../../../glib/gmain.c:4238 #37 0x00007fde5f5e6a7f in g_main_loop_run (loop=0x556f60bc5070) at ../../../glib/gmain.c:4438 #38 0x00007fde5810bd8c in gst_gl_context_create_thread (context=0x556f6030e210) at ../gst-libs/gst/gl/gstglcontext.c:1392 #39 0x00007fde5f616371 in g_thread_proxy (data=0x556f610bd5e0) at ../../../glib/gthread.c:831 #40 0x00007fde5e890402 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #41 0x00007fde5e91f590 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 * The commits that cause the problem are: commit 140d9eea70c3101ef3234abb4de5974cb84b13db Author: Bastien Nocera <hadess@hadess.net> Date: Wed May 4 11:38:02 2022 +0200     main: Rely on libX11 initialising threads commit 2610b4536f73493587e4a5a38e01c9961fcabb96 Author: Bastien Nocera <hadess@hadess.net> Date: Wed May 4 11:37:37 2022 +0200     backend: Rely on libX11 initialising threads Although they were definitely made with good intention, unfortunately they don't play well with the current state of NVIDIA libGL and cause an immediate crash. For now, I've settled on calling XInitThreads in totem again. But it would be better to solve the race condition that calls XInitThreads to be called too late. It seems like this would be happening for anyone using the NVIDIA proprietary driver, but I am not certain on what exact conditions cause this. Distributor ID: Ubuntu Description: Ubuntu 22.10 Release: 22.10 Codename: kinetic totem 43.0-2ubuntu1 proprietary nvidia-driver-525 525.60.11-0ubuntu0.22.10.1 libx11-6 2:1.8.1-2 Totem crashes (most of the time) when opening a video file. When it does crash, it crashes before playing the video at all. It doesn't crash often when being run under gdb, profilers, or other utilities that may slow down execution. That indicated it may be a threading issue or race condition, and after digging deeper the issue is evident from the assert message.   [xcb] Unknown sequence number while processing queue   [xcb] Most likely this is a multi-threaded client and XInitThreads has not been called   [xcb] Aborting, sorry about that. A similar issue happened in SDL, where XInitThreads was *supposed* to be called but wasn't called early enough, specifically by the NVIDIA libGL implementation which I also happen to be using.   https://github.com/libsdl-org/SDL-1.2/issues/753 (Attempted to use apport to report this, but for some reason it doesn't want to upload or show me the report. I've included the gdb stack trace here.) andy@andy-i9:/var/crash$ gdb totem totem/CoreDump GNU gdb (Ubuntu 12.1-3ubuntu2) 12.1 Copyright (C) 2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <https://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at:     <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from totem... This GDB supports auto-downloading debuginfo from the following URLs: https://debuginfod.ubuntu.com Enable debuginfod for this session? (y or [n]) y Debuginfod has been enabled. To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit. Reading symbols from /home/andy/.cache/debuginfod_client/c3e79ca1f76831bf9e6750481740ad73e5fce85d/debuginfo... warning: Can't open file /memfd:/.glXXXXXX (deleted) during file-backed mapping note processing warning: Can't open file /run/user/1000/orcexec.iAL97R (deleted) during file-backed mapping note processing warning: Can't open file /memfd:pulseaudio (deleted) during file-backed mapping note processing warning: Can't open file /memfd:/.nvidia_drv.XXXXXX (deleted) during file-backed mapping note processing warning: Can't open file /home/andy/.local/share/gvfs-metadata/root-636ea0d4.log during file-backed mapping note processing warning: Can't open file /SYSV00000000 (deleted) during file-backed mapping note processing [New LWP 747582] [New LWP 747566] [New LWP 747568] [New LWP 747567] [New LWP 747570] [New LWP 747572] [New LWP 747583] [New LWP 747586] [New LWP 747578] [New LWP 747589] [New LWP 747588] [New LWP 747590] [New LWP 747584] [New LWP 747593] [New LWP 747587] [New LWP 747601] [New LWP 747581] [New LWP 747597] [New LWP 747606] [New LWP 747603] [New LWP 747579] [New LWP 747598] [New LWP 747592] [New LWP 747591] [New LWP 747599] [New LWP 747594] [New LWP 747596] [New LWP 747605] [New LWP 747595] [New LWP 747602] [New LWP 747585] [New LWP 747569] [New LWP 747600] [New LWP 747604] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". --Type <RET> for more, q to quit, c to continue without paging-- Core was generated by `totem C0109.MP4'. Program terminated with signal SIGABRT, Aborted. #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44 Download failed: Invalid argument. Continuing without source file ./nptl/./nptl/pthread_kill.c. 44 ./nptl/pthread_kill.c: No such file or directory. [Current thread is 1 (Thread 0x7fde2beff6c0 (LWP 747582))] (gdb) bt #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44 #1 __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78 #2 __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #3 0x00007fde5e83bc46 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #4 0x00007fde5e8227fc in __GI_abort () at ./stdlib/abort.c:79 #5 0x00007fde5e82271b in __assert_fail_base     (fmt=0x7fde5e9bac30 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7fde5df7ba67 "!xcb_xlib_unknown_req_in_deq", file=0x7fde5df7ba14 "../../src/xcb_io.c", line=175, function=<optimized out>)     at ./assert/assert.c:92 #6 0x00007fde5e833596 in __GI___assert_fail     (assertion=assertion@entry=0x7fde5df7ba67 "!xcb_xlib_unknown_req_in_deq", file=file@entry=0x7fde5df7ba14 "../../src/xcb_io.c", line=line@entry=175, function=function@entry=0x7fde5df7c410 <__PRETTY_FUNCTION__.6> "dequeue_pending_request") at ./assert/assert.c:101 #7 0x00007fde5df04dea in dequeue_pending_request (dpy=dpy@entry=0x556f5fdc57d0, req=req@entry=0x556f613b9970) at ../../src/xcb_io.c:175 #8 0x00007fde5df0d0f3 in _XReply (dpy=0x556f5fdc57d0, rep=0x7fde2befc680, extra=0, discard=0) at ../../src/xcb_io.c:736 #9 0x00007fde3bce05e8 in () at /lib/x86_64-linux-gnu/libGLX_nvidia.so.0 #10 0x00007fde3bc92f8a in () at /lib/x86_64-linux-gnu/libGLX_nvidia.so.0 #11 0x00007fde3bcde831 in () at /lib/x86_64-linux-gnu/libGLX_nvidia.so.0 #12 0x00007fde3bcdec30 in () at /lib/x86_64-linux-gnu/libGLX_nvidia.so.0 #13 0x00007fde3a05008b in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #14 0x00007fde3a05209f in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #15 0x00007fde3a145a0a in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #16 0x00007fde3a0fe5f3 in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #17 0x00007fde3a0d674a in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #18 0x00007fde3a132f0a in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #19 0x00007fde3a13c910 in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #20 0x00007fde3a0aadca in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #21 0x00007fde39d4d468 in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #22 0x00007fde39dc3b25 in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #23 0x00007fde3a0f95ce in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #24 0x00007fde39d3dfcd in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #25 0x00007fde39d3e154 in () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.525.60.11 #26 0x00007fde58114931 in _attach_renderbuffer (rb=0x7fde248be210 [None], attachment_point=33306, fb=0x7fddf8067460) at ../gst-libs/gst/gl/gstglframebuffer.c:448 #27 gst_gl_framebuffer_attach (fb=fb@entry=0x7fddf8067460, attachment_point=attachment_point@entry=33306, mem=mem@entry=0x7fde248be210 [None]) at ../gst-libs/gst/gl/gstglframebuffer.c:493 #28 0x00007fde58114b7a in gst_gl_framebuffer_new_with_default_depth (context=<optimized out>, width=<optimized out>, height=1080) at ../gst-libs/gst/gl/gstglframebuffer.c:254 #29 0x00007fde58103774 in _init_convert_fbo (convert=0x556f5fe2ac90) at ../gst-libs/gst/gl/gstglcolorconvert.c:2683 #30 _init_convert (convert=<optimized out>) at ../gst-libs/gst/gl/gstglcolorconvert.c:2620 #31 _do_convert (context=0x556f6030e210, convert=<optimized out>) at ../gst-libs/gst/gl/gstglcolorconvert.c:2923 #32 0x00007fde58126ae7 in _run_message_sync (message=0x7fddafffdd50) at ../gst-libs/gst/gl/gstglwindow.c:635 #33 0x00007fde58126aa6 in _run_message_async (message=0x556f5ff76f80) at ../gst-libs/gst/gl/gstglwindow.c:702 #34 0x00007fde5f5e73cf in g_main_dispatch (context=0x556f60bc4f50) at ../../../glib/gmain.c:3444 #35 g_main_context_dispatch (context=0x556f60bc4f50) at ../../../glib/gmain.c:4162 #36 0x00007fde5f63c228 in g_main_context_iterate.constprop.0 (context=0x556f60bc4f50, block=<optimized out>, dispatch=1, self=<optimized out>) at ../../../glib/gmain.c:4238 #37 0x00007fde5f5e6a7f in g_main_loop_run (loop=0x556f60bc5070) at ../../../glib/gmain.c:4438 #38 0x00007fde5810bd8c in gst_gl_context_create_thread (context=0x556f6030e210) at ../gst-libs/gst/gl/gstglcontext.c:1392 #39 0x00007fde5f616371 in g_thread_proxy (data=0x556f610bd5e0) at ../../../glib/gthread.c:831 #40 0x00007fde5e890402 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #41 0x00007fde5e91f590 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 * The commits that cause the problem are: commit 140d9eea70c3101ef3234abb4de5974cb84b13db Author: Bastien Nocera <hadess@hadess.net> Date: Wed May 4 11:38:02 2022 +0200     main: Rely on libX11 initialising threads commit 2610b4536f73493587e4a5a38e01c9961fcabb96 Author: Bastien Nocera <hadess@hadess.net> Date: Wed May 4 11:37:37 2022 +0200     backend: Rely on libX11 initialising threads Although they were definitely made with good intention, unfortunately they don't play well with the current state of NVIDIA libGL and cause an immediate crash. For now, I've settled on calling XInitThreads in totem again. But it would be better to solve the race condition that calls XInitThreads to be called too late. It seems like this would be happening for anyone using the NVIDIA proprietary driver, but I am not certain on what exact conditions cause this.
2022-12-23 20:57:43 xtknight bug watch added https://gitlab.gnome.org/GNOME/totem/-/issues/564
2022-12-23 20:57:43 xtknight bug task added totem
2022-12-23 21:38:51 Bug Watch Updater totem: status Unknown New
2022-12-24 00:23:40 Ubuntu Foundations Team Bug Bot tags xinitthreads patch xinitthreads
2022-12-24 00:23:48 Ubuntu Foundations Team Bug Bot bug added subscriber Ubuntu Review Team
2023-01-04 08:31:53 Daniel van Vugt totem (Ubuntu): assignee xtknight (xt-knight)
2023-01-04 08:31:55 Daniel van Vugt totem (Ubuntu): importance Undecided High
2023-01-04 08:31:58 Daniel van Vugt totem (Ubuntu): status New In Progress
2023-01-04 08:32:01 Daniel van Vugt bug added subscriber Daniel van Vugt
2023-01-04 08:32:54 Daniel van Vugt tags patch xinitthreads kinetic patch regression-release rls-kk-incoming xinitthreads
2023-03-07 09:24:17 Daniel van Vugt tags kinetic patch regression-release rls-kk-incoming xinitthreads kinetic nvidia patch regression-release rls-kk-incoming xinitthreads
2023-03-07 09:24:26 Daniel van Vugt summary totem crashes on startup (assert !xcb_xlib_unknown_req_in_deq) in _XReply because XInitThreads is not called early enough by libx11 (patch included) [nvidia] totem crashes on startup (assert !xcb_xlib_unknown_req_in_deq) in _XReply because XInitThreads is not called early enough by libx11 (patch included)