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 533473 - seahorse crashed with SIGSEGV in g_value_peek_pointer()
seahorse crashed with SIGSEGV in g_value_peek_pointer()
Status: RESOLVED FIXED
Product: libsoup
Classification: Core
Component: Misc
unspecified
Other All
: Normal critical
: ---
Assigned To: libsoup-maint@gnome.bugs
libsoup-maint@gnome.bugs
: 551003 557408 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2008-05-16 16:42 UTC by Caroline Ford
Modified: 2008-10-22 17:18 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22


Attachments
patch to fix session refcounting (3.91 KB, patch)
2008-09-17 14:23 UTC, Dan Winship
rejected Details | Review

Description Caroline Ford 2008-05-16 16:42:22 UTC
Steps to reproduce:
1. Open applications -> accessories -> passwords and encryption keys
2. Select your primary key, right click on it and select Sync and Publish keys
3. Click on the sync button and wait
4. If it cannot get a response from the keyserver you get an error dialog box. This is very hard to close. I then got the sigsegv.

https://bugs.edge.launchpad.net/ubuntu/+source/seahorse/+bug/198562 is the Ubuntu bug, with 5 duplicates. The stacktrace is from 2.21.92, I have confirmed with 2.22.1.


Stack trace:
Thread stack trace:
.

Thread 1 (process 9940)

  • #0 message_finished
    at soup-session.c line 980
  • #1 IA__g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.15.6/gobject/gmarshal.c line 77
  • #2 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.15.6/gobject/gclosure.c line 490
  • #3 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.15.6/gobject/gsignal.c line 2510
  • #4 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.15.6/gobject/gsignal.c line 2199
  • #5 IA__g_signal_emit
    at /build/buildd/glib2.0-2.15.6/gobject/gsignal.c line 2243
  • #6 soup_message_finished
    at soup-message.c line 767
  • #7 cancel_message
    at soup-session.c line 1138
  • #8 soup_session_cancel_message
    at soup-session.c line 1159
  • #9 connect_result
    at soup-session.c line 844
  • #10 IA__g_cclosure_marshal_VOID__INT
    at /build/buildd/glib2.0-2.15.6/gobject/gmarshal.c line 216
  • #11 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.15.6/gobject/gclosure.c line 490
  • #12 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.15.6/gobject/gsignal.c line 2440
  • #13 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.15.6/gobject/gsignal.c line 2199
  • #14 IA__g_signal_emit
    at /build/buildd/glib2.0-2.15.6/gobject/gsignal.c line 2243
  • #15 socket_connect_result
    at soup-connection.c line 456
  • #16 idle_connect_result
    at soup-socket.c line 494
  • #17 connect_watch
    at soup-socket.c line 517
  • #18 g_io_unix_dispatch
    at /build/buildd/glib2.0-2.15.6/glib/giounix.c line 162
  • #19 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.15.6/glib/gmain.c line 2065
  • #20 g_main_context_iterate
    at /build/buildd/glib2.0-2.15.6/glib/gmain.c line 2698
  • #21 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.15.6/glib/gmain.c line 2906
  • #22 IA__gtk_main
    at /build/buildd/gtk+2.0-2.12.8/gtk/gtkmain.c line 1163
  • #23 main
    at main.c line 74
  • #24 __libc_start_main
    from /lib/tls/i686/cmov/libc.so.6
  • #25 _start
  • #0 message_finished
    at soup-session.c line 980
  • #1 IA__g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.15.6/gobject/gmarshal.c line 77
  • #2 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.15.6/gobject/gclosure.c line 490
  • #3 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.15.6/gobject/gsignal.c line 2510
  • #4 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.15.6/gobject/gsignal.c line 2199
  • #5 IA__g_signal_emit
    at /build/buildd/glib2.0-2.15.6/gobject/gsignal.c line 2243
  • #6 soup_message_finished
    at soup-message.c line 767
  • #7 cancel_message
    at soup-session.c line 1138
  • #8 soup_session_cancel_message
    at soup-session.c line 1159
  • #9 connect_result
    at soup-session.c line 844
  • #10 IA__g_cclosure_marshal_VOID__INT
    at /build/buildd/glib2.0-2.15.6/gobject/gmarshal.c line 216
  • #11 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.15.6/gobject/gclosure.c line 490
  • #12 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.15.6/gobject/gsignal.c line 2440
  • #13 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.15.6/gobject/gsignal.c line 2199
  • #14 IA__g_signal_emit
    at /build/buildd/glib2.0-2.15.6/gobject/gsignal.c line 2243
  • #15 socket_connect_result
    at soup-connection.c line 456
  • #16 idle_connect_result
    at soup-socket.c line 494
  • #17 connect_watch
    at soup-socket.c line 517
  • #18 g_io_unix_dispatch
    at /build/buildd/glib2.0-2.15.6/glib/giounix.c line 162
  • #19 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.15.6/glib/gmain.c line 2065
  • #20 g_main_context_iterate
    at /build/buildd/glib2.0-2.15.6/glib/gmain.c line 2698
  • #21 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.15.6/glib/gmain.c line 2906
  • #22 IA__gtk_main
    at /build/buildd/gtk+2.0-2.12.8/gtk/gtkmain.c line 1163
  • #23 main
    at main.c line 74
  • #24 __libc_start_main
    from /lib/tls/i686/cmov/libc.so.6
  • #25 _start

Other information:
https://bugs.edge.launchpad.net/ubuntu/+source/seahorse/+bug/198562 is the Ubuntu bug, with 5 duplicates. The stacktrace is from 2.21.92, I have confirmed with 2.22.1.
Comment 1 Stef Walter 2008-09-13 15:55:56 UTC
I cannot duplicate this problem, but this looks like a libsoup bug that seahorse is aggravating. 
Comment 2 Dan Winship 2008-09-16 17:00:23 UTC
(In reply to comment #1)
> I cannot duplicate this problem

It happens when you try to sync to a keyserver that isn't responding. (eg, adding hkp://localhost:9999/ as a keyserver and trying to sync to it will trigger the bug). Ubuntu adds keyserver.ubuntu.com into the seahorse defaults, and apparently that server must go down a lot, cause people to trip over this bug.

> but this looks like a libsoup bug that seahorse is aggravating. 

Yup. (Caused by unreffing the session from the queue_message callback, which is *supposed* to work, but apparently doesn't in this particular case.)
Comment 3 Dan Winship 2008-09-17 14:23:52 UTC
Created attachment 118879 [details] [review]
patch to fix session refcounting

This should fix the bug. We're in hard code freeze now, but this will be committed post-freeze for GNOME 2.24.1.
Comment 4 Dan Winship 2008-09-30 15:43:59 UTC
Fixed on trunk (differently from the earlier patch) and will eventually make it into libsoup 2.24.1.
Comment 5 André Klapper 2008-10-22 15:47:34 UTC
Has this gone in for 2.24.1?
Comment 6 André Klapper 2008-10-22 15:47:46 UTC
*** Bug 557408 has been marked as a duplicate of this bug. ***
Comment 7 André Klapper 2008-10-22 15:47:56 UTC
*** Bug 551003 has been marked as a duplicate of this bug. ***
Comment 8 Dan Winship 2008-10-22 17:18:12 UTC
yes, it's in 2.24.1