Summary: | [Soup] Random thread crashes | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Sergio Villar Senin <svillar> | ||||||
Component: | WebKitGTK | Assignee: | Sergio Villar Senin <svillar> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | danw, gustavo, mrobinson, rakuco, s.choi, svillar | ||||||
Priority: | P2 | Keywords: | Gtk, Soup | ||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Bug Depends on: | 107432 | ||||||||
Bug Blocks: | |||||||||
Attachments: |
|
Description
Sergio Villar Senin
2013-01-21 04:48:03 PST
BTW I can consistently reproduce it just by trying to log in http://twitter.com OK, so I've just realized that it only happens if I'm using the patch for bug 107432. Dan, is there any problem on mixing async and sync calls for accessing a given stream? (that patch is synchronously closing a stream that have been read asynchronously). It's supposed to work... and if it was going to fail, I wouldn't expect it to fail like this, which looks like a refcounting problem or something... double-check that there isn't something else wrong in the sync close patch? (In reply to comment #3) > It's supposed to work... and if it was going to fail, I wouldn't expect it to fail like this, which looks like a refcounting problem or something... double-check that there isn't something else wrong in the sync close patch? I got some slightly different backtraces, most of them when loading resources synchronously, which requires some push/pop_thread magic. Could it be related to that? Created attachment 183872 [details]
Patch
Comment on attachment 183872 [details]
Patch
Please ignore. I fat-fingered a bug number.
OK I found what's going on. So there was a mixture of things. There is a bug in libsoup which was somehow uncovered by the patch for https://bugs.webkit.org/show_bug.cgi?id=107432. But I think there is also a bug in our network stack for synchronous requests. We directly stop the inner main loop we create to emulate synchronous requests in didFinishLoading() but we do not check if we have pending sources in that context we create. Created attachment 184001 [details]
Patch
Comment on attachment 184001 [details]
Patch
Okay. This seems reasonable.
Comment on attachment 184001 [details] Patch Clearing flags on attachment: 184001 Committed r140445: <http://trac.webkit.org/changeset/140445> All reviewed patches have been landed. Closing bug. |