http://bugs.winehq.org/show_bug.cgi?id=12246
Summary: "make test" gives different results with and without warn+heap Product: Wine Version: CVS/GIT Platform: Other OS/Version: other Status: NEW Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: dank@kegel.com
The same sets of tests should pass, fail, hang, and crash regardless of whether WINEDEBUG=warn+heap is set. (Ideally they'd all pass, but that's orthogonal to this bug.) Yet at the moment, this is not the case. To repeat: rm -rf .wine cd wine-git sh winetricks gecko make testclean make -k test > test-normal.log 2>&1 egrep '^make|Backtrace' test-normal.log > sum-normal.log make testclean WINEDEBUG=warn+heap make -k test > test-heap.log 2>&1 egrep '^make|Backtrace' test-heap.log > sum-heap.log diff -u sum-normal.log sum-heap.log The diff should not output anything, but at the moment it outputs
make[2]: Entering directory `/home/dank/wine-git/dlls/d3d9/tests' +Backtrace: +Backtrace: +make[2]: *** [stateblock.ok] Error 5 +make[2]: Target `test' not remade because of errors. make[2]: Leaving directory `/home/dank/wine-git/dlls/d3d9/tests' +make[1]: *** [d3d9/tests/__test__] Error 2 make[2]: Entering directory `/home/dank/wine-git/dlls/d3drm/tests' ... make[2]: Entering directory `/home/dank/wine-git/dlls/gdi32/tests' make[2]: *** [bitmap.ok] Error 2 -make[2]: *** [font.ok] Error 2 ... make[2]: Entering directory `/home/dank/wine-git/dlls/mshtml/tests' +Backtrace: +Backtrace:
and it hangs once (in mshtml/script).
In other words, something's fishy with tests d3d9/stateblock, gdi32/font, and mshtml/script.
http://bugs.winehq.org/show_bug.cgi?id=12246
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |1.0.0
--- Comment #1 from Dan Kegel dank@kegel.com 2008-03-27 00:29:45 --- I wouldn't be surprised if the d3d one depended on graphics card, so ymmv. But fixing the common warn+heap induced problems seems like a must-do. Nominating for 1.0.
http://bugs.winehq.org/show_bug.cgi?id=12246
Lionel Debroux lionel_debroux@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |lionel_debroux@yahoo.fr
--- Comment #2 from Lionel Debroux lionel_debroux@yahoo.fr 2008-03-27 02:35:50 --- d3d9/stateblock has been failing here as well for three weeks. I reported the problem as part of bug #9916. I have a GeForce Go 7600. mshtml/script fails on 20080325 but it didn't on 20080322.
In bug #11644, I also reported two dinput tests that have always crashed for me on two different computers when a specific piece of hardware is plugged in and when warn+heap is activated. I haven't run these tests without warn+heap for at least two months, but they didn't crash without warn+heap.
http://bugs.winehq.org/show_bug.cgi?id=12246
--- Comment #3 from Austin English austinenglish@gmail.com 2008-03-29 03:05:34 --- +all also gives some funky results
austin@austin-desktop:~/wine-git$ cat 4.txt make[2]: *** [datetime.ok] Error 5 make[2]: Target `test' not remade because of errors. make[1]: *** [comctl32/tests/__test__] Error 2 make[2]: *** [sip.ok] Error 1 make[2]: Target `test' not remade because of errors. make[1]: *** [crypt32/tests/__test__] Error 2 make[2]: *** [stateblock.ok] Error 5 make[2]: *** [visual.ok] Error 171 make[2]: Target `test' not remade because of errors. make[1]: *** [d3d9/tests/__test__] Error 2 make[2]: *** [cstub.ok] Error 21 make[2]: Target `test' not remade because of errors. make[1]: *** [rpcrt4/tests/__test__] Error 2 make[2]: *** [url.ok] Error 1 make[2]: Target `test' not remade because of errors. make[1]: *** [urlmon/tests/__test__] Error 2 make[2]: *** [class.ok] Error 15 make[2]: *** [listbox.ok] Error 68 make[2]: *** [msg.ok] Error 23 make[2]: Target `test' not remade because of errors. make[1]: *** [user32/tests/__test__] Error 2 make[1]: Target `test' not remade because of errors. make: *** [dlls/__test__] Error 2 make: Target `test' not remade because of errors.
I haven't retested these individually yet, however, to check for race conditions, etc. I'll be doing that soon, but working on bug 12263's regression test ATM.
http://bugs.winehq.org/show_bug.cgi?id=12246
--- Comment #4 from Lionel Debroux lionel_debroux@yahoo.fr 2008-03-31 14:00:26 --- I ran the tests this morning on wine-0.9.58-304-geb7f3b9. Pretty much executable launched by make -k test barfs with an Unhandled exception 0x000006bf but execution of the tests (at least, most of them ?) continues OK: err:rpc:RpcRaiseException handler continued execution Due to the crash + backtraces + etc. and me compiling everything with -O0 to save on compilation time, the whole test suite took at least one hour to complete...
I've just updated my local git repository after today's commits, and I'm currently compiling.
http://bugs.winehq.org/show_bug.cgi?id=12246
--- Comment #5 from James Hawkins truiken@gmail.com 2008-03-31 14:08:59 --- Lionel, keep in mind that some of the tests are supposed to cause a crash. I'm not sure of the specific instance you're referring to though.
http://bugs.winehq.org/show_bug.cgi?id=12246
--- Comment #6 from Lionel Debroux lionel_debroux@yahoo.fr 2008-03-31 14:50:36 --- Created an attachment (id=11770) --> (http://bugs.winehq.org/attachment.cgi?id=11770) Beginning of trace of WINEDEBUG=warn+heap make -k test with wine-0.9.58-358-g41bdea4
Indeed, I know that the kernel32 debugger test is supposed to crash ;) However, since yesterday, if I activate warn+heap, I'm now seeing _every_ test crash (before ignoring the unhandled exception anyway, it seems), even after a rm -Rf ~/.wine ! That didn't happen on 20080325, when I last ran a WINEDEBUG=warn+heap make test.
Judging from the backtraces, the problem is with the service starting code, which has been changed very recently.
I've attached the trace of the first test, before me killing make with CTRL+C. This one is after starting with no ~/.wine directory. (FWIW, the whole Wine test suite with all crashes generates a ~25K-line trace)
Does this happen only on my computer ?
http://bugs.winehq.org/show_bug.cgi?id=12246
--- Comment #7 from James Hawkins truiken@gmail.com 2008-03-31 14:56:50 --- hmm looks like a problem with the recent creation of the services.exe module and moving all the service control code over to that from advapi32.
http://bugs.winehq.org/show_bug.cgi?id=12246
--- Comment #8 from Dan Kegel dank@kegel.com 2008-03-31 16:33:50 --- Yeah, pretty awful regression today in warn+heap, everything crashes just like your log says. Oh Rob....
http://bugs.winehq.org/show_bug.cgi?id=12246
--- Comment #9 from Dan Kegel dank@kegel.com 2008-03-31 22:03:34 --- The regression was already there on the 29th, I just didn't look at the results of the valgrind run that day :-( http://kegel.com/wine/valgrind/logs-2008-03-29/vg-advapi32_cred-diff.txt ... http://kegel.com/wine/valgrind/logs-2008-03-29/vg-cabinet_fdi-diff.txt ... http://kegel.com/wine/valgrind/logs-2008-03-29/vg-gdiplus_brush-diff.txt etc etc.
http://bugs.winehq.org/show_bug.cgi?id=12246
--- Comment #10 from Rob Shearman rob@codeweavers.com 2008-04-01 03:16:33 --- Created an attachment (id=11780) --> (http://bugs.winehq.org/attachment.cgi?id=11780) Fix Valgrind and warn+heap errors caused by recent svcctl patches
Silence the warnings.
http://bugs.winehq.org/show_bug.cgi?id=12246
--- Comment #11 from Lionel Debroux lionel_debroux@yahoo.fr 2008-04-01 03:49:24 --- April fool patch, eh ? ;)
http://bugs.winehq.org/show_bug.cgi?id=12246
Rob Shearman rob@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rob@codeweavers.com
--- Comment #12 from Rob Shearman rob@codeweavers.com 2008-04-01 10:07:13 --- Yep ;-)
I've sent a real patch to wine-patches: http://www.winehq.org/pipermail/wine-patches/2008-April/052567.html
http://bugs.winehq.org/show_bug.cgi?id=12246
Rob Shearman rob@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #11780|0 |1 is obsolete| |
http://bugs.winehq.org/show_bug.cgi?id=12246
--- Comment #13 from Austin English austinenglish@gmail.com 2008-04-16 16:45:21 --- Also seeing this in shell32/shlexec and winmm/wave.
http://bugs.winehq.org/show_bug.cgi?id=12246
--- Comment #14 from Dan Kegel dank@kegel.com 2008-04-24 21:47:13 --- There seems to be some progress. Using the attached script, I find only one difference between make test with and without warn+heap: d3d9/stateblock.
http://bugs.winehq.org/show_bug.cgi?id=12246
--- Comment #15 from Dan Kegel dank@kegel.com 2008-04-24 21:48:11 --- Created an attachment (id=12451) --> (http://bugs.winehq.org/attachment.cgi?id=12451) Script to run tests both with and without warn+heap. Cleans .wine between runs now.
http://bugs.winehq.org/show_bug.cgi?id=12246
--- Comment #16 from Dan Kegel dank@kegel.com 2008-05-12 12:27:07 --- d3d9/stateblock is still the only test that gives different results here depending on whether it was run with warn+heap.
valgrind shows only a few errors on that file; see http://kegel.com/wine/valgrind/logs-2008-04-17/vg-d3d9_stateblock.txt Line numbers have changed since then; I'll do a fresh run and add a link here.
http://bugs.winehq.org/show_bug.cgi?id=12246
--- Comment #17 from Dan Kegel dank@kegel.com 2008-05-13 14:32:25 --- Fresh line numbers right here: http://kegel.com/wine/valgrind/logs-2008-05-12/vg-d3d9_stateblock.txt
http://bugs.winehq.org/show_bug.cgi?id=12246
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |directx-d3d
--- Comment #18 from Dan Kegel dank@kegel.com 2008-05-13 16:55:12 --- Oooh, and running it on a different machine gave a juicy crash rather than a failure:
Unhandled exception: page fault on write access to 0xaaaaaaaa in 32-bit code (0x601e822e). Backtrace: =>1 0x601e822e (0x0032f8d8) 2 0x612c2ad3 IWineD3DDeviceImpl_ResourceReleased+0x509(iface=?, resource=0x154518) [dlls/wined3d/device.c:7408] 3 0x612f86b4 IWineD3DResourceImpl_CleanUp+0x109(iface=?) [dlls/wined3d/resource.c:90] 4 0x61321b42 IWineD3DSurfaceImpl_Release+0x13a(iface=0x154518) [dlls/wined3d/surface.c:467] 5 0x612c1d76 IWineD3DDeviceImpl_SetRenderTarget+0x97(iface=0x12b900, RenderTargetIndex=0x0, pRenderTarget=?) [dlls/wined3d/device.c:6713] 6 0x6126a916 IDirect3DDevice9Impl_SetRenderTarget+0x58(iface=?, RenderTargetIndex=?, pRenderTarget=?) [dlls/d3d9/device.c:685] 7 0x60cf9196 revert_render_target+0x34(device=?, data=0x32fe64) [dlls/d3d9/tests/stateblock.c:313] 8 0x60cf8b6d execute_test_chain+0x5d(device=0x129f38, test=0x32fc50, ntests=0x5, event=0x32fe04, nevents=0x3, event_arg=0x32fe64) [dlls/d3d9/tests/stateblock.c:180] 9 0x60cfacdb func_stateblock+0x735() [dlls/d3d9/tests/stateblock.c:469]
This agrees fairly closely with the valgrind results on another machine (with wine from git only a few hours out of sync, if any):
Invalid read of size 4 at ActivateContext (context.c:962) by IWineD3DDeviceImpl_ResourceReleased (device.c:7408) by IWineD3DResourceImpl_CleanUp (resource.c:90) by IWineD3DSurfaceImpl_Release (surface.c:465) by IWineD3DDeviceImpl_SetRenderTarget (device.c:6711) by IDirect3DDevice9Impl_SetRenderTarget (device.c:685) by revert_render_target (stateblock.c:313) by execute_test_chain (stateblock.c:180) by func_stateblock (stateblock.c:467)
Please, some D3D guy, fix :-)
http://bugs.winehq.org/show_bug.cgi?id=12246
shakaran shakaran@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |shakaran@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=12246
Michael Karcher wine@mkarcher.dialup.fu-berlin.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |wine@mkarcher.dialup.fu- | |berlin.de
--- Comment #19 from Michael Karcher wine@mkarcher.dialup.fu-berlin.de 2008-06-03 09:27:14 --- My patch http://www.winehq.org/pipermail/wine-patches/2008-June/055516.html got committed to git. For me it fixes the stateblock bug. This was the only warn+heap problem remaining for me. Can this bug be closed now?
http://bugs.winehq.org/show_bug.cgi?id=12246
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #20 from Alexandre Julliard julliard@winehq.org 2008-06-03 09:32:20 --- Marking fixed.
http://bugs.winehq.org/show_bug.cgi?id=12246
--- Comment #21 from Austin English austinenglish@gmail.com 2008-06-03 13:12:19 --- Created an attachment (id=13639) --> (http://bugs.winehq.org/attachment.cgi?id=13639) wtest-out
I still get a few differences in user32.
http://bugs.winehq.org/show_bug.cgi?id=12246
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=12246
--- Comment #22 from Alexandre Julliard julliard@winehq.org 2008-06-03 13:33:15 --- Most likely timing issues, warn+heap makes things slower.
http://bugs.winehq.org/show_bug.cgi?id=12246
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #23 from Alexandre Julliard julliard@winehq.org 2008-06-06 10:39:56 --- Closing bugs fixed in 1.0-rc4.
http://bugs.winehq.org/show_bug.cgi?id=12246
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|CVS/GIT |unspecified