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 756285 - Docs for soup_session_requeue_message() don't match implementation
Docs for soup_session_requeue_message() don't match implementation
Status: RESOLVED OBSOLETE
Product: libsoup
Classification: Core
Component: Misc
2.42.x
Other Mac OS
: Normal normal
: ---
Assigned To: libsoup-maint@gnome.bugs
libsoup-maint@gnome.bugs
Depends on:
Blocks:
 
 
Reported: 2015-10-09 12:26 UTC by minfrin
Modified: 2018-09-21 16:23 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description minfrin 2015-10-09 12:26:46 UTC
According to the docs at https://developer.gnome.org/libsoup/stable/SoupSession.html#soup-session-queue-message the soup_session_queue_message() function says "Upon message completion, the callback specified in callback will be invoked. If after returning from this callback the message has not been requeued, msg will be unreffed."

According to the docs at https://developer.gnome.org/libsoup/stable/SoupSession.html#soup-session-requeue-message the soup_session_requeue_message() function "causes msg to be placed back on the queue to be attempted again."

In reality the attempt to call soup_session_requeue_message() causes an assertion failure as follows:

ibsoup-CRITICAL **: soup_session_real_requeue_message: assertion 'item != NULL' failed

The cause of the assertion failure is the following bug, marked as WONTFIX: https://bugzilla.gnome.org/show_bug.cgi?id=646835

To resolve this bug, either fix 646835, or document the fact the exact circumstances under which soup_session_requeue_message() works, assuming it works at all.
Comment 1 Dan Winship 2015-10-13 13:16:46 UTC
I forget the exact details because 646835 was a long time ago, but there was some reason we have to unqueue the message before calling the callback, and once you unqueue the message, it's too late to requeue() it. At any rate, when you reach the callback, that means you're done working with that SoupMessage, so it doesn't make sense to requeue it.

OTOH, note that you *can* requeue it from the SoupMessage::finished signal, which happens just before the message gets unqueued.
Comment 2 GNOME Infrastructure Team 2018-09-21 16:23:25 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/libsoup/issues/86.