Stack corruption in dsound.c

Dan Kegel dank at kegel.com
Thu May 6 12:47:59 CDT 2010


>* Can i make assumption, that log produced by wine is not buffered anywhere
>and is written to console sequentially and immediately when that event
>happened? (in other words log output doesn't outrun each other lines)

Sadly, not in a multithreaded program.

>* Is HEAP_ValidateInUseArena called automatically when HeapAlloc() or
>HeapFree() is called?

When WINEDEBUG=+heap, it's called on HeapFree, HeapReAlloc, or HeapSize.  See
http://source.winehq.org/ident?i=HEAP_ValidateInUseArena
http://source.winehq.org/ident?i=validate_block_pointer

Now that you know there is heap corruption, you may be able to
pinpoint the line of code that causes it using Valgrind.
See http://wiki.winehq.org/Wine_and_Valgrind
(It's slow and uses lots of memory, so it's not practical for all apps,
but when it works it's great.)



More information about the wine-devel mailing list