'kernel32_test loader' causes BSOD on XP SP1
Dmitry Timoshkov
dmitry at codeweavers.com
Mon Nov 5 05:03:24 CST 2007
"Francois Gouget" <fgouget at free.fr> wrote:
> So I'm running tests in an XP SP1 VM and yet, you can see no such
> results on http://test.winehq.org/data/. The reason for is that the
> 'kernel32_test loader' causes XP SP1 to crash, so that winetest.exe
> never has an opportunity to send the results.
>
> So I investigated this and the specific test that causes the crash is
> this one:
>
> { &dos_header, sizeof(dos_header),
> 1, sizeof(IMAGE_OPTIONAL_HEADER), 0x200, 0x200,
> sizeof(dos_header) + sizeof(nt_header) + sizeof(IMAGE_SECTION_HEADER) + 0x1000,
> sizeof(dos_header) + sizeof(nt_header) + sizeof(IMAGE_SECTION_HEADER),
> ERROR_SUCCESS
> },
>
> I noticed the 0x1000. Shouldn't this be a 0x200? Or is that the whole
> point of this test? In any case, changing it to 0x200 avoids crashing
> SP1.
>
> Another weird way to avoid the crash is to introduce a Sleep(1000) just
> before the LoadLibrary().
>
> I've summed up both ways to avoid the crash in the patch below.
> Hopefully someone more familiar with the loader than me can have a look
> into this and suggest a proper fix.
A proper fix would be either to remove that particular test altogether, or
replace 0x1000 by 0x200.
--
Dmitry.
More information about the wine-devel
mailing list