After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 592084 - connection leak eventually makes webkit unable to load any pages
connection leak eventually makes webkit unable to load any pages
Status: RESOLVED FIXED
Product: libsoup
Classification: Core
Component: HTTP Transport
unspecified
Other Linux
: Normal normal
: ---
Assigned To: libsoup-maint@gnome.bugs
libsoup-maint@gnome.bugs
Depends on:
Blocks:
 
 
Reported: 2009-08-17 13:44 UTC by Dan Winship
Modified: 2009-08-22 13:37 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Dan Winship 2009-08-17 13:44:22 UTC
Under certain circumstances, libsoup will end up with a SoupConnection which has not yet been used, but which it also has no plans to use. One way this might happen would be if a message got cancelled while a connection attempt was being made. Another possibility is that there is some bug that could cause two connections to be opened when only one was needed.

libsoup's idle-connection-pruning code will never prune an unused connection, because it assumes that connection must be needed for some currently-queued message. So once this happens enough times (10 by default), libsoup will no longer be able to open new connections, and so webkit won't be able to load any pages. Even before that point, performance may suffer, since it won't be using as many concurrent connections as it might otherwise.

There are a handful of problems here:

    - we shouldn't end up with these extra connections anyway
    - we shouldn't always assume that not-yet-used connections will eventually be used
    - we should be timing out connections eventually anyway (there's another bug for this)
    - if soup_session_try_prune_connection() fails, it probably needs to try harder
Comment 1 Dan Winship 2009-08-22 13:37:22 UTC
should be fixed in master