Summary: | [soup] Hang while synchronously loading resources in Facebook | ||
---|---|---|---|
Product: | WebKit | Reporter: | Mario Sanchez Prada <mario> |
Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW --- | ||
Severity: | Normal | CC: | bugs-noreply, cdumez, danw, d-r, laszlo.gombos, mrobinson, oliver.gerlich, s.choi, svillar, tmpsantos |
Priority: | P2 | Keywords: | Gtk |
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Description
Mario Sanchez Prada
2012-05-23 06:56:05 PDT
Dan, this appears to be a problem in libsoup with use-thread-context. I did a little testing locally and it appears that the request starts, but never finishes. I had recently a hang here at EFL MiniBrowser while running a internal test suite. The backtrace is identical. We have a test harness that was using synchronous xhr (yes, should not be used, but not the point here) for loading test cases. When the test is done, it sends a new message to the webserver to prepare for a new test. After exactly 6 tests, it was hanging. Also hangs on GTK, but after more test cases (but works on Chromium and Qt). While trying to debug this for the test team, I found out that only replies without headers are hanging the browser. I did the following change at the webserver (they are using python's BaseHTTPServer) and it worked: self.send_response(200) + self.send_header("foo", "bar") + self.end_headers() The original message sent by the browser was: $.ajax({ async: false, type: "POST", url: svr, data: {suite:psuite, set:pset, testcase:current_page_uri} }); It makes me think that it might have something to do with libsoup expectations from these messages. Is this with libsoup 2.39.x ? If so, try the latest git master and see if that fixes it. (In reply to comment #3) > Is this with libsoup 2.39.x ? If so, try the latest git master and see if that fixes it. I tried with the latest from yesterday. No success. Any more comments on this, Dan? What should we do about this? (In reply to comment #0) > STEPS TO REPRODUCE: > > 1. Open facebook.com in GtkLauncher and log in. > 2. Type the name of some friend in the 'Search' text entry on top. > 3. Once some results appear in the dropdown list, click on one of them. > > EXPECTED OUTCOME: > > GtkLauncher should navigate to the profile selected in the dropdown list. > > ACTUAL OUTCOME: > > GtkLauncher hangs, and the backtrace in gdb shows something like this at that point: WORKSFORME in f18 (epiphany 3.6.1, libsoup 2.40.1, webkitgtk3 1.10.1)... Just FTR: this happened several times now for me with image pages on commons.wikimedia.org (example: http://commons.wikimedia.org/wiki/File:Zahnkranzpakete.jpg). Doesn't happen every time; when loading the same page a few times, sometimes it freezes and sometimes it works. This is on Ubuntu 12.04, with libsoup 2.38.1. |