Quoting Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>:
> Pavel Tsekov <ptsekov@syntrex.com> wrote:
> :>
> :> Pavel Tsekov <ptsekov@syntrex.com> wrote:
> :> : fixme:msvcrt:MSVCRT_signal (11 (nil)):stub
> :> It seems to me like you are using builtin MSVCRT. Signal Handling is
> broken
> :> there. If the programm uses signal handling, it probably will
> crash.
>
> : Nope It's pretty simple and it fails on a call to malloc as I
> : said before.. If I only knew how to copy and paste from
> : winedebug I'd show you the backtrace. The problem is
> : in heap.c, line 353 - something on this line causes
> : signal 11 to be generated.
> Running with --debugmsg +heap you get something like:
> 0806feb0:Call msvcrt.strcat(403a4005 "Cygwin/bin/",403a3fb0
> "/pinco/panco") ret=004014f2
> 0806feb0:Ret msvcrt.strcat() retval=403a4005 ret=004014f2
> 0806feb0:Call msvcrt.free(403a3fac) ret=00401501
> 0806feb0:Call kernel32.HeapFree(403a0000,00000000,403a3fac)
> ret=42563e35
> err:heap:HEAP_ValidateFreeArena Heap 403a0000: prev arena 403a401c
> invalid for 403a0344
> Heap: 403a0000
>
> This looks like heap corruption. In
> URLParser.cc:127: strcat ((char *) path, schema);
> you scribble to path, but you have no storage allocated for path.
>
> So recheck you code.
Thanks, for your analisys - the call to realloc () before the strcat ()
is unchecked indeed - however this means that wine fails repeatedly
every call to realloc (). If you could give me any pointers how to debug
further the problem I'll be glad to try and see whats going on exactly.
Note that this code even with the unchecked calls to realloc () runs fine
on win2k and linux. Btw I'll add the additional checks but I still think
there
is some kind of problem with wine.