Any advice on how to debug this?

Medland, Bill Bill.Medland at accpac.com
Wed Jul 10 15:16:07 CDT 2002


Thanks Eric
> -----Original Message-----
> From: Eric Pouech [mailto:eric.pouech at wanadoo.fr]
> Sent: Wednesday, July 10, 2002 12:50 PM
> To: Medland, Bill
> Subject: Re: Any advice on how to debug this?
> 
> 
> "Medland, Bill" a écrit :
> > 
> > > -----Original Message-----
> > So now what do we do.
> > 
> > Having messed about, got a repeatable case and generally 
> bashed my head
> > around I have got to the following unfortunate situation.
> > 
> > It looks to me like:
> > 
> > comctl32.dll includes a shared data segment.
> > One of the entries in that segment, presumably during the 
> DllEntry, is
> > populated with the address of GetSystemMetrics
> > 
> > A second copy of comctl32 then tries to use that address to call
> > GetSystemMetrics
> > 
> > Unfortunately the second process has user32 mapped 
> somewhere else and so the
> > call goes somewhere weird and things fall over.
> > 
> > Any ideas as to what we can do about it?
> hmm bad news... 
> 
> did you try to run your app with a NT version (instead of a 
> Win9x), that
> could help (maybe)

No, but I have now.  (and ignored all the complaints about mixed versions).
It works!!

I think that this will be the way to go; see Alexandre's reply.

> another thought, when your processes disapear under the 
> debugger, is the
> wineserver still up and running (if it crashes, it may explain the
> vanishing processes)
Yes it was
> another solution would be to disable the support for the shared data
> segment... but in your case, it could fix this issue but open another
> one
TOO TRUE!!  The app is very dependent upon shared data segments.
> 
> btw, are you sure user32.dll is mapped at another address in 
> the second
> process
Yes
> another fix would be to force some DLLs to be loaded at fixed 
> addresses
> (user32 could be one of them)...
> another question, are you sure the two processes load the 
> same user32 ?
Yes
> (could it be that two wine versions coexist and that a 
> different one is
> loaded in each process) ?
> 
> A+
> 
Thanks for all the help

Bill



More information about the wine-devel mailing list