Message 340430 - Python tracker

Message340430

Author cagney
Recipients bquinlan, cagney, gregory.p.smith, hroncok, hugh, josh.r, jwilk, pablogsal, pitrou, vstinner
Date 2019-04-17.18:46:21
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1555526782.0.0.560465073184.issue35866@roundup.psfhosted.org>
In-reply-to
Content
Here's a possible stack taken during the fork():

Thread 1 "python3" hit Breakpoint 1, 0x00007ffff7124734 in fork () from /lib64/libc.so.6

Thread 1814 (Thread 0x7fffe69d5700 (LWP 23574)):
#0  0x00007ffff7bc24e5 in __pthread_mutex_unlock_usercnt () from /lib64/libpthread.so.0
#1  0x00007ffff71928e3 in dl_iterate_phdr () from /lib64/libc.so.6
#2  0x00007fffe5fcfe55 in _Unwind_Find_FDE () from /lib64/libgcc_s.so.1
#3  0x00007fffe5fcc403 in uw_frame_state_for () from /lib64/libgcc_s.so.1
#4  0x00007fffe5fcd90f in _Unwind_ForcedUnwind_Phase2 () from /lib64/libgcc_s.so.1
#5  0x00007fffe5fcdf30 in _Unwind_ForcedUnwind () from /lib64/libgcc_s.so.1
#6  0x00007ffff7bc7712 in __pthread_unwind () from /lib64/libpthread.so.0
#7  0x00007ffff7bbf7e7 in pthread_exit () from /lib64/libpthread.so.0
#8  0x000000000051b2fc in PyThread_exit_thread () at Python/thread_pthread.h:238
#9  0x000000000055ed16 in t_bootstrap (boot_raw=0x7fffe8da0e40) at ./Modules/_threadmodule.c:1021
#10 0x00007ffff7bbe594 in start_thread () from /lib64/libpthread.so.0
#11 0x00007ffff7157e5f in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7ffff7fca080 (LWP 20524)):
#0  0x00007ffff7124734 in fork () from /lib64/libc.so.6
#1  0x0000000000532c8a in os_fork_impl (module=<optimized out>) at ./Modules/posixmodule.c:5423
#2  os_fork (module=<optimized out>, _unused_ignored=<optimized out>) at ./Modules/clinic/posixmodule.c.h:1913

where, in my source code, dl_iterate_phdr() starts with something like:

  /* Make sure nobody modifies the list of loaded objects.  */
  __rtld_lock_lock_recursive (GL(dl_load_write_lock));

i.e., when the fork occures, the non-fork thread has acquired dl_load_write_lock - the same lock that the child will later try to acquire (and hang)

no clue as to what that thread is doing though; other than it looks like it is trying to generate a backtrace?
History
Date User Action Args
2019-04-17 18:46:22cagneysetrecipients: + cagney, gregory.p.smith, bquinlan, pitrou, vstinner, jwilk, josh.r, hroncok, pablogsal, hugh
2019-04-17 18:46:22cagneysetmessageid: <1555526782.0.0.560465073184.issue35866@roundup.psfhosted.org>
2019-04-17 18:46:21cagneylinkissue35866 messages
2019-04-17 18:46:21cagneycreate