GNOME Bugzilla – Bug 592084
connection leak eventually makes webkit unable to load any pages
Last modified: 2009-08-22 13:37: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
should be fixed in master