[Konsole-devel] [konsole] [Bug 343803] Konsole keeps running in background after closing window with nvidia drivers

Jonathan Ringstad via KDE Bugzilla bugzilla_noreply at kde.org
Sat Jan 9 14:35:03 UTC 2016


https://bugs.kde.org/show_bug.cgi?id=343803

--- Comment #41 from Jonathan Ringstad <jwringstad at gmail.com> ---
I had a look and found a bit of additional information:

- The hang occurs when the libc exit handler cleans up the shared libraries of
the program, so when the process starts to hang, no actual konsole code is
running anymore. So that seems to make it very unlikely that the fault is with
konsole
- the hang occurs inside _nv014tls in /usr/lib/libnvidia-tls.so.358.16 (nvidias
thread-local storage library used by GL, GLX et al), where the function falls
into an infinite loop. Injecting a debugger and forcing it to return, results
in konsole exiting normally.
- The libc exit handler calls /usr/lib/libGL.so.1's .fini section (I think)
which calls the problematic _nv014tls from the libnvidia-tls.so.
- libGL gets loaded because konsole (well, Qt, I think -- konsole does not
touch GLX directly) wants to do glX* calls such as glXChooseFBConfig,
glXGetFBConfigAttrib, glXGetVisualFromFBConfig. no GLX context is ever
initialized or destroyed from what I can tell, however (which is a bit strange,
but I think should be perfectly legal to do. All the functions that are called
do not require a GLX context to be present, from what I can tell.)
- Re-running the exact same sequence of GLX functions in a different process
does not lead to such a hang. Traceback: http://dpaste.com/0RWSDK7 I re-ran the
traceback a few thousand times without a hang. So there's probably at least one
more ingredient necessary to make the hang happen.

That's about as far as I got. As a workaround it might be possible to make Qt
not interact with GLX (if that's possible), since it's not used anyway. It
seems pretty likely to me at this point that the bug is in the nvidia client
driver, but I suppose there is still a chance the bug is in Qt. I think the bug
is definitely not in konsole.

I didn't manage to produce a minimal test-case, unfortunately. To get there, it
might be useful to check if konsole loads any other nvidia client drivers, and
if yes, how it interacts with them.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the konsole-devel mailing list