Dave Malcolm added the comment: Looking at test_gdb.out, the issue is that the threads waiting for the GIL have e.g. this at the top of their backtrace:
Thread 2 (Thread 0x3fffb14af200 (LWP 37119)): #0 0x0000008075181ea8 in __pthread_cond_timedwait (cond=0x103ea140 <gil_cond>, mutex=0x103ea170 <gil_mutex>, abstime=0x3fffb14abf68) at pthread_cond_timedwait.c:167 #1 0x00000000100f59f8 in PyCOND_TIMEDWAIT (cond=0x103ea140 <gil_cond>, mut=0x103ea170 <gil_mutex>, us=5000) at /home/dje/src/cpython/Python/condvar.h:103 #2 0x00000000100f5ffc in take_gil (tstate=0x1043b020) at /home/dje/src/cpython/Python/ceval_gil.h:224 i.e. the topmost frame has name "__pthread_cond_timedwait" (two leading underscores. However, the gdb hooks (in Tools/gdb/libpython.py) have: def is_waiting_for_gil(self): '''Is this frame waiting on the GIL?''' # This assumes the _POSIX_THREADS version of Python/ceval_gil.h: name = self._gdbframe.name() if name: return name.startswith('pthread_cond_timedwait') i.e. no underscores, hence that name.startswith conditional doesn't match. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue17833> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com