[Wine]old Wine from CVS

Mark Knecht markknecht at gmail.com
Sat Oct 30 10:16:59 CDT 2004


On Fri, 29 Oct 2004 20:43:50 -0700 (PDT), Walt Ogburn
<reuben at ugcs.caltech.edu> wrote:
> 
> It turns out the scribbling is almost it!  The crash is not the scribbling
> itself, but the "char buf[JACK_THREAD_STACK_TOUCH];".  This is usually
> something huge.  If you make it smaller, the crash goes away - for me, the
> critical value is 14528 (OK), 14529 (crashes).  It seems that the end of
> buf is getting close to 0xC0000000 when the size of buf is 14528, and
> maybe something starts to go over.
> 
> Now, I don't know anything about memory issues, so why is 0xC0000000 so
> important?
> 
> If one of you who has tried compiling the doesn't-break-jack-fst version
> of wine cares to check, you might see which of the following possibilities
> is the case with the older wine: (1) buf doesn't get close to 0xC0000000;
> or (2) it does, but it's OK.  I just replaced the size of buf in
> libjack/client.c: jack_activate with 14528 by hand and put in a debugging
> message like
> 
> printf ("buf: base = %p, size = %d, end = %p.\n", buf, size(buf), buf+sizeof(buf));
> 
> (Of course, if you don't want a crash, you should also replace
> JACK_THREAD_STACK_TOUCH with 14528 in the scribbling code!)
> 
> - Walter

Very interesting. Thanks! With this I can go back to the jack_fst
developers and get them involved more effectively.

I keep coming back to what Alexandre wrote in the memo part of the
Wine update that broke this:

<SNIP>
Log message:
	Added support for managing reserved memory areas in libwine and ntdll.
	Try to reserve everything above 0x80000000 on startup.
<SNIP>

Is it important because all memory above 0x8000000 is now reserved by Wine?

I'll add your print statements later this morning and report back what I find.

Thanks!

- Mark



More information about the wine-users mailing list