Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 159186 - gaim-2.0.0_beta5-r2 segfault on status change
Summary: gaim-2.0.0_beta5-r2 segfault on status change
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Net-im project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-12-26 22:47 UTC by Dan Callaghan
Modified: 2007-05-03 16:43 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
output of emerge --info (emerge-info.txt,7.75 KB, text/plain)
2006-12-28 05:48 UTC, Dan Callaghan
Details
output of emerge --info (emerge-info.txt,6.38 KB, text/plain)
2006-12-29 01:09 UTC, Dan Callaghan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dan Callaghan 2006-12-26 22:47:19 UTC
After upgrading to gaim-2.0.0_beta5-r2 I can no longer change my status from Away (which it was set to before I upgraded). Choosing any other item from the status drop-down box causes a segmentation fault. Debug output follows:

[...]
prefs: /gaim/gtk/blist/list_visible changed, scheduling save.
msn: S: NS 000: CHL 0 11589275793186225374
msn: C: NS 000: QRY 12 PROD0038W!61ZTF9 32
msn: S: NS 000: QRY 12
g_log: gaim_status_type_get_id: assertion `status_type != NULL' failed

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1221921104 (LWP 29015)]
0xb7335e38 in strcmp () from /lib/libc.so.6
(gdb) where
#0  0xb7335e38 in strcmp () from /lib/libc.so.6
#1  0x080cca94 in activate_currently_selected_status (status_box=0x8285070) at gtkstatusbox.c:1825
#2  0x080cde97 in gtk_gaim_status_box_changed (box=0x8285070) at gtkstatusbox.c:2045
#3  0xb76391c3 in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0
#4  0x08285070 in ?? ()
#5  0x08282f08 in ?? ()
#6  0x00000001 in ?? ()
#7  0xb765b6f0 in ?? () from /usr/lib/libgobject-2.0.so.0
#8  0xbff8fa8c in ?? ()
#9  0x08282a00 in ?? ()
#10 0x08282a00 in ?? ()
#11 0xb7629f6e in g_value_set_boxed () from /usr/lib/libgobject-2.0.so.0
#12 0xbff8f99c in ?? ()
#13 0x080cdbf0 in gtk_gaim_status_box_size_request () at gtkstatusbox.c:1390
#14 0x08285070 in ?? ()
#15 0x00000000 in ?? ()
Comment 1 Kathryn Kulick (RETIRED) gentoo-dev 2006-12-27 05:08:56 UTC
emerge --info please...
Comment 2 Kathryn Kulick (RETIRED) gentoo-dev 2006-12-27 07:48:56 UTC
Also, check to see if you emerged gaim with "debug" or "-debug" use flag. If it is not enabled, please enable it and get a bt full with gdb.
Comment 3 Dan Callaghan 2006-12-28 05:47:04 UTC
(In reply to comment #2)
> Also, check to see if you emerged gaim with "debug" or "-debug" use flag. If it
> is not enabled, please enable it and get a bt full with gdb.

Gaim was compiled with the debug USE flag and FEATURES="nostrip"; my original bug report shows the gaim debug output followed by a backtrace in gdb.

(In reply to comment #1)
> emerge --info please...

Sorry for not including it originally (will attach ...)
Comment 4 Dan Callaghan 2006-12-28 05:48:44 UTC
Created attachment 104842 [details]
output of emerge --info
Comment 5 Kathryn Kulick (RETIRED) gentoo-dev 2006-12-28 06:18:04 UTC
Okay, where on http://gaim.sourceforge.net/gdb.php do you see "where" getting a proper bt for filing bug reports?
Comment 6 Dan Callaghan 2006-12-28 06:56:13 UTC
(In reply to comment #5)
> Okay, where on http://gaim.sourceforge.net/gdb.php do you see "where" getting a
> proper bt for filing bug reports?

`where` is a gdb alias for `backtrace`. Here is a backtrace showing locals, as requested:

[...]
g_log: gaim_status_type_get_id: assertion `status_type != NULL' failed

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1221355856 (LWP 19777)]
0xb73bfe38 in strcmp () from /lib/libc.so.6
(gdb) where full
#0  0xb73bfe38 in strcmp () from /lib/libc.so.6
No symbol table info available.
#1  0x080cca94 in activate_currently_selected_status (status_box=0x8285070) at gtkstatusbox.c:1825
        sub_type = (const GaimStatusType *) 0x0
        sub = <value optimized out>
        found = 0
        ss = (GaimSavedStatus *) 0x8132c20
        ss_msg = <value optimized out>
        iter = (const GList *) 0x812fa00
        tmp = (GList *) 0x8381db0
        active_accts = (GList *) 0x8381db0
        acct_status_type = (GaimStatusType *) 0x8125428
        primitive = GAIM_STATUS_AVAILABLE
        type = GTK_GAIM_STATUS_BOX_TYPE_PRIMITIVE
        data = (gpointer) 0x2
        title = <value optimized out>
        iter = {stamp = 87357202, user_data = 0x8311be0, user_data2 = 0x0, user_data3 = 0x0}
        message = 0x0
        saved_status = (GaimSavedStatus *) 0x0
