inetd crashed on NT4 with recent cvs

Pierre A. Humblet Pierre.Humblet@ieee.org
Fri Dec 12 04:17:00 GMT 2003


With a recent CVS on NT4 I noticed that inetd (the second of the
two inetd shown by ps) dies when a telnet or ftp session terminates.
It happens when the wait_sig thread calls setup_handler on SIGCHLD.

CYGWIN_NT-4.0 xxx 1.5.6(0.107/3/2) 2003-12-10 08:41 i686 unknown unknown
Cygwin

Exception: STATUS_ACCESS_VIOLATION at eip=6102830E
eax=00000000 ebx=616A3C38 ecx=0022FFD4 edx=0022FFD8 esi=0022FD94 edi=00402EF0
ebp=00A5F4F8 esp=00A5F1D0 program=d:\cygwin\usr\sbin\inetd.exe
cs=001B ds=0023 es=0023 fs=0038 gs=0000 ss=0023
Stack trace:
Frame     Function  Args
00A5F4F8  6102830E  (0022FD94, 00000014, 00000000, 00000000)
00A5F828  61028D9F  (00000000, 00A5F860, 00000014, 00A5F858)
00A5FC98  61095717  (610FAB20, 00000000, 00000000, 00000000)
00A5FCD8  610033AC  (00A5FD94, 61003320, 610FAB20, 00A5FCF0)
00A5FFA8  61026574  (00000000, 00000000, 00000000, 00000000)
End of stack trace/c/WINNT/SYSTEM32> 

/c/WINNT/SYSTEM32> printdump *ump
0 at
1 ecx=0022FFD4
2 program=d:\cygwin\usr\sbin\inetd.exe
3 es=0023
4 6102830E
_Z13setup_handleriPvR9sigactionP11_threadinfo
cygtls.h:60
5 61028D9F
_Z10sig_handleimiP11_threadinfo
exceptions.cc:1093
6 61095717
_Z8wait_sigPv
sigproc.cc:1144
7 610033AC
_ZN9cygthread5stub2EPvS0_
cygthread.cc:81
8 61026574
_ZN11_threadinfo4callEPFvPvS0_ES0_
exceptions.cc:157

Attaching with gdb, I see that _main_tls->tid == NULL.
This situation already holds at the time I attach, before any incoming call.

gdb) bt
#0  0x6102830e in setup_handler(int, void*, sigaction&, _threadinfo*)
(sig=20, handler=0x402ef0, siga=@0xa5f800, 
    tls=0x22fd94) at ../../../../src/winsup/cygwin/cygtls.h:60
#1  0x61028d9f in sig_handle(int, unsigned long, int, _threadinfo*)
(sig=20, mask=0, pid=2293716, tls=0x0)
    at ../../../../src/winsup/cygwin/exceptions.cc:1093
#2  0x61095717 in wait_sig(void*) (self=0x610fab20) at
../../../../src/winsup/cygwin/sigproc.cc:1144
#3  0x610033ac in cygthread::stub2(void*, void*) (arg=0x610fab20) at
../../../../src/winsup/cygwin/cygthread.cc:77
(gdb) p _main_tls
$13 = (_threadinfo *) 0x22fd94
(gdb) p *_main_tls
$14 = {func = 0, saved_errno = 0, sa_flags = 0, oldmask = 0, newmask = 0,
event = 0x0, errno_addr = 0x610f6d80, 
  initialized = 274983, sigmask = 0, sigwait_mask = 0, sigwait_info = 0x0,
infodata = {si_signo = 0, si_errno = 0, 
    si_code = 0, {__pad = {0 <repeats 128 times>}, {{si_tid = 0, si_overrun
= 0}, {si_pid = 0, si_uid = 0}, 
        si_sigval = {sival_int = 0, sival_ptr = 0x0}}, {si_pid2 = 0,
si_uid2 = 0, si_status = 0, si_utime = 0, 
        si_stime = 0}, {si_addr = 0x0}}}, tid = 0x0, prev = 0x610fba3c,
next = 0x0, stack = {0, 0, 0, 0, 0, 0, 0, 0}, 
  sig = 0, stackptr = 0x22ffd8, static protect_linked_list = {DebugInfo =
0x77fa7a90, LockCount = -1, 
    RecursionCount = 0, OwningThread = 0x0, LockSemaphore = 0x0, SpinCount
= 0}}
(gdb) p &dummy_thread
$15 = (_threadinfo *) 0x610fba3c
(gdb) p _last_thread
$16 = (_threadinfo *) 0x22fd94

Pierre


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list