Mail Archives: cygwin/2003/10/08/15:13:25
Christopher Faylor wrote:
>Brian Ford wrote:
>>It looks to me like the stack is corrupted, but I'm probably just being
>>naive.
>
>This is unfortunately a standard stack for a frame-pointerless function
>(probably *WaitForMultipleWindowsEx). The laborious way to find the
>caller is to do something like a:
>
>x/200x $esp
>
>and then look for 0x6100xxxx addresses in the output, decoding them with
>something like:
>
>l *0x61041234
>
>There will be some garbage on the stack so some 0x6100xxxx addresses will
>not be useful.
>
Ok. Thanks.
The hand decoded trace (The same one as before. I still had gdb up.) is
below.
>That's the only way I know of to deal with this. If gcc produced dwarf2
>output, we could use the CFI to get more accurate information about the
>stack frame but that's not going to happen anytime soon.
>
Was that a hint for me :). Getting gcc to product dwarf2 output is easy.
Getting the resulting executable to run with the dwarf2 sections is the
hard part. It (dwarf2) needs a section relative relocation in gas/ld/bfd
like I said before. Know anyone who wants to help? :D
>>I included all three thread backtraces just in case anyone can see
>>anything. Let me know if have any better idea about how to track this
>>down.
>
>The trace from thread 2 is what I would expect. Thread 1 is obviously
>waiting for something but I don't know what without more stack info.
>
I'll do thread 3 too if you think it is relevent.
(gdb) info threads
3 thread 1920.0x4f0 0x77f75a59 in ntdll!DbgUiConnectToDbg ()
from /cygdrive/c/WINDOWS/System32/ntdll.dll
2 thread 1920.0x6e4 0x7ffe0304 in ?? ()
* 1 thread 1920.0x760 0x7ffe0304 in ?? ()
(gdb) thread 1
[Switching to thread 1 (thread 1920.0x760)]#0 0x7ffe0304 in ?? ()
(gdb) bt
#0 0x7ffe0304 in ?? ()
#1 0x77f5c524 in ntdll!ZwWaitForMultipleObjects ()
from /cygdrive/c/WINDOWS/System32/ntdll.dll
#2 0x77e75ee0 in WaitForMultipleObjectsEx ()
from /cygdrive/c/WINDOWS/system32/kernel32.dll
#3 0x610901e9 in muto::acquire(unsigned long) (../../../../cygwin/winsup/cygwin/sync.cc:75)
#4 0x6108b587 is in WFMO (../../../../cygwin/winsup/cygwin/sigproc.cc:1248)
#5 0x61090410 is in close_all_files() (../../../../cygwin/winsup/cygwin/syscalls.cc:10
#6 0x6108d81f is in spawn_guts(char const*, char const* const*, char const* const*, int) (../../../../cygwin/winsup/cygwin/spawn.cc:847)
#7 0x6108c830 is in do_cleanup(void*) (../../../../cygwin/winsup/cygwin/spawn.cc:336)
(gdb) thread 2
[Switching to thread 2 (thread 1920.0x6e4)]#0 0x7ffe0304 in ?? ()
(gdb) bt
#0 0x7ffe0304 in ?? ()
#1 0x77f5bfb4 in ntdll!ZwReadFile ()
from /cygdrive/c/WINDOWS/System32/ntdll.dll
#2 0x77e7abbd in ReadFile () from /cygdrive/c/WINDOWS/system32/kernel32.dll
#3 0x6108ad36 is in wait_sig(void*) (../../../../cygwin/winsup/cygwin/sigproc.cc:1089)
#4 0x610a0ddb is in pthread_key::set(void const*) (../../../../cygwin/winsup/cygwin/thread.cc:1384)
#5 0x61002d00 is in cygthread::stub(void*) (../../../../cygwin/winsup/cygwin/cygthread.cc:32)
#6 0x61024a70 is in handle_exceptions (../../../../cygwin/winsup/cygwin/exceptions.cc:420)
#7 0x61002d00 is in cygthread::stub(void*) (../../../../cygwin/winsup/cygwin/cygthread.cc:32)
(gdb) thread 3
[Switching to thread 3 (thread 1920.0x4f0)]#0 0x77f75a59 in ntdll!DbgUiConnectToDbg () from /cygdrive/c/WINDOWS/System32/ntdll.dll
(gdb) bt
#0 0x77f75a59 in ntdll!DbgUiConnectToDbg ()
from /cygdrive/c/WINDOWS/System32/ntdll.dll
#1 0x77f5f31f in ntdll!KiUserCallbackDispatcher ()
from /cygdrive/c/WINDOWS/System32/ntdll.dll
#2 0x00000005 in ?? ()
#3 0x00000004 in ?? ()
#4 0x00000001 in ?? ()
#5 0x003fffd0 in ?? ()
#6 0x85e0d020 in ?? ()
#7 0xffffffff in ?? ()
#8 0x77fa88f0 in wcstombs () from /cygdrive/c/WINDOWS/System32/ntdll.dll
(gdb)
--
Brian Ford
Senior Realtime Software Engineer
VITAL - Visual Simulation Systems
FlightSafety International
Phone: 314-551-8460
Fax: 314-551-8444
--
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 -