[webkit-gtk] 1.4.1 - CLOSE_WAIT

Marco Peereboom slash at peereboom.us
Thu Jun 30 07:59:00 PDT 2011


On Thu, Jun 30, 2011 at 09:54:34AM -0500, Marco Peereboom wrote:
> On Wed, Jun 29, 2011 at 06:27:30PM -0500, Marco Peereboom wrote:
> > On Wed, Jun 29, 2011 at 04:23:00PM -0700, Martin Robinson wrote:
> > > On Wed, Jun 29, 2011 at 2:43 PM, Marco Peereboom <slash at peereboom.us> wrote:
> > > 
> > > > This is with the webkit 1.4.1 snapshot with web sockets enabled. ??By
> > > > default xxxterm sets max-conns to 25 and max-conns-per-host to 5. ??When
> > > > webkit doesn't crash I see as many as 119 connections to port 80 in
> > > > various states (TIME_WAIT, ESTABLISHED, CLOSED_WAIT, SYN_SENT etc).
> > > > After a while the connections drop to 47 and are all in
> > > > ESTABLISHED_STATE. ??This number is obviously much higher than the limit
> > > > that is set to 25. ??With webit 1.2.7 I don't see this behavior.
> > > 
> > > Do you mind confirming whether this behavior persists with WebSockets disabled?
> > 
> > Nope not at all.  I have toyed but do not have a detailed report.  My
> > non-scientific test was "better" but not gone.  For example the
> > CLOSED_WAIT number seems to be gone completely but it still breaches the
> > max-conns setting and I see similar crashes.  I will do the build and
> > generate an actual report.
> 
> Ok, the results are as I described with web sockets disabled.  Better as
> in webkit does close file descriptors much quicker however the
> fundamental issues of breaching the max-conns limit is still there.
> 
> When I launch the browser with all those links at once it opens up about
> 67 file descriptors and none end up in CLOSED_WAIT initially.  Instead
> one sees ESTABLISHED and TIME_WAIT.  In other words when running without
> web sockets the inevitable is just postponed a little.  A couple of
> quick restarts and webkit exhibits the same crashes.  I do see the same
> misrendered pages as described before, even when starting on a fresh
> machine (virtually no FDs in use).
> 
> For completions sake, this is using webkit 1.4.1 and libsoup 2.34.2 and
> I do not see these issues when I used webkit 1.2.x and libsoup 2.32.y.
> I also validated that I see these same issues using other browsers such
> as epiphany and midori.
> 
> I'll be happy to run some additional tests or dig in the code if you
> point me in a potential direction.

One more trace too:

