Bug 1845463
| Summary: | glibc: Support calling ctime, localtime etc. after multi-threaded fork | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | Suma G <suma.gangarapu> |
| Component: | glibc | Assignee: | glibc team <glibc-bugzilla> |
| Status: | CLOSED UPSTREAM | QA Contact: | qe-baseos-tools-bugs |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 8.2 | CC: | ashankar, codonell, dj, fweimer, mnewsome, pfrankli, sipoyare |
| Target Milestone: | rc | ||
| Target Release: | 8.0 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2020-06-09 11:42:46 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
ctime is not an async-signal-safe function, so POSIX does not allow calling it after a multi-threaded process has forked. I filed an upstream enhancement request: https://sourceware.org/bugzilla/show_bug.cgi?id=26097 We will evaluate a potential backport if this issue has been addressed in upstream glibc. |
Description of problem: Child process is hung at __lll_lock_wait_private () (gdb) bt #0 0x00007f88c393258c in __lll_lock_wait_private () from /lib64/libc.so.6 #1 0x00007f88c38e17f6 in __tz_convert () from /lib64/libc.so.6 #2 0x00007f88c38dfc8d in ctime () from /lib64/libc.so.6 #3 0x00007f88c07757bc in CSLDebug_FormatCurrentTime () from /opt/dell/srvadmin/lib64/libstorelib.so #4 0x00007f88c0775c32 in CSLDebug_Write () from /opt/dell/srvadmin/lib64/libstorelib.so #5 0x00007f88c0775ffd in DebugLog () from /opt/dell/srvadmin/lib64/libstorelib.so #6 0x00007f88c0762043 in child () from /opt/dell/srvadmin/lib64/libstorelib.so #7 0x00007f88c0765e0b in InitiateChildEventProcess () from /opt/dell/srvadmin/lib64/libstorelib.so #8 0x00007f88c0762bfe in RegisterMonitorSignal () from /opt/dell/srvadmin/lib64/libstorelib.so #9 0x00007f88c0764f02 in SetupAenHandler () from /opt/dell/srvadmin/lib64/libstorelib.so #10 0x00007f88c0776d67 in CAenRegistration_InitAEN () from /opt/dell/srvadmin/lib64/libstorelib.so #11 0x00007f88c0776f14 in CAenRegistration_Register () from /opt/dell/srvadmin/lib64/libstorelib.so #12 0x00007f88c0768e19 in RegisterAEN () from /opt/dell/srvadmin/lib64/libstorelib.so #13 0x00007f88c0768e54 in RegisterForAEN () from /opt/dell/srvadmin/lib64/libstorelib.so #14 0x00007f88c0773256 in ProcessLibCommand () from /opt/dell/srvadmin/lib64/libstorelib.so #15 0x00007f88c09b0ba2 in SASStartAEN () at /root/OpenManage/ARCH_FOR_BUILD/64/MACHINE/RHEL8/OM950/OMSS/omss_src/omss_Llayers/vil/sasvil/sasaen.cpp:507 #16 0x00007f88c09b1331 in AenStart (mem_ptr=0x7f88a4056e50, pTimeValue=0x7f88a4056e00) at /root/OpenManage/ARCH_FOR_BUILD/64/MACHINE/RHEL8/OM950/OMSS/omss_src/omss_Llayers/vil/sasvil/sasaen.cpp:7304 #17 0x00007f88c09a914f in BtmWorkItemProcessingTask (pSMThreadData=<optimized out>) at /root/OpenManage/ARCH_FOR_BUILD/64/MACHINE/RHEL8/OM950/OMSS/omss_src/omss_Llayers/vil/sasvil/sasaen.cpp:1091 #18 0x00007f88c41792de in start_thread () from /lib64/libpthread.so.0 #19 0x00007f88c3924e83 in clone () from /lib64/libc.so.6 Version-Release number of selected component (if applicable): Red Hat Enterprise Linux 8.2-8.el8 How reproducible: Not known Expected results: should not hang under ctime()