[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    Re: ole32: don't crash when running the marshal tests on Vista.
From:       "Reece Dunn" <msclrhd () googlemail ! com>
Date:       2008-07-31 7:56:13
Message-ID: 3f4fd2640807310056k5bdec3efgee391f841ec9c37f () mail ! gmail ! com
[Download RAW message or body]

2008/7/31 Rob Shearman <robertshearman@gmail.com>:
> 2008/7/30 Reece Dunn <msclrhd@googlemail.com>:
> > When running the ole32:marshal tests on Vista, the call to
> > CoUnmarshalInterface fails. This results in pProxy being NULL which
> > then causes the crash on the QueryInterface call.
> > 
> > This patch makes sure that the pProxy-dependant tests are only called
> > when pProxy is valid.
> 
> We need to work out why the test is failing - possibly it requires
> more implementation of the object we are marshalling than in previous
> versions of Windows.

Looking at this in more detail, from
(http://test.winehq.org/data/daafda22f840edc9a584abc7925f9ee17ef18228/vista_APetaccia-NXbitSet/ole32:marshal.html):


  marshal.c:2337: Test failed: "CoUnmarshalInterface" failed with
error 0x80040154
  marshal.c:2340: Test failed: Number of locks should be > 0, but actually is 0
  test failed: timed out

on my current setup, I get the first two, but the test crashes. This
may be because I have SP1 installed which makes it like the 2008
results in most cases. This is backed up by the results at
http://test.winehq.org/data/a0289148e14728e45587b8cb17f90862d8400939/,
where there are Vista, Vista SP1 and 2008 test results.

NOTE: 0x80040154 is "class no registered", so I suspect that this is
due to the IWineTest interface not being registered.

> Also, the typical way of detecting failure in our COM code in Wine is
> to check the return value rather than whether a output object is NULL
> or not.

The test_marshal_and_unmarshal_invalid test in marshal.c has a similar
check (line 405), so there is already a presedence for this.

- Reece


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic