[Bug 40537] New: ddraw:ddraw1 causes Windows XP to crash
https://bugs.winehq.org/show_bug.cgi?id=40537 Bug ID: 40537 Summary: ddraw:ddraw1 causes Windows XP to crash Product: Wine Version: 1.9.8 Hardware: x86 OS: Windows Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs(a)winehq.org Reporter: fgouget(a)codeweavers.com Since 2016/04/22 running ddraw:ddraw1 on my EeePC (Intel GMA 950) crashes Windows XP. So the crash is caused by one of these two commits: commit 7cabef1457fe0aae4319339fdc46b059b41fc3bf Author: Henri Verbeet <hverbeet(a)codeweavers.com> AuthorDate: Thu Apr 21 17:05:09 2016 +0200 Commit: Alexandre Julliard <julliard(a)winehq.org> CommitDate: Fri Apr 22 12:22:45 2016 +0900 ddraw: Require exclusive mode only for primary surface flips. Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> commit 1736431c683ade50a8e539331158dc5570cd300c Author: Henri Verbeet <hverbeet(a)codeweavers.com> AuthorDate: Thu Apr 21 17:05:08 2016 +0200 Commit: Alexandre Julliard <julliard(a)winehq.org> CommitDate: Fri Apr 22 12:22:42 2016 +0900 ddraw: Allow DDSCAPS_FLIP without DDSCAPS_PRIMARYSURFACE. Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 François Gouget <fgouget(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source, testcase -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 Dmitry Timoshkov <dmitry(a)baikal.ru> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 François Gouget <fgouget(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |7cabef1457fe0aae4319339fdc4 | |6b059b41fc3bf --- Comment #1 from François Gouget <fgouget(a)codeweavers.com> --- Further tests show that just reverting the 7cabef14 patch fixes the Windows XP crash. ddraw:ddraw2, ddraw:ddraw4 and ddraw:ddraw7 also cause Windows XP to crash when the 7cabef14 patch is applied and don't when it is not. More precisions on the hardware and software: * Windows XP SP3 * Intel Graphics Media Accelerator 6.14.10.4906 driver (DirectX 9.0) * Intel GMA 950 GPU (Mobile 945 Express Chipset Family) Video BIOS 1585.0 * 128MB of video RAM, 1024x600 32bpp -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 Julius Schwartzenberg <julius.schwartzenberg(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |julius.schwartzenberg(a)gmail | |.com --- Comment #2 from Julius Schwartzenberg <julius.schwartzenberg(a)gmail.com> --- Maybe it would be a good idea to disable the automatic reboot on BSoD and catch the error? If Windows XP would still be supported, it would be appropriate to send the test case to Microsoft/Intel, but I guess this would be useless now. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 parkerjbarker(a)yahoo.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |parkerjbarker(a)yahoo.com --- Comment #3 from parkerjbarker(a)yahoo.com --- Ddraw:ddraw1 also crashes my 32-bit Vista Ultimate. The build I tried to test is: https://test.winehq.org/data/8a92dd9a5720c4b6b334e4f13629c0b0f5a72e94 which is the test for release 1.9.20. *** STOP: 0x0000008E (0xC0000005, 0xA5CDBD96, 0xADC6F7B4, 0x00000000) *** ialmdev5.DLL - Address A5CDBD96 base at A5CD0000, DateStamp 4549bcd2 This was after the various screen resolution changes. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 --- Comment #4 from parkerjbarker(a)yahoo.com --- Is there a way to download wine test programs for previous builds?? It's not straightforward on the winehq test runs page. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 --- Comment #5 from François Gouget <fgouget(a)codeweavers.com> --- (In reply to parkerjbarker from comment #4)
Is there a way to download wine test programs for previous builds?? It's not straightforward on the winehq test runs page.
You can get them from the "Main summary for build ..." headers on test.winehq.org. For instance: https://test.winehq.org/builds/winetest-2035a8c7c84a.exe -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 --- Comment #6 from parkerjbarker(a)yahoo.com --- So... why doesn't someone just send in a patch to revert the 7cab commit? That seems easy enough. If I knew how to do it, I'd probably do it. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 fjfrackiewicz(a)gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |fjfrackiewicz(a)gmail.com --- Comment #7 from fjfrackiewicz(a)gmail.com --- (In reply to parkerjbarker from comment #6)
So... why doesn't someone just send in a patch to revert the 7cab commit? That seems easy enough. If I knew how to do it, I'd probably do it.
You might want to CC the author of the patch in this bug report so they know about your findings and see what they have to say. Usually that's what is supposed to be done: you list the regression and CC the author of the commit that causes the regression in your bug report. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 --- Comment #8 from Henri Verbeet <hverbeet(a)gmail.com> --- (In reply to parkerjbarker from comment #6)
So... why doesn't someone just send in a patch to revert the 7cab commit?
Because so far all the evidence suggests this is a driver issue instead of an issue with the commit in question. It may very well be possible to create a workaround for that issue, but that requires finding out what the issue is first, and that requires someone who can reproduce the issue taking a look. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 --- Comment #9 from parkerjbarker(a)yahoo.com --- I completed the wine test, build 21dd04670c1e2fa06bfc5bbb5b0c6f4537cde9a4 (released just after 2.0-RC2), and it works and doesn't cause a blue screen for me any more. Thank you! -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 winetest(a)luukku.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dimesio(a)earthlink.net, | |winetest(a)luukku.com -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 --- Comment #10 from François Gouget <fgouget(a)codeweavers.com> --- This issue is still present in b5ad6a44801e. On my Windows XP EeePC ddraw:ddraw{1,2,4,7} still all cause a BSOD with a message implicating the graphics driver. Here is the debug information (the 0xA81E8628 changes with each run, the rest is constant): *** STOP: 0x0000008E (0xC0000005,0xBF05A2C6,0xA81E8628,0x00000000) *** igxpdv32.DLL - Address BF05A2C6 base at BF04F000, DateStamp 476971c3 The crash goes away when I switch the hardware acceleration from "Disable all cursor and advanced drawing acceleration." to "Disable all DirectDraw and Direct3D, and cursor and advanced drawing acceleration.". Of course then most tests are skipped... -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 --- Comment #11 from Henri Verbeet <hverbeet(a)gmail.com> --- (In reply to François Gouget from comment #10)
The crash goes away when I switch the hardware acceleration from "Disable all cursor and advanced drawing acceleration." to "Disable all DirectDraw and Direct3D, and cursor and advanced drawing acceleration.". Of course then most tests are skipped... Does it work if you don't disable acceleration at all?
Could you find out if there's a specific change/function call that causes the issue? E.g., is this because the set_display_mode() call was removed, or does this happen when trying to restore surfaces, etc.? Does this only happen for a specific surface type (see test_data[]), or all of them? Does this happen when test_flip() is run on its own, or does it somehow depend on state set by a previous test? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 --- Comment #12 from François Gouget <fgouget(a)codeweavers.com> --- (In reply to Henri Verbeet from comment #11)
Does it work if you don't disable acceleration at all?
I only started playing with the acceleration settings to try and narrow down the issue. So yes, with full acceleration (the default), it crashes. Against all expectations I found a slightly newer driver: 6.14.10.4926 (2008-02-28, winxp_14324.exe)). https://downloadcenter.intel.com/download/16835/Intel-Graphics-Media-Acceler... However even with this driver ddraw:ddraw1 crashes in essentially the same way: *** STOP: 0x0000008E (0xC0000005,0xBF05A2C6,0xA81F0628,0x00000000) *** igxpdv32.DLL - Address BF05A2C6 base at BF04F000, DateStamp 47b6002d Dissecting the test now... -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 --- Comment #13 from François Gouget <fgouget(a)codeweavers.com> --- Created attachment 56743 --> https://bugs.winehq.org/attachment.cgi?id=56743 Minimal ddraw1.c file to reproduce the crash The ddraw1 crash happens in restore_surfaces() call, even if restore_callback() does nothing at all. However further investigation shows that neither the removed set_display_mode() call, nor the lines added by 7cabef14 matter: I came up with a minimal test that reliably produces the same crash. What the driver does not like is the DDSCAPS_COMPLEX | DDSCAPS_FLIP | DDSCAPS_TEXTURE CreateSurface() combination. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 --- Comment #14 from Henri Verbeet <hverbeet(a)gmail.com> --- Created attachment 56745 --> https://bugs.winehq.org/attachment.cgi?id=56745 modified test Does this also crash? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 --- Comment #15 from François Gouget <fgouget(a)codeweavers.com> --- Yes, this produces the same crash. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 --- Comment #16 from François Gouget <fgouget(a)codeweavers.com> --- I'll add that removing either DDSCAPS_COMPLEX or DDSCAPS_FLIP from surface_desc.ddsCaps.dwCaps for the IDirectDraw_EnumSurfaces() call avoids the crash. It's only when they are together that the crash happens. (reader from the future: see the modified test attachment) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 --- Comment #17 from Henri Verbeet <hverbeet(a)gmail.com> --- (In reply to François Gouget from comment #16)
I'll add that removing either DDSCAPS_COMPLEX or DDSCAPS_FLIP from surface_desc.ddsCaps.dwCaps for the IDirectDraw_EnumSurfaces() call avoids the crash. It's only when they are together that the crash happens. (reader from the future: see the modified test attachment) That makes sense, removing those likely makes it fail validation in the ddraw runtime, before the driver gets involved.
-- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 --- Comment #18 from Henri Verbeet <hverbeet(a)gmail.com> --- Created attachment 56801 --> https://bugs.winehq.org/attachment.cgi?id=56801 patch Does this patch help? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 --- Comment #19 from François Gouget <fgouget(a)codeweavers.com> --- It does: Windows no longer crashes. (there are still failures and the tests themselves crash in test_color_fill() but those are separate issues) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 Henri Verbeet <hverbeet(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Fixed by SHA1| |544fd16c15943fecec9ad03d201 | |d24f5775c1224 Status|NEW |RESOLVED --- Comment #20 from Henri Verbeet <hverbeet(a)gmail.com> --- Should be fixed by commit 544fd16c15943fecec9ad03d201d24f5775c1224. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40537 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #21 from Alexandre Julliard <julliard(a)winehq.org> --- Closing bugs fixed in 2.0-rc5. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
wine-bugs@winehq.org