Bug 21536 - Fix race condition in fast/repaint/bugzilla-6473.html
Summary: Fix race condition in fast/repaint/bugzilla-6473.html
Status: RESOLVED DUPLICATE of bug 53655
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Pam Greene (IRC:pamg)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-10-10 16:40 PDT by Pam Greene (IRC:pamg)
Modified: 2012-08-24 16:57 PDT (History)
2 users (show)

See Also:


Attachments
Fixed test and new results (48.06 KB, patch)
2008-10-10 17:04 PDT, Pam Greene (IRC:pamg)
mitz: review-
Details | Formatted Diff | Diff
Here's the new expected image (32.89 KB, image/png)
2008-10-10 17:06 PDT, Pam Greene (IRC:pamg)
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Pam Greene (IRC:pamg) 2008-10-10 16:40:40 PDT
Differences in setTimeout() behavior reveal a race condition in fast/repaint/bugzilla-6473.html.
Comment 1 Pam Greene (IRC:pamg) 2008-10-10 17:04:25 PDT
Created attachment 24282 [details]
Fixed test and new results

Use layoutTestController.waitUntilDone and notifyDone to avoid the race.

It's not clear to me why this caused the expected results to change.  The new results look a bit broken to me, so I have to guess it's revealing some other problem.  Maybe a different timing issue?
Comment 2 Pam Greene (IRC:pamg) 2008-10-10 17:06:04 PDT
Created attachment 24283 [details]
Here's the new expected image

This is the new image, which looks a bit broken.
Comment 3 Darin Adler 2008-10-10 17:10:00 PDT
Comment on attachment 24282 [details]
Fixed test and new results

I don't know enough about repaint tests to review this. Dan?
Comment 4 mitz 2008-10-10 20:47:40 PDT
Comment on attachment 24282 [details]
Fixed test and new results

The new result is correct, and the old result is wrong, probably due to the "race condition". However, the patch is wrong. repaint.js is shared by many repaint tests. Adding waitUntilDone() to runRepaintTest() will affect all those tests -- making them wait for a notifyDone() that will never come and time out 10 seconds later. This style of repaint test -- the style that uses repaint.js and runRepaintTest() should work without timeouts at when run in DumpRenderTree (repaint.js has a timer-based code path for when you open the test in Safari). This is an old test (originally a manual test!) and I think I did a poor job when I automated it. Look at one of the newer repaint tests that use repaint.js and try to fix this one to do the same thing.
Comment 5 Julien Chaffraix 2012-08-24 16:57:24 PDT
A fix for this bug was landed in bug 53655 some time ago. Marking as a duplicate.

*** This bug has been marked as a duplicate of bug 53655 ***