http://bugs.winehq.com/show_bug.cgi?id=1215
------- Additional Comments From winebug@flonet.net 2003-23-06 13:15 ------- Bug comments restored from Gmane.org:
(Version in use is actually 20021031, but this error has existed for a long time, on both -current and -stable, from ports or CVS).
After using any windows binary I've tried with FreeBSD's wine from ports, I eventually get an error: wine in malloc(): error: recursive call
It also shows up as "wine in free(): error: recursive call," and sometimes several of them can show up in the output. The application hangs soon afterwards (I am guessing it's right when the malloc recursion happens). In particular I've been trying to use the Exile 3 binary, but with that it happens after some minutes of play. When I was trying counterstrike it happened very quickly.
Notable excerpt from the malloc manpage:
recursive call A process has attempted to call an allocation function recursively. This is not permitted. In particular, signal handlers should not attempt to allocate memory.
However, I think I've tracked down the mallocs/frees that can happen as a result of signals. One set (server/registry.c) I patched to not malloc/free. I put in a printf around the segv handler, and this recursive malloc doesn't appear to be happening during segv. Would the rforking(RFPROC|RFMEM) cause this?
------- Additional Comments From eta <at> lclark.edu 2003-02-20 18:13 ------- *** This bug has been confirmed by popular vote. ***