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 136236 - iagno and gataxx segfault immediately when selecting settings->preferences
iagno and gataxx segfault immediately when selecting settings->preferences
Status: RESOLVED FIXED
Product: gnome-games-superseded
Classification: Deprecated
Component: iagno
unspecified
Other other
: Urgent critical
: ---
Assigned To: GNOME Games maintainers
GNOME Games maintainers
Depends on:
Blocks:
 
 
Reported: 2004-03-05 01:04 UTC by Luis Villa
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: 2.6.next
GNOME version: ---


Attachments
Quick fix (2.14 KB, patch)
2004-03-05 01:33 UTC, Jonathan Blandford
none Details | Review

Description Luis Villa 2004-03-05 01:06:56 UTC
Distribution: Fedora Core release 1 (Yarrow)
Package: gnome-games
Severity: normal
Version: GNOME2.5.90 2.5.7
Gnome-Distributor: GNOME.Org
Synopsis: iagno and gataxx segfault immediately when selecting settings->preferences
Bugzilla-Product: gnome-games
Bugzilla-Component: iagno
Bugzilla-Version: 2.5.7
BugBuddy-GnomeVersion: 2.0 (2.5.90.1)
Description:
Description of the crash:
select settings->preferences, app go boom. This is with both iagno and
gattaxx HEAD, and gtk HEAD as of this morning.


Debugging Information:

Backtrace was generated from '/home/louie/jhbuilt/bin/iagno'

Using host libthread_db library "/lib/tls/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1084986784 (LWP 27830)]
0x002b6c32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2

Thread 1 (Thread -1084986784 (LWP 27830))

  • #0 _dl_sysinfo_int80
    from /lib/ld-linux.so.2
  • #1 __waitpid_nocancel
    from /lib/tls/libpthread.so.0
  • #2 libgnomeui_segv_handle
    at gnome-ui-init.c line 741
  • #3 <signal handler called>
  • #4 set_selection
    at properties.c line 448
  • #5 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #6 g_closure_invoke
    at gclosure.c line 437
  • #7 signal_emit_unlocked_R
    at gsignal.c line 2436
  • #8 g_signal_emit_valist
    at gsignal.c line 2195
  • #9 g_signal_emit_by_name
    at gsignal.c line 2263
  • #10 gtk_combo_box_set_active_internal
    at gtkcombobox.c line 2997
  • #11 gtk_combo_box_model_row_inserted
    at gtkcombobox.c line 1917
  • #12 _gtk_marshal_VOID__BOXED_BOXED
    at gtkmarshalers.c line 1028
  • #13 g_closure_invoke
    at gclosure.c line 437
  • #14 signal_emit_unlocked_R
    at gsignal.c line 2436
  • #15 g_signal_emit_valist
    at gsignal.c line 2195
  • #16 g_signal_emit
    at gsignal.c line 2239
  • #17 gtk_tree_model_row_inserted
    at gtktreemodel.c line 1361
  • #18 gtk_list_store_append
    at gtkliststore.c line 1346
  • #19 gtk_combo_box_append_text
    at gtkcombobox.c line 3174
  • #20 fill_menu
    at properties.c line 487
  • #21 show_properties_dialog
    at properties.c line 727
  • #22 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #23 g_closure_invoke
    at gclosure.c line 437
  • #24 signal_emit_unlocked_R
    at gsignal.c line 2436
  • #25 g_signal_emit_valist
    at gsignal.c line 2195
  • #26 g_signal_emit
    at gsignal.c line 2239
  • #27 gtk_widget_activate
    at gtkwidget.c line 3593
  • #28 gtk_menu_shell_activate_item
    at gtkmenushell.c line 900
  • #29 gtk_menu_shell_button_release
    at gtkmenushell.c line 527
  • #30 gtk_menu_button_release
    at gtkmenu.c line 2425
  • #31 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 82
  • #32 g_type_class_meta_marshal
    at gclosure.c line 514
  • #33 g_closure_invoke
    at gclosure.c line 437
  • #34 signal_emit_unlocked_R
    at gsignal.c line 2474
  • #35 g_signal_emit_valist
    at gsignal.c line 2205
  • #36 g_signal_emit
    at gsignal.c line 2239
  • #37 gtk_widget_event_internal
    at gtkwidget.c line 3562
  • #38 gtk_propagate_event
    at gtkmain.c line 2343
  • #39 gtk_main_do_event
    at gtkmain.c line 1581
  • #40 gdk_event_dispatch
    at gdkevents-x11.c line 2136
  • #41 g_main_dispatch
    at gmain.c line 1887
  • #42 g_main_context_dispatch
    at gmain.c line 2433
  • #43 g_main_context_iterate
    at gmain.c line 2514
  • #44 g_main_loop_run
    at gmain.c line 2718
  • #45 gtk_main
    at gtkmain.c line 1171
  • #46 main
    at gnothello.c line 954
  • #0 _dl_sysinfo_int80
    from /lib/ld-linux.so.2




------- Bug moved to this database by unknown@bugzilla.gnome.org 2004-03-04 20:06 -------

Unknown version 2.5.7 in product gnome-games. Setting version to the default, "unspecified".
Reassigning to the default owner of the component, gnome-games-maint@bugzilla.gnome.org.

Comment 1 Carlos Romero 2004-03-05 01:20:37 UTC
Program received signal SIGSEGV, Segmentation fault.

Thread 1086826976 (LWP 5015)

  • #0 set_selection
    at properties.c line 448
  • #1 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #2 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #3 signal_emit_unlocked_R
    from /usr/lib/libgobject-2.0.so.0

Comment 2 Jonathan Blandford 2004-03-05 01:31:56 UTC
GtkComboBox changed its semantics a little bit recently.  I whipped up
a patch really quickly to fix this. 
Comment 3 Jonathan Blandford 2004-03-05 01:33:26 UTC
Created attachment 25186 [details] [review]
Quick fix
Comment 4 Callum McKenzie 2004-03-05 01:57:53 UTC
OK, so it looks like Jonathon's patch should work, but why 
is gtk *ever* calling a callback with a NULL widget !?

Would a cleaner fix be to fill the menu before attaching the signal ?

I'll fix this tonight when I get home.
Comment 5 Jonathan Blandford 2004-03-05 02:03:47 UTC
The combo now selects the first item when you go from an empty combo
to a combo with an entry.  As you hadn't prepended the theme to the
theme list yet, that part of set_selection changed.  You can attach
the signal later, but make sure you make the call to set_selection
explicitly.

I just changed fill_menu to make it more robust so that it could be
called again (eg. if the themes changed on disk).
Comment 6 Luis Villa 2004-03-05 02:24:16 UTC
jrb, is this the kind of thing someone should do a quick audit or
federico-style public service announcement so we make sure there
aren't more of these scattered around the code base?
Comment 7 Jonathan Blandford 2004-03-05 02:44:00 UTC
Not sure.  The Combo doesn't have a whole lot of use right now, and
I'd imagine people would run into this kind of problem already.  It
can't hurt too much, though.
Comment 8 Callum McKenzie 2004-03-06 10:10:44 UTC
I've applied the patch to both iagno and gataxx. I've also hooked in
the signal after fill_menu to avoid doing the ugly block/unblock
thing. Marking as fixed.