Argh, sorry, I think I may have spoken too soon: The deadsnakes PPA does not 
contain Python 3.10 for Ubuntu 22.04 and I'm not really prepared to compile 
from source.

Would it help you, mod_wsgi or someone else if I pursued installing the latest 
Python 3.10 point release for further testing?

Otherwise, now that the reason for the problem is clear, I consider to just use 
the `WSGIApplicationGroup %{GLOBAL}` or switch to another database in order to 
evade the issue.

Best regards,
Carsten


Am 08.02.23 um 21:53 schrieb Carsten Fuchs:
> Many thanks for your help and the detailed information!
> My Python version is 3.10.6.
> I'll try to switch to the latest point release next, but it will a couple of 
> days before I can do it. Will let you know the results as soon as I got it 
> done.
> 
> Best regards,
> Carsten
> 
> 
> 
> Am 08.02.23 um 21:28 schrieb Graham Dumpleton:
>> Possibly related issues:
>>
>> https://bugs.archlinux.org/task/72979 
>> <https://bugs.archlinux.org/task/72979> 
>> https://bugs.python.org/issue46006 <https://bugs.python.org/issue46006>
>>
>> There are possibly some known issues with sub interpreters in code used by 
>> sqlite module there.
>>
>> What exact version of Python 3.10 as you using? Can you update to latest 
>> patch revision of it?
>>
>> Graham
>>
>>> On 9 Feb 2023, at 7:22 am, Graham Dumpleton <graham.dumple...@gmail.com> 
>>> wrote:
>>>
>>> More specifically, if you look at the stack trace you see:
>>>
>>> #6  0x00007f68aefe6292 in PyEval_RestoreThread () from 
>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>> #7  0x00007f68af02f1dc in PyGILState_Ensure () from 
>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>> #8  0x00007f68ac30d6e3 in ?? () from 
>>> target:/usr/lib/python3.10/lib-dynload/_sqlite3.cpython-310-x86_64-linux-gnu.so
>>> #9  0x00007f68a750b01a in sqlite3LeaveMutexAndCloseZombie () from 
>>> target:/lib/x86_64-linux-gnu/libsqlite3.so.0
>>>
>>> Note how that function ends up calling PyGILState_Ensure(). That is a big 
>>> no no when working with Python sub interpreters.
>>>
>>> In other words, it uses the simplified GIL state API for some callback into 
>>> Python from C code of SQLite and using that  when in a sub interpreter can 
>>> cause deadlocks.
>>>
>>> Application Issues — mod_wsgi 4.9.4 documentation 
>>> <https://modwsgi.readthedocs.io/en/master/user-guides/application-issues.html#python-simplified-gil-state-api>
>>> modwsgi.readthedocs.io 
>>> <https://modwsgi.readthedocs.io/en/master/user-guides/application-issues.html#python-simplified-gil-state-api>
>>>     <favicon.ico> 
>>> <https://modwsgi.readthedocs.io/en/master/user-guides/application-issues.html#python-simplified-gil-state-api>
>>>
>>> <https://modwsgi.readthedocs.io/en/master/user-guides/application-issues.html#python-simplified-gil-state-api>
>>>
>>> So need to find the code for that function in sqlite module and work out 
>>> what it does.
>>>
>>> Graham
>>>
>>>> On 9 Feb 2023, at 7:09 am, Graham Dumpleton <graham.dumple...@gmail.com> 
>>>> wrote:
>>>>
>>>> The key bit of information in that is the call to 
>>>> sqlite3LeaveMutexAndCloseZombie(). It looks like sqlite module for Python 
>>>> is doing something really strange that isn't working with sub 
>>>> interpreters. This will need some research as it may be a bug they have 
>>>> introduced in Python 3.10 for the sqlite module.
>>>>
>>>> Graham
>>>>
>>>>> On 9 Feb 2023, at 7:02 am, Carsten Fuchs <carsten.fu...@cafu.de> wrote:
>>>>>
>>>>> Ok, I got a stack trace. My understanding of this is limited, but the 
>>>>> thread seems to be stuck at polling something without timeout? (gdb 
>>>>> reports that file ../sysdeps/unix/sysv/linux/poll.c cannot be found)
>>>>>
>>>>> The full session follows. (Using plaintext email today in the hope that 
>>>>> this helps with readibility. Please let me know if I should send 
>>>>> differently instead.)
>>>>> Between the two "thread apply all bt" commands I waited about two minutes:
>>>>>
>>>>>
>>>>> $ sudo gdb /usr/sbin/apache2 60501
>>>>> GNU gdb (Ubuntu 12.1-0ubuntu1~22.04) 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 /usr/sbin/apache2...
>>>>> (No debugging symbols found in /usr/sbin/apache2)
>>>>> Attaching to program: /usr/sbin/apache2, process 60501
>>>>> [New LWP 60532]
>>>>> [New LWP 60533]
>>>>> [New LWP 60534]
>>>>> [Thread debugging using libthread_db enabled]
>>>>> Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
>>>>> 0x00007f68af72bd7f in __GI___poll (fds=0x7ffe9f0b9e90, nfds=1, 
>>>>> timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
>>>>> 29../sysdeps/unix/sysv/linux/poll.c: Datei oder Verzeichnis nicht 
>>>>> gefunden.
>>>>> (gdb) thread apply all bt
>>>>>
>>>>> Thread 4 (Thread 0x7f68ad6f9640 (LWP 60534) "apache2"):
>>>>> #0  __futex_abstimed_wait_common64 (private=-1359973880, cancel=true, 
>>>>> abstime=0x7f68ad6f7220, op=137, expected=0, futex_word=0x7f68af3b49a8 
>>>>> <_PyRuntime+424>) at ./nptl/futex-internal.c:57
>>>>> #1  __futex_abstimed_wait_common (cancel=true, private=-1359973880, 
>>>>> abstime=0x7f68ad6f7220, clockid=-1359689157, expected=0, 
>>>>> futex_word=0x7f68af3b49a8 <_PyRuntime+424>) at ./nptl/futex-internal.c:87
>>>>> #2  __GI___futex_abstimed_wait_cancelable64 
>>>>> (futex_word=futex_word@entry=0x7f68af3b49a8 <_PyRuntime+424>, 
>>>>> expected=expected@entry=0, clockid=clockid@entry=1, 
>>>>> abstime=abstime@entry=0x7f68ad6f7220, private=private@entry=0) at 
>>>>> ./nptl/futex-internal.c:139
>>>>> #3  0x00007f68af6a6f1b in __pthread_cond_wait_common 
>>>>> (abstime=0x7f68ad6f7220, clockid=1, mutex=0x7f68af3b49b0 
>>>>> <_PyRuntime+432>, cond=0x7f68af3b4980 <_PyRuntime+384>) at 
>>>>> ./nptl/pthread_cond_wait.c:503
>>>>> #4  ___pthread_cond_timedwait64 (cond=0x7f68af3b4980 <_PyRuntime+384>, 
>>>>> mutex=0x7f68af3b49b0 <_PyRuntime+432>, abstime=0x7f68ad6f7220) at 
>>>>> ./nptl/pthread_cond_wait.c:652
>>>>> #5  0x00007f68aefe5df5 in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #6  0x00007f68aefe6292 in PyEval_RestoreThread () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #7  0x00007f68af02f1dc in PyGILState_Ensure () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #8  0x00007f68ac30d6e3 in ?? () from 
>>>>> target:/usr/lib/python3.10/lib-dynload/_sqlite3.cpython-310-x86_64-linux-gnu.so
>>>>> #9  0x00007f68a750b01a in sqlite3LeaveMutexAndCloseZombie () from 
>>>>> target:/lib/x86_64-linux-gnu/libsqlite3.so.0
>>>>> #10 0x00007f68a750b2d6 in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libsqlite3.so.0
>>>>> #11 0x00007f68ac3087d6 in ?? () from 
>>>>> target:/usr/lib/python3.10/lib-dynload/_sqlite3.cpython-310-x86_64-linux-gnu.so
>>>>> #12 0x00007f68aef118ba in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #13 0x00007f68aee9aeee in _PyEval_EvalFrameDefault () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #14 0x00007f68aefe781f in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #15 0x00007f68aee9aeee in _PyEval_EvalFrameDefault () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #16 0x00007f68aefe781f in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #17 0x00007f68aee97766 in _PyEval_EvalFrameDefault () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #18 0x00007f68aefe781f in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #19 0x00007f68aee9c9b8 in _PyEval_EvalFrameDefault () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #20 0x00007f68aefe781f in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #21 0x00007f68aee97766 in _PyEval_EvalFrameDefault () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #22 0x00007f68aefe781f in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #23 0x00007f68aee9aeee in _PyEval_EvalFrameDefault () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #24 0x00007f68aefe781f in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #25 0x00007f68aee9aeee in _PyEval_EvalFrameDefault () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #26 0x00007f68aefe781f in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #27 0x00007f68aef08118 in PyVectorcall_Call () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #28 0x00007f68aee97766 in _PyEval_EvalFrameDefault () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #29 0x00007f68aefe781f in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #30 0x00007f68aee9962e in _PyEval_EvalFrameDefault () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #31 0x00007f68aefe781f in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #32 0x00007f68aef08618 in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #33 0x00007f68aee99458 in _PyEval_EvalFrameDefault () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #34 0x00007f68aefe781f in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #35 0x00007f68aef086ac in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #36 0x00007f68af41680f in ?? () from 
>>>>> target:/usr/lib/apache2/modules/mod_wsgi.so
>>>>> #37 0x00007f68af41c9c8 in ?? () from 
>>>>> target:/usr/lib/apache2/modules/mod_wsgi.so
>>>>> #38 0x00007f68af6a7b43 in start_thread (arg=<optimized out>) at 
>>>>> ./nptl/pthread_create.c:442
>>>>> #39 0x00007f68af739a00 in clone3 () at 
>>>>> ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
>>>>>
>>>>> Thread 3 (Thread 0x7f68adefa640 (LWP 60533) "apache2"):
>>>>> #0  __futex_abstimed_wait_common64 (private=0, cancel=true, 
>>>>> abstime=0x7f68adef9d80, op=137, expected=0, futex_word=0x7f68af3b49a8 
>>>>> <_PyRuntime+424>) at ./nptl/futex-internal.c:57
>>>>> #1  __futex_abstimed_wait_common (cancel=true, private=0, 
>>>>> abstime=0x7f68adef9d80, clockid=0, expected=0, futex_word=0x7f68af3b49a8 
>>>>> <_PyRuntime+424>) at ./nptl/futex-internal.c:87
>>>>> #2  __GI___futex_abstimed_wait_cancelable64 
>>>>> (futex_word=futex_word@entry=0x7f68af3b49a8 <_PyRuntime+424>, 
>>>>> expected=expected@entry=0, clockid=clockid@entry=1, 
>>>>> abstime=abstime@entry=0x7f68adef9d80, private=private@entry=0) at 
>>>>> ./nptl/futex-internal.c:139
>>>>> #3  0x00007f68af6a6f1b in __pthread_cond_wait_common 
>>>>> (abstime=0x7f68adef9d80, clockid=1, mutex=0x7f68af3b49b0 
>>>>> <_PyRuntime+432>, cond=0x7f68af3b4980 <_PyRuntime+384>) at 
>>>>> ./nptl/pthread_cond_wait.c:503
>>>>> #4  ___pthread_cond_timedwait64 (cond=0x7f68af3b4980 <_PyRuntime+384>, 
>>>>> mutex=0x7f68af3b49b0 <_PyRuntime+432>, abstime=0x7f68adef9d80) at 
>>>>> ./nptl/pthread_cond_wait.c:652
>>>>> #5  0x00007f68aefe5df5 in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #6  0x00007f68aefe6292 in PyEval_RestoreThread () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #7  0x00007f68af02f1dc in PyGILState_Ensure () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #8  0x00007f68af41cf30 in ?? () from 
>>>>> target:/usr/lib/apache2/modules/mod_wsgi.so
>>>>> #9  0x00007f68af6a7b43 in start_thread (arg=<optimized out>) at 
>>>>> ./nptl/pthread_create.c:442
>>>>> #10 0x00007f68af739a00 in clone3 () at 
>>>>> ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
>>>>>
>>>>> Thread 2 (Thread 0x7f68ae6fb640 (LWP 60532) "apache2"):
>>>>> #0  0x00007f68af72e7ed in __GI___select (nfds=0, readfds=0x0, 
>>>>> writefds=0x0, exceptfds=0x0, timeout=0x7f68ae6fad60) at 
>>>>> ../sysdeps/unix/sysv/linux/select.c:69
>>>>> #1  0x00007f68af865c09 in apr_sleep () from 
>>>>> target:/lib/x86_64-linux-gnu/libapr-1.so.0
>>>>> --Type <RET> for more, q to quit, c to continue without paging--
>>>>> #2  0x00007f68af41d11c in ?? () from 
>>>>> target:/usr/lib/apache2/modules/mod_wsgi.so
>>>>> #3  0x00007f68af6a7b43 in start_thread (arg=<optimized out>) at 
>>>>> ./nptl/pthread_create.c:442
>>>>> #4  0x00007f68af739a00 in clone3 () at 
>>>>> ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
>>>>>
>>>>> Thread 1 (Thread 0x7f68af59a780 (LWP 60501) "apache2"):
>>>>> #0  0x00007f68af72bd7f in __GI___poll (fds=0x7ffe9f0b9e90, nfds=1, 
>>>>> timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
>>>>> #1  0x00007f68af85e0fb in apr_poll () from 
>>>>> target:/lib/x86_64-linux-gnu/libapr-1.so.0
>>>>> #2  0x00007f68af4222d8 in ?? () from 
>>>>> target:/usr/lib/apache2/modules/mod_wsgi.so
>>>>> #3  0x00007f68af423f1f in ?? () from 
>>>>> target:/usr/lib/apache2/modules/mod_wsgi.so
>>>>> #4  0x000055c9771cc73d in ap_run_pre_mpm ()
>>>>> #5  0x00007f68af478455 in ?? () from 
>>>>> target:/usr/lib/apache2/modules/mod_mpm_event.so
>>>>> #6  0x000055c9771c30e8 in ap_run_mpm ()
>>>>> #7  0x000055c9771c2609 in main ()
>>>>> (gdb)
>>>>> (gdb)
>>>>> (gdb)
>>>>> (gdb)
>>>>> (gdb) thread apply all bt
>>>>>
>>>>> Thread 4 (Thread 0x7f68ad6f9640 (LWP 60534) "apache2"):
>>>>> #0  __futex_abstimed_wait_common64 (private=-1359973880, cancel=true, 
>>>>> abstime=0x7f68ad6f7220, op=137, expected=0, futex_word=0x7f68af3b49a8 
>>>>> <_PyRuntime+424>) at ./nptl/futex-internal.c:57
>>>>> #1  __futex_abstimed_wait_common (cancel=true, private=-1359973880, 
>>>>> abstime=0x7f68ad6f7220, clockid=-1359689157, expected=0, 
>>>>> futex_word=0x7f68af3b49a8 <_PyRuntime+424>) at ./nptl/futex-internal.c:87
>>>>> #2  __GI___futex_abstimed_wait_cancelable64 
>>>>> (futex_word=futex_word@entry=0x7f68af3b49a8 <_PyRuntime+424>, 
>>>>> expected=expected@entry=0, clockid=clockid@entry=1, 
>>>>> abstime=abstime@entry=0x7f68ad6f7220, private=private@entry=0) at 
>>>>> ./nptl/futex-internal.c:139
>>>>> #3  0x00007f68af6a6f1b in __pthread_cond_wait_common 
>>>>> (abstime=0x7f68ad6f7220, clockid=1, mutex=0x7f68af3b49b0 
>>>>> <_PyRuntime+432>, cond=0x7f68af3b4980 <_PyRuntime+384>) at 
>>>>> ./nptl/pthread_cond_wait.c:503
>>>>> #4  ___pthread_cond_timedwait64 (cond=0x7f68af3b4980 <_PyRuntime+384>, 
>>>>> mutex=0x7f68af3b49b0 <_PyRuntime+432>, abstime=0x7f68ad6f7220) at 
>>>>> ./nptl/pthread_cond_wait.c:652
>>>>> #5  0x00007f68aefe5df5 in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #6  0x00007f68aefe6292 in PyEval_RestoreThread () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #7  0x00007f68af02f1dc in PyGILState_Ensure () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #8  0x00007f68ac30d6e3 in ?? () from 
>>>>> target:/usr/lib/python3.10/lib-dynload/_sqlite3.cpython-310-x86_64-linux-gnu.so
>>>>> #9  0x00007f68a750b01a in sqlite3LeaveMutexAndCloseZombie () from 
>>>>> target:/lib/x86_64-linux-gnu/libsqlite3.so.0
>>>>> #10 0x00007f68a750b2d6 in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libsqlite3.so.0
>>>>> #11 0x00007f68ac3087d6 in ?? () from 
>>>>> target:/usr/lib/python3.10/lib-dynload/_sqlite3.cpython-310-x86_64-linux-gnu.so
>>>>> #12 0x00007f68aef118ba in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #13 0x00007f68aee9aeee in _PyEval_EvalFrameDefault () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #14 0x00007f68aefe781f in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #15 0x00007f68aee9aeee in _PyEval_EvalFrameDefault () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #16 0x00007f68aefe781f in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #17 0x00007f68aee97766 in _PyEval_EvalFrameDefault () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #18 0x00007f68aefe781f in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #19 0x00007f68aee9c9b8 in _PyEval_EvalFrameDefault () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #20 0x00007f68aefe781f in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #21 0x00007f68aee97766 in _PyEval_EvalFrameDefault () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #22 0x00007f68aefe781f in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #23 0x00007f68aee9aeee in _PyEval_EvalFrameDefault () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #24 0x00007f68aefe781f in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #25 0x00007f68aee9aeee in _PyEval_EvalFrameDefault () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #26 0x00007f68aefe781f in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #27 0x00007f68aef08118 in PyVectorcall_Call () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #28 0x00007f68aee97766 in _PyEval_EvalFrameDefault () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #29 0x00007f68aefe781f in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #30 0x00007f68aee9962e in _PyEval_EvalFrameDefault () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #31 0x00007f68aefe781f in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #32 0x00007f68aef08618 in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #33 0x00007f68aee99458 in _PyEval_EvalFrameDefault () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #34 0x00007f68aefe781f in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #35 0x00007f68aef086ac in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #36 0x00007f68af41680f in ?? () from 
>>>>> target:/usr/lib/apache2/modules/mod_wsgi.so
>>>>> #37 0x00007f68af41c9c8 in ?? () from 
>>>>> target:/usr/lib/apache2/modules/mod_wsgi.so
>>>>> #38 0x00007f68af6a7b43 in start_thread (arg=<optimized out>) at 
>>>>> ./nptl/pthread_create.c:442
>>>>> #39 0x00007f68af739a00 in clone3 () at 
>>>>> ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
>>>>>
>>>>> Thread 3 (Thread 0x7f68adefa640 (LWP 60533) "apache2"):
>>>>> #0  __futex_abstimed_wait_common64 (private=0, cancel=true, 
>>>>> abstime=0x7f68adef9d80, op=137, expected=0, futex_word=0x7f68af3b49a8 
>>>>> <_PyRuntime+424>) at ./nptl/futex-internal.c:57
>>>>> #1  __futex_abstimed_wait_common (cancel=true, private=0, 
>>>>> abstime=0x7f68adef9d80, clockid=0, expected=0, futex_word=0x7f68af3b49a8 
>>>>> <_PyRuntime+424>) at ./nptl/futex-internal.c:87
>>>>> #2  __GI___futex_abstimed_wait_cancelable64 
>>>>> (futex_word=futex_word@entry=0x7f68af3b49a8 <_PyRuntime+424>, 
>>>>> expected=expected@entry=0, clockid=clockid@entry=1, 
>>>>> abstime=abstime@entry=0x7f68adef9d80, private=private@entry=0) at 
>>>>> ./nptl/futex-internal.c:139
>>>>> #3  0x00007f68af6a6f1b in __pthread_cond_wait_common 
>>>>> (abstime=0x7f68adef9d80, clockid=1, mutex=0x7f68af3b49b0 
>>>>> <_PyRuntime+432>, cond=0x7f68af3b4980 <_PyRuntime+384>) at 
>>>>> ./nptl/pthread_cond_wait.c:503
>>>>> #4  ___pthread_cond_timedwait64 (cond=0x7f68af3b4980 <_PyRuntime+384>, 
>>>>> mutex=0x7f68af3b49b0 <_PyRuntime+432>, abstime=0x7f68adef9d80) at 
>>>>> ./nptl/pthread_cond_wait.c:652
>>>>> #5  0x00007f68aefe5df5 in ?? () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #6  0x00007f68aefe6292 in PyEval_RestoreThread () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #7  0x00007f68af02f1dc in PyGILState_Ensure () from 
>>>>> target:/lib/x86_64-linux-gnu/libpython3.10.so.1.0
>>>>> #8  0x00007f68af41cf30 in ?? () from 
>>>>> target:/usr/lib/apache2/modules/mod_wsgi.so
>>>>> #9  0x00007f68af6a7b43 in start_thread (arg=<optimized out>) at 
>>>>> ./nptl/pthread_create.c:442
>>>>> #10 0x00007f68af739a00 in clone3 () at 
>>>>> ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
>>>>>
>>>>> Thread 2 (Thread 0x7f68ae6fb640 (LWP 60532) "apache2"):
>>>>> #0  0x00007f68af72e7ed in __GI___select (nfds=0, readfds=0x0, 
>>>>> writefds=0x0, exceptfds=0x0, timeout=0x7f68ae6fad60) at 
>>>>> ../sysdeps/unix/sysv/linux/select.c:69
>>>>> #1  0x00007f68af865c09 in apr_sleep () from 
>>>>> target:/lib/x86_64-linux-gnu/libapr-1.so.0
>>>>> --Type <RET> for more, q to quit, c to continue without paging--
>>>>> #2  0x00007f68af41d11c in ?? () from 
>>>>> target:/usr/lib/apache2/modules/mod_wsgi.so
>>>>> #3  0x00007f68af6a7b43 in start_thread (arg=<optimized out>) at 
>>>>> ./nptl/pthread_create.c:442
>>>>> #4  0x00007f68af739a00 in clone3 () at 
>>>>> ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
>>>>>
>>>>> Thread 1 (Thread 0x7f68af59a780 (LWP 60501) "apache2"):
>>>>> #0  0x00007f68af72bd7f in __GI___poll (fds=0x7ffe9f0b9e90, nfds=1, 
>>>>> timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
>>>>> #1  0x00007f68af85e0fb in apr_poll () from 
>>>>> target:/lib/x86_64-linux-gnu/libapr-1.so.0
>>>>> #2  0x00007f68af4222d8 in ?? () from 
>>>>> target:/usr/lib/apache2/modules/mod_wsgi.so
>>>>> #3  0x00007f68af423f1f in ?? () from 
>>>>> target:/usr/lib/apache2/modules/mod_wsgi.so
>>>>> #4  0x000055c9771cc73d in ap_run_pre_mpm ()
>>>>> #5  0x00007f68af478455 in ?? () from 
>>>>> target:/usr/lib/apache2/modules/mod_mpm_event.so
>>>>> #6  0x000055c9771c30e8 in ap_run_mpm ()
>>>>> #7  0x000055c9771c2609 in main ()
>>>>> (gdb)
>>>>>
>>>>>
>>>>> Best regards,
>>>>> Carsten
>>>>>
>>>>>
>>>>> Am 07.02.23 um 22:44 schrieb Graham Dumpleton:
>>>>>> Only other thing can suggest if you know point at which it is hanging, 
>>>>>> is to test and extract C stack trace by attaching gdb to the running 
>>>>>> process. This may or may not work depending on your system setup and 
>>>>>> what tools are installed.
>>>>>>
>>>>>> Debugging Techniques — mod_wsgi 4.9.4 documentation 
>>>>>> <https://modwsgi.readthedocs.io/en/master/user-guides/debugging-techniques.html#debugging-crashes-with-gdb>
>>>>>> modwsgi.readthedocs.io 
>>>>>> <https://modwsgi.readthedocs.io/en/master/user-guides/debugging-techniques.html#debugging-crashes-with-gdb>
>>>>>> favicon.ico 
>>>>>> <https://modwsgi.readthedocs.io/en/master/user-guides/debugging-techniques.html#debugging-crashes-with-gdb>
>>>>>>
>>>>>> <https://modwsgi.readthedocs.io/en/master/user-guides/debugging-techniques.html#debugging-crashes-with-gdb>
>>>>>>
>>>>>>
>>>>>> That may give some clues.
>>>>>>
>>>>>> Graham
>>>>>>
>>>>>>> On 8 Feb 2023, at 8:42 am, Graham Dumpleton 
>>>>>>> <graham.dumple...@gmail.com> wrote:
>>>>>>>
>>>>>>> Is any of your code using ctypes module for Apache, or any other module 
>>>>>>> which is used to call into C code by writing Python code only?
>>>>>>>
>>>>>>> Graham

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to modwsgi+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/modwsgi/9276e068-9ac0-5954-4170-022fc3106b9e%40cafu.de.

Reply via email to