#2  0x080cde97 in gtk_gaim_status_box_changed (box=0x8285070) at gtkstatusbox.c:2045
        status_box = (GtkGaimStatusBox *) 0x8285070
        iter = {stamp = 87357202, user_data = 0x8311be0, user_data2 = 0x0, user_data3 = 0x0}
        type = GTK_GAIM_STATUS_BOX_TYPE_PRIMITIVE
        data = (gpointer) 0x2
        accounts = <value optimized out>
        node = (GList *) 0x0
        __PRETTY_FUNCTION__ = "gtk_gaim_status_box_changed"
#3  0xb76c31c3 in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#4  0x08285070 in ?? ()
No symbol table info available.
#5  0x08283a18 in ?? ()
No symbol table info available.
#6  0x00000001 in ?? ()
No symbol table info available.
#7  0xb76e56f0 in ?? () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#8  0xbf831b2c in ?? ()
No symbol table info available.
#9  0x08282860 in ?? ()
No symbol table info available.
#10 0x08282860 in ?? ()
No symbol table info available.
#11 0xb76b3f6e in g_value_set_boxed () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#12 0xbf831a3c in ?? ()
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#13 0x080cdbf0 in gtk_gaim_status_box_size_request () at gtkstatusbox.c:1390
        combo_box_forall = (void (*)(GtkContainer *, gboolean, GtkCallback, gpointer)) 0xb7bfc680 <gtk_combo_new+7664>
        combo_box_size_allocate = (void (*)(GtkWidget *, GtkAllocation *)) 0xb7c048c0 <gtk_combo_box_popup+10000>
        combo_box_size_request = (void (*)(GtkWidget *, GtkRequisition *)) 0xb7c045b0 <gtk_combo_box_popup+9216>
        dnd_targets = {{target = 0x80d654f "text/plain", flags = 0, info = 0}, {target = 0x80d655a "text/uri-list", flags = 0, info = 1}, {
    target = 0x80d8d2c "STRING", flags = 0, info = 2}}
        parent_class = (GtkComboBoxClass *) 0x8283c10
#14 0x08285070 in ?? ()
No symbol table info available.
#15 0x00000000 in ?? ()
No symbol table info available.
Comment 7 Dan Callaghan 2006-12-29 01:00:13 UTC
Sorry, the existing `emerge --info` attachment is from the wrong machine. Attaching a corrected version ...
Comment 8 Dan Callaghan 2006-12-29 01:09:59 UTC
Created attachment 104904 [details]
output of emerge --info
Comment 9 Justin Blanchard 2007-01-26 17:32:11 UTC
I just got this behavior with beta6.
Backtrace (with USE=debug FEATURES=nostrip CFLAGS=-g) looks pretty similar; emerge --info / output / backtrace / core file available on request.

Workaround: Choose "New..." from the status menu instead of "Available" and manually select available status with no message in the dialog box. Yes, this is ridiculous.
Comment 10 Olivier Crete (RETIRED) gentoo-dev 2007-05-01 03:13:03 UTC
Can you still reproduce with net-im/pidgin-2.0.0beta7 ?
Comment 11 Justin Blanchard 2007-05-01 14:29:08 UTC
Strangely enough, it stopped happening to me even without an upgrade.
I can't reproduce it anymore. I don't know why. Sorry.
Comment 12 Olivier Crete (RETIRED) gentoo-dev 2007-05-03 16:43:39 UTC
ok.. then lets close