This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: setup hangs during postinstall


On Wed, Oct 08, 2003 at 12:27:22PM -0500, Brian Ford wrote:
>Christopher Faylor wrote:
>>On Wed, Oct 08, 2003 at 12:49:44PM -0400, Igor Pechtchanski wrote:
>>>This is a known bug (as a search of the recent archives would have
>>>shown).  People are investigating.  As a short term workaround, you can
>>>"mv /etc/postinstal/XFree86-bin-icons.sh{,.done}" and rerun setup.
>>
>>I sure wish I could duplicate this bug...
>>
>Well, I can.
>
>I've got an XP box running a current CVS compiled cygwin DLL,
>a current CVS compiled cygpath, and a just downloaded setup stuck
>reinstalling XFree86-bin-icons.  I attached gdb to cygpath and got the
>following.
>
>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.

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.

>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.

cgf

>(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  0x00000003 in ?? ()
>#4  0x0022e13c in ?? ()
>#5  0x00000001 in ?? ()
>(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  0x00000768 in ?? ()
>(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)

--
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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]