#0  0x00000002120e1b17 in WTF::cryptographicallyRandomValuesFromOS () from /usr/local/lib/libwebkitgtk-1.0.so.0.1
#1  0x00000002120cee7b in WTF::(anonymous namespace)::ARC4RandomNumberGenerator::stirIfNeeded () from /usr/local/lib/libwebkitgtk-1.0.so.0.1
#2  0x00000002120cf011 in WTF::cryptographicallyRandomNumber () from /usr/local/lib/libwebkitgtk-1.0.so.0.1
#3  0x00000002120e1c79 in WTF::randomNumber () from /usr/local/lib/libwebkitgtk-1.0.so.0.1
#4  0x00000002114444a3 in WebCore::JSDOMGlobalObject::JSDOMGlobalObject () from /usr/local/lib/libwebkitgtk-1.0.so.0.1
#5  0x000000021144637b in WebCore::JSDOMWindowBase::JSDOMWindowBase () from /usr/local/lib/libwebkitgtk-1.0.so.0.1
#6  0x0000000211c81763 in WebCore::JSDOMWindow::JSDOMWindow () from /usr/local/lib/libwebkitgtk-1.0.so.0.1
#7  0x000000021144e76a in WebCore::JSDOMWindowShell::setWindow () from /usr/local/lib/libwebkitgtk-1.0.so.0.1
#8  0x000000021144eafa in WebCore::JSDOMWindowShell::JSDOMWindowShell () from /usr/local/lib/libwebkitgtk-1.0.so.0.1
#9  0x000000021148589b in WebCore::ScriptController::createWindowShell () from /usr/local/lib/libwebkitgtk-1.0.so.0.1
#10 0x0000000211485ce3 in WebCore::ScriptController::initScript () from /usr/local/lib/libwebkitgtk-1.0.so.0.1
#11 0x000000021136819b in webkit_web_frame_get_global_context () from /usr/local/lib/libwebkitgtk-1.0.so.0.1
#12 0x000000000040f2d8 in run_script (t=0x2088d0400, s=0x519be8 "/*(c)2009 by Leon Winter(c)2009,2010 by Hannes Schueller(c)2010 by Hans-Peter Deifel see LICENSE file*/ function vimprobable_clearfocus(){if(document.activeElement&&document.activeElement.blur)documen"...) at /home/marco/xxxterm/xxxterm.c:1918
#13 0x000000020983a06f in g_closure_invoke () from /usr/local/lib/libgobject-2.0.so.2800.0
#14 0x00000002098511e1 in g_signal_handlers_block_matched () from /usr/local/lib/libgobject-2.0.so.2800.0
#15 0x00000002098530f5 in g_signal_emit_valist () from /usr/local/lib/libgobject-2.0.so.2800.0
#16 0x00000002098533b8 in g_signal_emit_by_name () from /usr/local/lib/libgobject-2.0.so.2800.0
#17 0x0000000211848642 in WebCore::ProgressTracker::finalProgressComplete () from /usr/local/lib/libwebkitgtk-1.0.so.0.1
#18 0x0000000211848708 in WebCore::ProgressTracker::progressCompleted () from /usr/local/lib/libwebkitgtk-1.0.so.0.1
#19 0x0000000211818ce5 in WebCore::FrameLoader::recursiveCheckLoadComplete () from /usr/local/lib/libwebkitgtk-1.0.so.0.1
#20 0x0000000211804a26 in WebCore::DocumentLoader::removeSubresourceLoader () from /usr/local/lib/libwebkitgtk-1.0.so.0.1
#21 0x000000021185620c in WebCore::SubresourceLoader::didFail () from /usr/local/lib/libwebkitgtk-1.0.so.0.1
#22 0x000000021132e230 in WebCore::sendRequestCallback () from /usr/local/lib/libwebkitgtk-1.0.so.0.1
#23 0x0000000208a52bb6 in sent_async () from /usr/local/lib/libsoup-2.4.so.3.0
#24 0x0000000208a4587b in wrapper_callback () from /usr/local/lib/libsoup-2.4.so.3.0
#25 0x0000000208a45a0e in send_async_finished () from /usr/local/lib/libsoup-2.4.so.3.0
#26 0x000000020983a06f in g_closure_invoke () from /usr/local/lib/libgobject-2.0.so.2800.0
#27 0x00000002098511e1 in g_signal_handlers_block_matched () from /usr/local/lib/libgobject-2.0.so.2800.0
#28 0x00000002098530f5 in g_signal_emit_valist () from /usr/local/lib/libgobject-2.0.so.2800.0
#29 0x00000002098534f3 in g_signal_emit () from /usr/local/lib/libgobject-2.0.so.2800.0
#30 0x0000000208a590e0 in process_queue_item () from /usr/local/lib/libsoup-2.4.so.3.0
#31 0x0000000208a5940e in run_queue () from /usr/local/lib/libsoup-2.4.so.3.0
#32 0x0000000208a594b3 in idle_run_queue () from /usr/local/lib/libsoup-2.4.so.3.0
#33 0x000000020fa66173 in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.2800.0
#34 0x000000020fa6a152 in g_main_context_prepare () from /usr/local/lib/libglib-2.0.so.2800.0
#35 0x000000020fa6a545 in g_main_loop_run () from /usr/local/lib/libglib-2.0.so.2800.0
#36 0x0000000204002a83 in gtk_main () from /usr/local/lib/libgtk-x11-2.0.so.2400.0
#37 0x0000000000417dc6 in main (argc=0, argv=0x7f7fffff9450) at /home/marco/xxxterm/xxxterm.c:8388


More information about the webkit-gtk mailing list