Bug 57048 - http/tests/websocket/tests/workers/worker-handshake-challenge-randomness.html crashed once on Windows XP Debug (Tests)
Summary: http/tests/websocket/tests/workers/worker-handshake-challenge-randomness.html...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Page Loading (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Windows XP
: P2 Normal
Assignee: Fumitoshi Ukai
URL: http://build.webkit.org/results/Windo...
Keywords: InRadar, LayoutTestFailure, PlatformOnly
Depends on:
Blocks: 55579
  Show dependency treegraph
 
Reported: 2011-03-24 13:12 PDT by Adam Roben (:aroben)
Modified: 2016-05-18 21:14 PDT (History)
8 users (show)

See Also:


Attachments
Patch (1.78 KB, patch)
2011-05-18 19:14 PDT, Fumitoshi Ukai
no flags Details | Formatted Diff | Diff
Patch (1.78 KB, patch)
2011-05-18 19:21 PDT, Fumitoshi Ukai
ap: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Roben (:aroben) 2011-03-24 13:12:16 PDT
http/tests/websocket/tests/workers/worker-handshake-challenge-randomness.html crashed once on Windows XP Debug (Tests). See the URL for the crash log. It looks like the same CFSocket is being modified on multiple threads concurrently.
Comment 1 Adam Roben (:aroben) 2011-03-24 13:13:06 PDT
Seems related to bug 56625.
Comment 2 Adam Roben (:aroben) 2011-03-24 13:14:52 PDT
<rdar://problem/9183661>
Comment 3 David Levin 2011-03-24 13:15:25 PDT
+ ukai due to websocket issue.
Comment 4 Adam Roben (:aroben) 2011-03-25 12:36:35 PDT
This test is now being skipped (see bug 55579).
Comment 5 Alexey Proskuryakov 2011-05-18 17:19:22 PDT
This is a fairly obvious object lifetime bug, and it's probably reasonably easy to fix, but I couldn't figure it out in the time I had for this so far.
Comment 6 Fumitoshi Ukai 2011-05-18 18:21:39 PDT
(In reply to comment #5)
> This is a fairly obvious object lifetime bug, and it's probably reasonably easy to fix, but I couldn't figure it out in the time I had for this so far.

I don't know much about CoreFoundation, but it seems it schedules read/write stream on loaderRunLoop() on PLATFORM(WIN) in scheduleStreams(), but it tries to unschedule stream on CFRunLoopGetCurrent(), which is used in scheduling stream on other platform than WIN.
So, I think this can be fixed to use loaderRunLoop() on PLATFORM(WIN) in platformClose().
I'll create a patch.
Comment 7 Fumitoshi Ukai 2011-05-18 19:14:28 PDT
Created attachment 94029 [details]
Patch
Comment 8 Fumitoshi Ukai 2011-05-18 19:21:32 PDT
Created attachment 94030 [details]
Patch
Comment 9 Yuta Kitamura 2011-05-18 20:01:02 PDT
Comment on attachment 94030 [details]
Patch

Looks good to me. (I'm not a reviewer, so I can't r+ this.)
Comment 10 Alexey Proskuryakov 2011-05-18 23:18:02 PDT
Comment on attachment 94030 [details]
Patch

Heh, this is a good catch! I'm not sure if it takes care of the whole problem - do you have a Windows setup to run the tests?
Comment 11 Alexey Proskuryakov 2011-05-18 23:23:06 PDT
Comment on attachment 94030 [details]
Patch

I'm going to say r+, since this is clearly an improvement, but the bug may need to remain open until someone can test on Windows, and until the skipped tests are re-enabled.

See also: <http://trac.webkit.org/changeset/81111> (where I unsuccessfully tried to fix the crashes).
Comment 12 Fumitoshi Ukai 2011-05-18 23:40:31 PDT
Committed r86822: <http://trac.webkit.org/changeset/86822>
Comment 13 Fumitoshi Ukai 2011-05-18 23:43:20 PDT
I just landed the patch (id=94030).
I don't have windows, so please someone test whether it fixes problems.
I leave this bug open for now.
Comment 14 Brent Fulgham 2016-05-18 21:14:13 PDT
This code was landed five years ago. I think we can close it.