Mail Archives: cygwin/2004/02/18/11:36:22
1.5.7-1: Repeatible crash in cygwin1.dll, _sigbe
cygwin-1.5.7-1
cygwin AT cygwin DOT com
After doing what you asked, the crash still occurs, but is somewhat
different. Here is what I did.
1. Loaded cygwin from CVS. I see the relevant routines have all changed.
2. ./configure
3. make
4. build failed for dumper.exe (will send separate email)
5. Replaced /usr/bin/cygwin1.dll with new-cygwin1.dll
6. Reboot (just to be safe)
7. Ran my test program.
I am still seeing stackptr being corrupted. I believe it happens
after a setjmp/longjump. See "do_jump" routine below.
I think the problem is in the "call _set_process_mask" in sigreturn.
That somehow winds up calling _sigbe with the thread stack empty.
Look for "####" below for start of debug sections.
I can supply the .exe test program if you wish.
Good luck and thanks,
Cliff Geschke
________________________________________________________________________________
#### Here is the program that I think triggers the problem
static void do_jump(
Context_Control_overlay *currentp,
Context_Control_overlay *nextp
)
{
int status;
if (setjmp(currentp->regs) == 0) { /* Save the current context */
longjmp(nextp->regs, 0); /* Switch to the new context */
_Internal_error_Occurred(
INTERNAL_ERROR_CORE,
TRUE,
status
);
}
}
________________________________________________________________________________
#### This shows the crash, but not much info except that stackptr is bad.
#### Look at next section for better info.
(gdb) run
Starting program: /home/Cliff/test/ticker/o-optimize/ticker.exe
*** CLOCK TICK TEST ***
- rtems_clock_get - 09:00:00 12/31/1988
- rtems_clock_get - 09:00:05 12/31/1988
Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? () from
2: x/i $pc 0x0: Cannot access memory at address 0x0
Disabling display 2 to avoid infinite recursion.
(gdb) bt
#0 0x00000000 in ?? () from
(gdb) info thr
3 thread 1416.0xeac 0x7ffe0304 in ?? ()
2 thread 1416.0xc84 0x7ffe0304 in ?? ()
* 1 thread 1416.0x954 0x00000000 in ?? () from
warning: Couldn't restore frame in current thread, at frame 0
0x00000000 in ?? () from
(gdb) info reg
eax 0xffffffff -1
ecx 0x4 4
edx 0x230000 2293760
ebx 0xa2420d0 170139856
esp 0xa24163c 0xa24163c
ebp 0xa241684 0xa241684
esi 0xdeaddead -559030611
edi 0xdeafdeaf -558899537
eip 0x0 0x0
eflags 0x10246 66118
cs 0x1b 27
ss 0x23 35
ds 0x23 35
es 0x23 35
fs 0x3b 59
gs 0x0 0
(gdb) x/64x 0xa241620
0xa241620: 0x0a2420d0 0x00000004 0x00230000 0xdeafdeaf
0xa241630: 0xffffffff 0x00230000 0x00000000 0x0a0301e0
0xa241640: 0x00000000 0x00000000 0x00403859 0x00000002
0xa241650: 0x0040b0a0 0x00000000 0x0a2420d0 0xdeaddead
0xa241660: 0x0a2420d0 0x0a241684 0x0040442e 0x00000000
0xa241670: 0x0040b0a0 0x00000000 0x0a2420d0 0xdeaddead
0xa241680: 0xdeafdeaf 0x0a2416a4 0x00409046 0x00000000
0xa241690: 0x00000000 0x00000000 0x00000000 0x00000000
0xa2416a0: 0xfeedfeed 0x0a2416a8 0x00408f60 0x0a2416a8
0xa2416b0: 0x0a2416a8 0x00000000 0x00000000 0x00000000
0xa2416c0: 0x00000000 0x00000000 0x00000000 0x00000000
0xa2416d0: 0x00000000 0x00000000 0x00000000 0x00000000
0xa2416e0: 0x00004051 0x00000161 0x00000000 0x00000008
0xa2416f0: 0x00000000 0x00000000 0x00000000 0x00000000
0xa241700: 0x00000000 0x00000000 0x00000000 0x00000000
0xa241710: 0x00000000 0x00000000 0x00000000 0x00000000
(gdb) p/x *((_cygtls *) (0x230000-3744))
$3 = {func = 0x4038a0, saved_errno = 0x4, sa_flags = 0x10000000,
oldmask = 0x0, newmask = 0xfffbf94f, event = 0x0, errno_addr = 0x22f228,
initialized = 0x43227, sigmask = 0x0, sigwait_mask = 0x0,
sigwait_info = 0x0, threadkill = 0x0, infodata = {si_signo = 0xe,
si_code = 0x1, si_pid = 0x588, si_uid = 0x3f0, si_errno = 0x0, {__pad = {
0x72656d, 0x0, 0x244cb8, 0x8cf010, 0x8cf074, 0x610ef79c, 0x77fc49e0,
0x77f8ee5a, 0x77ed7618, 0xf8eb36, 0x240000, 0x8cedc0, 0x0, 0x8cef44,
0x8cee38, 0x8cee04, 0xffffffff, 0x8cef98, 0x77fa88f0, 0x77f511e8,
0xffffffff, 0x77f5f70f, 0x77f60f7f, 0x77d40000, 0x8ceecc, 0x0,
0x8ceee0, 0x1, 0x77e7b36e, 0x77d40000, 0x77e7b380, 0x77d40000}, {{{{
si_tid = 0x72656d, si_overrun = 0x0}, si_sigval = {
sival_int = 0x72656d, sival_ptr = 0x72656d}, si_value = {
sival_int = 0x72656d, sival_ptr = 0x72656d}}}}, {
si_status = 0x72656d, si_utime = 0x0, si_stime = 0x244cb8},
si_addr = 0x72656d}}, tid = 0xa040020, local_clib = {_errno = 0x4,
_stdin = 0x611132a8, _stdout = 0x61113310, _stderr = 0x61113378,
_inc = 0x0, _emergency = {0x0 <repeats 25 times>},
_current_category = 0x0, _current_locale = 0x61003e09, __sdidinit = 0x1,
__cleanup = 0x610d3510, _result = 0x0, _result_k = 0x0, _p5s = 0x0,
_freelist = 0x0, _cvtlen = 0x0, _cvtbuf = 0x0, _new = {_reent = {
_unused_rand = 0x0, _strtok_last = 0x0, _asctime_buf = {
0x0 <repeats 26 times>}, _localtime_buf = {__tm_sec = 0x0,
__tm_min = 0x0, __tm_hour = 0x0, __tm_mday = 0x0, __tm_mon = 0x0,
__tm_year = 0x0, __tm_wday = 0x0, __tm_yday = 0x0,
__tm_isdst = 0x0}, _gamma_signgam = 0x0, _rand_next = 0x0, _r48 = {
_seed = {0x0, 0x0, 0x0}, _mult = {0x0, 0x0, 0x0}, _add = 0x0},
_mblen_state = {__count = 0x0, __value = {__wch = 0x0, __wchb = {0x0,
0x0, 0x0, 0x0}}}, _mbtowc_state = {__count = 0x0, __value = {
__wch = 0x0, __wchb = {0x0, 0x0, 0x0, 0x0}}}, _wctomb_state = {
__count = 0x0, __value = {__wch = 0x0, __wchb = {0x0, 0x0, 0x0,
0x0}}}, _l64a_buf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
_signal_buf = {0x0 <repeats 24 times>}, _getdate_err = 0x0,
_mbrlen_state = {__count = 0x0, __value = {__wch = 0x0, __wchb = {0x0,
0x0, 0x0, 0x0}}}, _mbrtowc_state = {__count = 0x0, __value = {
__wch = 0x0, __wchb = {0x0, 0x0, 0x0, 0x0}}}, _mbsrtowcs_state = {
__count = 0x0, __value = {__wch = 0x0, __wchb = {0x0, 0x0, 0x0,
0x0}}}, _wcrtomb_state = {__count = 0x0, __value = {__wch = 0x0,
__wchb = {0x0, 0x0, 0x0, 0x0}}}, _wcsrtombs_state = {
__count = 0x0, __value = {__wch = 0x0, __wchb = {0x0, 0x0, 0x0,
0x0}}}}, _unused = {_nextf = {0x0 <repeats 30 times>},
_nmalloc = {0x0 <repeats 30 times>}}}, _atexit = 0x0, _atexit0 = {
_next = 0x0, _ind = 0x0, _fns = {0x0 <repeats 32 times>},
_on_exit_args = {_fnargs = {0x0 <repeats 32 times>}, _fntypes = 0x0}},
_sig_func = 0x0, __sglue = {_next = 0x0, _niobs = 0x3,
_iobs = 0x611132a8}, __sf = {{_p = 0x0, _r = 0x0, _w = 0x0,
_flags = 0x0, _file = 0x0, _bf = {_base = 0x0, _size = 0x0},
_lbfsize = 0x0, _data = 0x0, _cookie = 0x0, _read = 0x0, _write = 0x0,
_seek = 0x0, _close = 0x0, _ub = {_base = 0x0, _size = 0x0},
_up = 0x0, _ur = 0x0, _ubuf = {0x0, 0x0, 0x0}, _nbuf = {0x0}, _lb = {
_base = 0x0, _size = 0x0}, _blksize = 0x0, _flags2 = 0x0,
_offset = 0x0, _seek64 = 0x0, _lock = 0x0}, {_p = 0x0, _r = 0x0,
_w = 0x0, _flags = 0x0, _file = 0x0, _bf = {_base = 0x0, _size = 0x0},
_lbfsize = 0x0, _data = 0x0, _cookie = 0x0, _read = 0x0, _write = 0x0,
_seek = 0x0, _close = 0x0, _ub = {_base = 0x0, _size = 0x0},
_up = 0x0, _ur = 0x0, _ubuf = {0x0, 0x0, 0x0}, _nbuf = {0x0}, _lb = {
_base = 0x0, _size = 0x0}, _blksize = 0x0, _flags2 = 0x0,
_offset = 0x0, _seek64 = 0x0, _lock = 0x0}, {_p = 0x0, _r = 0x0,
_w = 0x0, _flags = 0x0, _file = 0x0, _bf = {_base = 0x0, _size = 0x0},
_lbfsize = 0x0, _data = 0x0, _cookie = 0x0, _read = 0x0, _write = 0x0,
_seek = 0x0, _close = 0x0, _ub = {_base = 0x0, _size = 0x0},
_up = 0x0, _ur = 0x0, _ubuf = {0x0, 0x0, 0x0}, _nbuf = {0x0}, _lb = {
_base = 0x0, _size = 0x0}, _blksize = 0x0, _flags2 = 0x0,
_offset = 0x0, _seek64 = 0x0, _lock = 0x0}}}, locals = {grp = {
gr_name = 0x0, gr_passwd = 0x0, gr_gid = 0x0, gr_mem = 0x0},
namearray = {0x0, 0x0}, grp_pos = 0x0, rarg = 0x0, dl_error = 0x0,
dl_buffer = {0x0 <repeats 256 times>}, res = {pw_name = 0x0,
pw_passwd = 0x0, pw_uid = 0x0, pw_gid = 0x0, pw_comment = 0x0,
pw_gecos = 0x0, pw_dir = 0x0, pw_shell = 0x0}, pass = {
0x0 <repeats 128 times>}, pw_pos = 0x0, mntbuf = {mnt_fsname = 0x0,
mnt_dir = 0x0, mnt_type = 0x0, mnt_opts = 0x0, mnt_freq = 0x0,
mnt_passno = 0x0}, iteration = 0x0, available_drives = 0x0, mnt_type = {
0x0 <repeats 80 times>}, mnt_opts = {0x0 <repeats 80 times>},
mnt_fsname = {0x0 <repeats 260 times>}, mnt_dir = {
0x0 <repeats 260 times>}, strerror_buf = {0x0 <repeats 20 times>},
process_ident = 0x0, process_logopt = 0x0, process_facility = 0x0,
process_logmask = 0xff, timezone_buf = {0x0 <repeats 20 times>},
_localtime_buf = {tm_sec = 0x0, tm_min = 0x0, tm_hour = 0x0,
tm_mday = 0x0, tm_mon = 0x0, tm_year = 0x0, tm_wday = 0x0,
tm_yday = 0x0, tm_isdst = 0x0}, username = {0x0 <repeats 257 times>},
ntoa_buf = 0x0, protoent_buf = 0x0, servent_buf = 0x0, hostent_buf = 0x0,
signamebuf = {0x0 <repeats 29 times>}}, prev = 0x0, next = 0x0,
stackptr = 0x22fbfc, sig = 0x0, stacklock = 0x0, spinning = 0x0, stack = {
0x0 <repeats 256 times>}, padding = 0x230000,
static protect_linked_list = <optimized out>}
(gdb)
________________________________________________________________________________
#### This shows where stackptr goes bad, trapped by watchpoint
(gdb) watch *0x22fbf0
Hardware watchpoint 2: *2292720
(gdb) run
Starting program: /home/Cliff/test/ticker/o-optimize/ticker.exe
Hardware watchpoint 2: *2292720Hardware watchpoint 2: *2292720Hardware
watchpoint 2: *2292720Hardware watchpoint 2: *2292720Hardware watchpoint 2:
*2292720Hardware watchpoint 2: *2292720Hardware watchpoint 2: *2292720Hardware
watchpoint 2: *2292720Hardware watchpoint 2: *2292720Hardware watchpoint 2:
*2292720Hardware watchpoint 2: *2292720
Old value = 2292740
New value = 2292736
0x61086eae in _sigbe () at ../../../winsup/cygwin/cygserver.h:82
Current language: auto; currently c++
(gdb) disp/x *0x22fbf0
1: /x *2292720 = 0x22fc00
(gdb) condition 2 (*((long *) 0x22fbf0) < 0x22fc00)
(gdb) c
Continuing.
*** CLOCK TICK TEST ***
- rtems_clock_get - 09:00:00 12/31/1988
- rtems_clock_get - 09:00:05 12/31/1988
Hardware watchpoint 2: *2292720
Old value = 2292736
New value = 2292732
0x61086eae in _sigbe () at ../../../winsup/cygwin/cygserver.h:82
1: /x *2292720 = 0x22fbfc
(gdb) d disp 1
(gdb) disp/i $pc
2: x/i $pc 0x61086eae <_sigbe+53>: xor %ebx,%ebx
(gdb) info reg
eax 0x22fc00 2292736
ecx 0x6110e098 1628496024
edx 0x230000 2293760
ebx 0x230000 2293760
esp 0xa2415d4 0xa2415d4
ebp 0xa2415f8 0xa2415f8
esi 0xdeaddead -559030611
edi 0xdeafdeaf -558899537
eip 0x61086eae 0x61086eae
eflags 0x207 519
cs 0x1b 27
ss 0x23 35
ds 0x23 35
es 0x23 35
fs 0x3b 59
gs 0x0 0
(gdb) disas
Dump of assembler code for function _sigbe:
0x61086e79 <_sigbe+0>: push %ebx
0x61086e7a <_sigbe+1>: push %edx
0x61086e7b <_sigbe+2>: push %eax
0x61086e7c <_sigbe+3>: mov %fs:0x4,%edx
0x61086e83 <_sigbe+10>: mov $0x1,%eax
0x61086e88 <_sigbe+15>: lock xchg %eax,0xfffffbf8(%edx)
0x61086e8f <_sigbe+22>: mov %eax,0xfffffbfc(%edx)
0x61086e95 <_sigbe+28>: or %eax,%eax
0x61086e97 <_sigbe+30>: je 0x61086ea2 <_sigbe+41>
0x61086e99 <_sigbe+32>: xor %eax,%eax
0x61086e9b <_sigbe+34>: call 0x61055f10 <low_priority_sleep>
0x61086ea0 <_sigbe+39>: jmp 0x61086e7c <_sigbe+3>
0x61086ea2 <_sigbe+41>: mov $0xfffffffc,%eax
0x61086ea7 <_sigbe+46>: xadd %eax,0xfffffbf0(%edx)
0x61086eae <_sigbe+53>: xor %ebx,%ebx
0x61086eb0 <_sigbe+55>: xchg %ebx,0xfffffffc(%eax)
0x61086eb3 <_sigbe+58>: xchg %ebx,0x8(%esp,1)
0x61086eb7 <_sigbe+62>: decl 0xfffffbf8(%edx)
0x61086ebd <_sigbe+68>: pop %eax
0x61086ebe <_sigbe+69>: pop %edx
0x61086ebf <_sigbe+70>: ret
End of assembler dump.
(gdb) x/32x $esp
0xa2415d4: 0x00000000 0x00000000 0x00230000 0x00000002
0xa2415e4: 0x0040b0a0 0x00000000 0x00403d88 0x00000001
0xa2415f4: 0xfffbf94f 0x0a241608 0x00403915 0x00000000
0xa241604: 0xfffbf94f 0x0a241638 0x61086f04 0x0000000e
0xa241614: 0x00000000 0xffffffff 0xffffffff 0x0a2420d0
0xa241624: 0x00000004 0x00230000 0xdeafdeaf 0xdeaddead
0xa241634: 0x00000246 0x0a241684 0x0a2420d0 0x00000000
0xa241644: 0x00000000 0x00403859 0x00000002 0x0040b0a0
(gdb) disas 0x61086f04
Dump of assembler code for function sigreturn:
0x61086f04 <sigreturn+0>: add $0x4,%esp
0x61086f07 <sigreturn+3>: call 0x610261c0 <set_process_mask>
0x61086f0c <sigreturn+8>: mov %fs:0x4,%ebx
0x61086f13 <sigreturn+15>: pop %edx
0x61086f14 <sigreturn+16>: test %edx,%edx
0x61086f16 <sigreturn+18>: jl 0x61086f20 <sigreturn+28>
0x61086f18 <sigreturn+20>: mov 0xfffff178(%ebx),%eax
0x61086f1e <sigreturn+26>: mov %edx,(%eax)
0x61086f20 <sigreturn+28>: pop %eax
0x61086f21 <sigreturn+29>: pop %ebx
0x61086f22 <sigreturn+30>: pop %ecx
0x61086f23 <sigreturn+31>: pop %edx
0x61086f24 <sigreturn+32>: pop %edi
0x61086f25 <sigreturn+33>: pop %esi
0x61086f26 <sigreturn+34>: popf
0x61086f27 <sigreturn+35>: pop %ebp
0x61086f28 <sigreturn+36>: jmp 0x61086e79 <_sigbe>
End of assembler dump.
(gdb) p/x *((_cygtls *) (0x230000-3744))
$2 = {func = 0x4038a0, saved_errno = 0xffffffff, sa_flags = 0x10000000,
oldmask = 0x0, newmask = 0xfffbf94f, event = 0x0, errno_addr = 0x22f228,
initialized = 0x43227, sigmask = 0x0, sigwait_mask = 0x0,
sigwait_info = 0x0, threadkill = 0x0, infodata = {si_signo = 0xe,
si_code = 0x1, si_pid = 0x45c, si_uid = 0x3f0, si_errno = 0x0, {__pad = {
0x72656d, 0x0, 0x244cb8, 0x8cf010, 0x8cf074, 0x610ef79c, 0x77fc49e0,
0x77f8ee5a, 0x77ed7618, 0xf8eb36, 0x240000, 0x8cedc0, 0x0, 0x8cef44,
0x8cee38, 0x8cee04, 0xffffffff, 0x8cef98, 0x77fa88f0, 0x77f511e8,
0xffffffff, 0x77f5f70f, 0x77f60f7f, 0x77d40000, 0x8ceecc, 0x0,
0x8ceee0, 0x1, 0x77e7b36e, 0x77d40000, 0x77e7b380, 0x77d40000}, {{{{
si_tid = 0x72656d, si_overrun = 0x0}, si_sigval = {
sival_int = 0x72656d, sival_ptr = 0x72656d}, si_value = {
sival_int = 0x72656d, sival_ptr = 0x72656d}}}}, {
si_status = 0x72656d, si_utime = 0x0, si_stime = 0x244cb8},
si_addr = 0x72656d}}, tid = 0xa040020, local_clib = {_errno = 0x4,
_stdin = 0x611132a8, _stdout = 0x61113310, _stderr = 0x61113378,
_inc = 0x0, _emergency = {0x0 <repeats 25 times>},
_current_category = 0x0, _current_locale = 0x61003e09, __sdidinit = 0x1,
__cleanup = 0x610d3510, _result = 0x0, _result_k = 0x0, _p5s = 0x0,
_freelist = 0x0, _cvtlen = 0x0, _cvtbuf = 0x0, _new = {_reent = {
_unused_rand = 0x0, _strtok_last = 0x0, _asctime_buf = {
0x0 <repeats 26 times>}, _localtime_buf = {__tm_sec = 0x0,
__tm_min = 0x0, __tm_hour = 0x0, __tm_mday = 0x0, __tm_mon = 0x0,
__tm_year = 0x0, __tm_wday = 0x0, __tm_yday = 0x0,
__tm_isdst = 0x0}, _gamma_signgam = 0x0, _rand_next = 0x0, _r48 = {
_seed = {0x0, 0x0, 0x0}, _mult = {0x0, 0x0, 0x0}, _add = 0x0},
_mblen_state = {__count = 0x0, __value = {__wch = 0x0, __wchb = {0x0,
0x0, 0x0, 0x0}}}, _mbtowc_state = {__count = 0x0, __value = {
__wch = 0x0, __wchb = {0x0, 0x0, 0x0, 0x0}}}, _wctomb_state = {
__count = 0x0, __value = {__wch = 0x0, __wchb = {0x0, 0x0, 0x0,
0x0}}}, _l64a_buf = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
_signal_buf = {0x0 <repeats 24 times>}, _getdate_err = 0x0,
_mbrlen_state = {__count = 0x0, __value = {__wch = 0x0, __wchb = {0x0,
0x0, 0x0, 0x0}}}, _mbrtowc_state = {__count = 0x0, __value = {
__wch = 0x0, __wchb = {0x0, 0x0, 0x0, 0x0}}}, _mbsrtowcs_state = {
__count = 0x0, __value = {__wch = 0x0, __wchb = {0x0, 0x0, 0x0,
0x0}}}, _wcrtomb_state = {__count = 0x0, __value = {__wch = 0x0,
__wchb = {0x0, 0x0, 0x0, 0x0}}}, _wcsrtombs_state = {
__count = 0x0, __value = {__wch = 0x0, __wchb = {0x0, 0x0, 0x0,
0x0}}}}, _unused = {_nextf = {0x0 <repeats 30 times>},
_nmalloc = {0x0 <repeats 30 times>}}}, _atexit = 0x0, _atexit0 = {
_next = 0x0, _ind = 0x0, _fns = {0x0 <repeats 32 times>},
_on_exit_args = {_fnargs = {0x0 <repeats 32 times>}, _fntypes = 0x0}},
_sig_func = 0x0, __sglue = {_next = 0x0, _niobs = 0x3,
_iobs = 0x611132a8}, __sf = {{_p = 0x0, _r = 0x0, _w = 0x0,
_flags = 0x0, _file = 0x0, _bf = {_base = 0x0, _size = 0x0},
_lbfsize = 0x0, _data = 0x0, _cookie = 0x0, _read = 0x0, _write = 0x0,
_seek = 0x0, _close = 0x0, _ub = {_base = 0x0, _size = 0x0},
_up = 0x0, _ur = 0x0, _ubuf = {0x0, 0x0, 0x0}, _nbuf = {0x0}, _lb = {
_base = 0x0, _size = 0x0}, _blksize = 0x0, _flags2 = 0x0,
_offset = 0x0, _seek64 = 0x0, _lock = 0x0}, {_p = 0x0, _r = 0x0,
_w = 0x0, _flags = 0x0, _file = 0x0, _bf = {_base = 0x0, _size = 0x0},
_lbfsize = 0x0, _data = 0x0, _cookie = 0x0, _read = 0x0, _write = 0x0,
_seek = 0x0, _close = 0x0, _ub = {_base = 0x0, _size = 0x0},
_up = 0x0, _ur = 0x0, _ubuf = {0x0, 0x0, 0x0}, _nbuf = {0x0}, _lb = {
_base = 0x0, _size = 0x0}, _blksize = 0x0, _flags2 = 0x0,
_offset = 0x0, _seek64 = 0x0, _lock = 0x0}, {_p = 0x0, _r = 0x0,
_w = 0x0, _flags = 0x0, _file = 0x0, _bf = {_base = 0x0, _size = 0x0},
_lbfsize = 0x0, _data = 0x0, _cookie = 0x0, _read = 0x0, _write = 0x0,
_seek = 0x0, _close = 0x0, _ub = {_base = 0x0, _size = 0x0},
_up = 0x0, _ur = 0x0, _ubuf = {0x0, 0x0, 0x0}, _nbuf = {0x0}, _lb = {
_base = 0x0, _size = 0x0}, _blksize = 0x0, _flags2 = 0x0,
_offset = 0x0, _seek64 = 0x0, _lock = 0x0}}}, locals = {grp = {
gr_name = 0x0, gr_passwd = 0x0, gr_gid = 0x0, gr_mem = 0x0},
namearray = {0x0, 0x0}, grp_pos = 0x0, rarg = 0x0, dl_error = 0x0,
dl_buffer = {0x0 <repeats 256 times>}, res = {pw_name = 0x0,
pw_passwd = 0x0, pw_uid = 0x0, pw_gid = 0x0, pw_comment = 0x0,
pw_gecos = 0x0, pw_dir = 0x0, pw_shell = 0x0}, pass = {
0x0 <repeats 128 times>}, pw_pos = 0x0, mntbuf = {mnt_fsname = 0x0,
mnt_dir = 0x0, mnt_type = 0x0, mnt_opts = 0x0, mnt_freq = 0x0,
mnt_passno = 0x0}, iteration = 0x0, available_drives = 0x0, mnt_type = {
0x0 <repeats 80 times>}, mnt_opts = {0x0 <repeats 80 times>},
mnt_fsname = {0x0 <repeats 260 times>}, mnt_dir = {
0x0 <repeats 260 times>}, strerror_buf = {0x0 <repeats 20 times>},
process_ident = 0x0, process_logopt = 0x0, process_facility = 0x0,
process_logmask = 0xff, timezone_buf = {0x0 <repeats 20 times>},
_localtime_buf = {tm_sec = 0x0, tm_min = 0x0, tm_hour = 0x0,
tm_mday = 0x0, tm_mon = 0x0, tm_year = 0x0, tm_wday = 0x0,
tm_yday = 0x0, tm_isdst = 0x0}, username = {0x0 <repeats 257 times>},
ntoa_buf = 0x0, protoent_buf = 0x0, servent_buf = 0x0, hostent_buf = 0x0,
signamebuf = {0x0 <repeats 29 times>}}, prev = 0x0, next = 0x0,
stackptr = 0x22fbfc, sig = 0x0, stacklock = 0x1, spinning = 0x0, stack = {
0x0 <repeats 256 times>}, padding = 0x230000,
static protect_linked_list = <optimized out>}
________________________________________________________________________________
-----Original Message-----
From: Christopher Faylor [mailto:cgf-no-personal-reply-please AT cygwin DOT com]
Sent: Tuesday, February 17, 2004 10:27 AM
To: cygwin AT cygwin DOT com
Subject: Re: 1.5.7-1: Repeatible crash in cygwin1.dll, _sigbe
On Tue, Feb 17, 2004 at 10:22:31AM -0600, Cliff Geschke wrote:
>I am trying to run RTEMS (see www.rtems.com) under cygwin under WindowsXP.
>I encountered a repeatible crash in the pre-built cygwin binaries.
>To debug it, I downloaded sources and built cygwin1.dll by hand.
Try CVS.
>(Has anyone tried to make cygwin under cygwin recently?
Yes. All of the time.
>It failed, but that's another story)
Then why mention it without providing any details?
>The instruction at _sigbe+22 is fetching a bad value to $eax.
>The value of tls_stackptr looks bad. It has been decremented too many
>times.
>
>tls_stack = -1024
>p/x 0x230000-1024
>$22 = 0x22fc00
Thanks for debugging this. If it is still broken in CVS, please send a similar
report here.
cgf
--
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/
- Raw text -