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 650923 - Closes connections if they are paused for a few seconds
Closes connections if they are paused for a few seconds
Status: RESOLVED DUPLICATE of bug 651146
Product: libsoup
Classification: Core
Component: HTTP Transport
2.34.x
Other Linux
: Normal normal
: ---
Assigned To: libsoup-maint@gnome.bugs
libsoup-maint@gnome.bugs
Depends on:
Blocks:
 
 
Reported: 2011-05-24 00:20 UTC by Gustavo Noronha (kov)
Modified: 2011-05-31 13:39 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Gustavo Noronha (kov) 2011-05-24 00:20:45 UTC
Apparently closing the idle connections more aggressively is causing bad things to happen when messages are paused - I'm still unsure whether just in specific conditions, but I have been able to reproduce this fairly consistently in an http basic auth scenario. Here's how you can reproduce it:

In Epiphany go to https://wiki.collabora.co.uk/, wait for the basic auth dialog to show up. Wait for around 10 seconds and then type anything and hit ok. You will get this critical in the terminal, and the browser will not load the page nor ask for a password unless you hit enter in the address bar again:

libsoup-CRITICAL **: soup_session_get_connection: assertion `soup_connection_get_state (item->conn) != SOUP_CONNECTION_DISCONNECTED' failed

It seems when unpausing the message after providing the authentication information, the IO state indicates a read is being waited on. There is nothing new to read, though, so the connection is marked as idle.

  • #0 soup_connection_set_state
    at soup-connection.c line 659
  • #1 soup_message_io_cleanup
    at soup-message-io.c line 98
  • #2 soup_message_io_finished
    at soup-message-io.c line 165
  • #3 io_unpause_internal
    at soup-message-io.c line 1207

Then the session runs its queue and notices this connection idle and disconnects it, but does not detach it from the queue item. I was trying to write a fix for this, but I couldn't decide what is the expected behaviour here. Is the idle timeout being ignored? Should we try to keep the connection in an IN_USE somehow, should the message IO state be different, should we let the connection be killed and handle it by reconecting or none of the above?
Comment 1 Gustavo Noronha (kov) 2011-05-31 13:39:55 UTC

*** This bug has been marked as a duplicate of bug 651146 ***