[OLE #31] Dynamically Allocate the MTA

Vincent Béron vberon at mecano.gme.usherb.ca
Mon Jan 17 20:52:50 CST 2005


Le lun 17/01/2005 à 19:12, Robert Shearman a écrit :
> Vincent Béron wrote:
> 
> >Le mar 11/01/2005 à 14:03, Robert Shearman a écrit :
> >  
> >
> >>Changelog:
> >>- Make MTA dynamically allocated so that proxies and other resources are 
> >>freed at the proper time.
> >>- Changed/removed some incorrect comments regarding apartments.
> >>----
> >>
> >>    
> >>
> >
> >This patch broke wineprefixcreate invocation for me.
> >
> >What happens is I get a:
> >X Error of failed request:  BadWindow (invalid Window parameter)
> >  Major opcode of failed request:  18 (X_ChangeProperty)
> >  Resource id in failed request:  0x77e61740
> >  Serial number of failed request:  107
> >  Current serial number in output stream:  114
> >error while wineprefixcreate runs "wine rundll32.exe
> >setupapi.dll,InstallHinfSection DefaultInstall 128 wine.inf".
> >
> >The error do go away if one of avifil32.dll or devenum.dll is commented
> >out in [RegisterDllsSection] in wine.inf.
> >
> >My personal guess is that one (or both) of those dlls do something which
> >they should not, and we end up with using freed or unallocated memory.
> >  
> >
> 
> I don't see the problem on my machine. Do the tests in dlls/ole32/tests 
> work for you?

Not all of them (marshal: 107 tests executed, 0 marked as todo, 12
failures, moniker: 2 tests executed, 0 marked as todo, 1 failure,
propvariant: 298 tests executed, 0 marked as todo, 0 failures,
storage32: 89 tests executed, 0 marked as todo, 1 failure). 

> Is it possible to capture a +ole log for the wineprefixcreate invocation?
> I'll do a review of the code paths that patch touches anyway, but I 
> don't see how it could affect things - devenum does not use MTAs and 
> avifil32 does not use COM.

Since reaching the original conclusion yesterday, I'm able to have the
same error with the 20050111 snapshot. So I don't think anymore that
your patch was the problem (although at the time, a cvs updated at "Jan
12 19:27:00 2005 UTC" worked fine and one updated at "Jan 12 19:27:05
2005 UTC" caused the error).

I guess some more work is needed on my part to clearly identify what's
the problem (and it's cause).

Vincent





More information about the wine-devel mailing list