While running mshtml/tests/dom.c on a slow dual processor under valgrind, I got the following hang: ... 7 0x04b22c1c GetMessageA+0x60(msg=0x7f21fdc8, hwnd=0x0, first=0x0, last=0x0) [dlls/user32/message.c:2976] in user32 (0x7f21fda8) 8 0x04946eb1 run_domtest+0x91(str=0x495fab0, test=0x493daa4) [dlls/mshtml/tests/dom.c:2597] in mshtml_test (0x7f21fdf8) 9 0x0494711c func_dom+0x45() [dlls/mshtml/tests/dom.c:2652] in mshtml_test (0x7f21fe18) ...
The offending GetMessage call is in the following loop in tests/dom.c:
while(!doc_complete && GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); }
The doc_complete test has been in that file since the test was added; git blame says it was added by this commit:
commit 1534267ba500156e7965fdc399247ca69eb7c014 Author: Jacek Caban jacek@codeweavers.com Date: Sun Jun 24 21:09:03 2007 +0200
mshtml: Added beginning DOM tests.
Jacek, could you have a look and see if there's some obvious race you could fix?
Thanks, Dan
Hi Dan,
Dan Kegel wrote:
While running mshtml/tests/dom.c on a slow dual processor under valgrind, I got the following hang: ... 7 0x04b22c1c GetMessageA+0x60(msg=0x7f21fdc8, hwnd=0x0, first=0x0, last=0x0) [dlls/user32/message.c:2976] in user32 (0x7f21fda8) 8 0x04946eb1 run_domtest+0x91(str=0x495fab0, test=0x493daa4) [dlls/mshtml/tests/dom.c:2597] in mshtml_test (0x7f21fdf8) 9 0x0494711c func_dom+0x45() [dlls/mshtml/tests/dom.c:2652] in mshtml_test (0x7f21fe18) ...
The offending GetMessage call is in the following loop in tests/dom.c:
while(!doc_complete && GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); }
The doc_complete test has been in that file since the test was added; git blame says it was added by this commit:
commit 1534267ba500156e7965fdc399247ca69eb7c014 Author: Jacek Caban jacek@codeweavers.com Date: Sun Jun 24 21:09:03 2007 +0200
mshtml: Added beginning DOM tests.
Jacek, could you have a look and see if there's some obvious race you could fix?
I know about this bug and it's not easy to fix (because it's hard to reproduce it). It's on my TODO list.
Jacek
On Thu, Jul 31, 2008 at 1:50 PM, Jacek Caban jacek@codeweavers.com wrote:
While running mshtml/tests/dom.c on a slow dual processor under valgrind, I got the following hang:
I know about this bug and it's not easy to fix (because it's hard to reproduce it). It's on my TODO list.
OK. It hasn't happened again; it only happened when I overloaded a 1GHz single-core machine by doing "make -j2 test" with my parallel test patch and valgrind. That was an accident, I thought I was on a dual core machine. So I'm quite happy without a fix for now. - Dan