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[2]: [Possible BUG and a fix] Re[2]: Setup.Exe causes Application Error at 0x78001750


Hello Robert,

Saturday, March 23, 2002, 5:34:28 AM, you wrote:

RC> Thanks for taking the time to look at this - I really appreciate that.

RC> BTW: If it's reproducible, tell me the steps and I'll look too. Also, if
RC> it's reproducible, try building with -DDEBUG.

Yep! I found a way to reproduce it... Though on my system setup.exe
still doesnt break - I just see something like "RtlFreeHeap: Invalid
block " or somthing like that... I'd say that it depends on your
system whether or not you'll experience the crash - I'm on WinXP home.
I'm sure one could reproduce this very easy on Wine - its very
sensitive about heap corruption unlike windowses...

1. Get msvcrt.dll 6.1.8293
2. Put it in the same directory where your setup.exe is.
3. Run setup.exe in gdb ... wait to see the RtlFreeHeap message :)

I asked on the list for a dump of setup.exe at the time of the crash so
I could determine in which dll this 78001750 is located. I turned out
MSVCRT.DLL. I asked one of the people to supply me with his MSVCRT.DLL
and I found that this 78001750 is part of a helper function used by
realloc () and free (). Started to browse the code an found no
suspicios call to free() or realloc()...
Then Matt would come with a drwatsn.log and I found the return address
that the call which crashed setup.exe would use to return.
Then I remembered that i have setup-20020317.exe which had the debug
info :)). Found with my disassemler the function which contained the
return address from above unfortunately the disassembler doesnt
understand the debug info of setup.exe. So I put a breakpoint in gdb on
the address I found with the disassembler and it turned its __builtin_vector_delete.
Then I send a mail to the list about that... After that I decided to
run setup.exe from gdb as described in the steps above and gdb broke
in the right place :)

Bah, this was too long :) I'll supply you with the msvcrt.dll offlist
so you could try by yourself.

P.S. Forgot to mention that I;ve built setup.exe with my suggested
patch and it was fine :) Send a copy of it to Matt Seitz to test it
but I guess this was to early in the morning :)


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.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]