Bug 1845463 - glibc: Support calling ctime, localtime etc. after multi-threaded fork
Summary: glibc: Support calling ctime, localtime etc. after multi-threaded fork
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: glibc
Version: 8.2
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: 8.0
Assignee: glibc team
QA Contact: qe-baseos-tools-bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-06-09 10:00 UTC by Suma G
Modified: 2023-07-18 14:30 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-06-09 11:42:46 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-46052 0 None None None 2023-01-04 10:44:44 UTC
Sourceware 26097 0 P2 NEW Support calling time functions (localtime, ctime etc.) after multi-threaded fork 2022-10-28 13:11:36 UTC

Description Suma G 2020-06-09 10:00:00 UTC
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()

Comment 1 Florian Weimer 2020-06-09 11:42:46 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.