Gtk2 perl core dump
- From: Chris LaReau <lareau korora com>
- To: gtk-perl-list gnome org
- Subject: Gtk2 perl core dump
- Date: Fri, 26 Nov 2004 10:31:45 -0600
Greetings,
I've come across a core dump in perl v5.8.5 with modules Gtk2-1.061
and Glib-1.061. I have appended a smallish but probably not minimal
bit of test code, the execution output, and a gdb stack trace of
perl. I'm running this on Fedora Core 2, and have yet to try it on
other platforms.
I haven't gone much further looking into it as I'm fairly new to
Gtk2, and haven't done much serious GUI programming since the era of
the Motif/OpenLook turf wars, but I would appreciate any help or
workarounds for this.
Cheers,
Chris LaReau
######## dumpage.pl
# Usage: perl dumpage.pl
# Type 'foo' in the Entry widget. Hit Tab twice. Type 'bar'. Tab twice. Crash.
use strict;
use warnings 'all';
use Gtk2 -init;
my $window = Gtk2::Window->new;
my $frame = Gtk2::Frame->new;
$window->add($frame);
my $vbox = Gtk2::VBox->new;
$frame->add($vbox);
my $entry = Gtk2::Entry->new;
$vbox->add($entry);
$entry->signal_connect('focus-out-event', \&on_entry_focus_out);
$window->show_all;
Gtk2->main;
sub on_entry_focus_out {
my ($w) = @_;
my $parent = $w->get('parent');
my $text = $w->get_text;
my @kids = $parent->get_children;
for my $k (@kids) {
$parent->remove($k) if ref($k) eq 'Gtk2::CheckButton';
}
my $checkbox = Gtk2::CheckButton->new_with_label($text);
$parent->add($checkbox);
$parent->show_all;
return undef;
}
######## execution
$ perl dumpage.pl
Gtk-CRITICAL **: file gtkwidget.c: line 5810 (gtk_widget_get_toplevel): assertion `GTK_IS_WIDGET (widget)'
failed at dumpage.pl line 17.
Gtk-CRITICAL **: file gtkwidget.c: line 5810 (gtk_widget_get_toplevel): assertion `GTK_IS_WIDGET (widget)'
failed at dumpage.pl line 17.
Segmentation fault (core dumped)
######## stack trace
(gdb) where
#0 0x056dd1d3 in gtk_container_set_focus_child ()
from /usr/lib/libgtk-x11-2.0.so.0
#1 0x05860500 in gtk_widget_grab_focus () from /usr/lib/libgtk-x11-2.0.so.0
#2 0x056f9dd9 in gtk_entry_get_type () from /usr/lib/libgtk-x11-2.0.so.0
#3 0x0031b661 in g_cclosure_marshal_VOID__VOID ()
from /usr/lib/libgobject-2.0.so.0
#4 0x003074f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#5 0x00307160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#6 0x0031ab95 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#7 0x0031a127 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#8 0x0031a424 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#9 0x058603a6 in gtk_widget_grab_focus () from /usr/lib/libgtk-x11-2.0.so.0
#10 0x05860636 in gtk_widget_grab_focus () from /usr/lib/libgtk-x11-2.0.so.0
#11 0x05760644 in gtk_marshal_VOID__UINT_STRING ()
from /usr/lib/libgtk-x11-2.0.so.0
#12 0x003074f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#13 0x00307160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#14 0x0031ab95 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#15 0x00319efe in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#16 0x0031a424 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#17 0x05862fca in gtk_widget_child_focus () from /usr/lib/libgtk-x11-2.0.so.0
#18 0x056de39b in gtk_container_get_children ()
from /usr/lib/libgtk-x11-2.0.so.0
#19 0x056dd89b in gtk_container_get_children ()
from /usr/lib/libgtk-x11-2.0.so.0
#20 0x05760644 in gtk_marshal_VOID__UINT_STRING ()
from /usr/lib/libgtk-x11-2.0.so.0
#21 0x003074f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#22 0x00307160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#23 0x0031ab95 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#24 0x00319efe in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#25 0x0031a424 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#26 0x05862fca in gtk_widget_child_focus () from /usr/lib/libgtk-x11-2.0.so.0
#27 0x056de39b in gtk_container_get_children ()
from /usr/lib/libgtk-x11-2.0.so.0
#28 0x056dd89b in gtk_container_get_children ()
from /usr/lib/libgtk-x11-2.0.so.0
#29 0x05760644 in gtk_marshal_VOID__UINT_STRING ()
from /usr/lib/libgtk-x11-2.0.so.0
#30 0x003074f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#31 0x00307160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#32 0x0031ab95 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#33 0x00319efe in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#34 0x0031a424 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#35 0x05862fca in gtk_widget_child_focus () from /usr/lib/libgtk-x11-2.0.so.0
#36 0x0586df63 in gtk_window_propagate_key_event ()
from /usr/lib/libgtk-x11-2.0.so.0
#37 0x05760644 in gtk_marshal_VOID__UINT_STRING ()
from /usr/lib/libgtk-x11-2.0.so.0
#38 0x003074f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#39 0x00307160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#40 0x0031ab95 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#41 0x00319efe in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#42 0x0031a424 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#43 0x05862fca in gtk_widget_child_focus () from /usr/lib/libgtk-x11-2.0.so.0
#44 0x0586dc29 in gtk_window_propagate_key_event ()
from /usr/lib/libgtk-x11-2.0.so.0
#45 0x0031bcde in g_cclosure_marshal_VOID__ENUM ()
from /usr/lib/libgobject-2.0.so.0
#46 0x003074f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#47 0x00307160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#48 0x0031ab95 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#49 0x0031989f in g_signal_emitv () from /usr/lib/libgobject-2.0.so.0
#50 0x0569ef5b in gtk_bin_get_child () from /usr/lib/libgtk-x11-2.0.so.0
#51 0x0569fdad in gtk_binding_set_add_path () from /usr/lib/libgtk-x11-2.0.so.0
#52 0x056a0055 in gtk_binding_set_add_path () from /usr/lib/libgtk-x11-2.0.so.0
#53 0x056a02a0 in gtk_bindings_activate_event ()
from /usr/lib/libgtk-x11-2.0.so.0
#54 0x0585f596 in gtk_widget_mnemonic_activate ()
from /usr/lib/libgtk-x11-2.0.so.0
#55 0x0586db33 in gtk_window_propagate_key_event ()
from /usr/lib/libgtk-x11-2.0.so.0
#56 0x05760434 in gtk_marshal_VOID__UINT_STRING ()
from /usr/lib/libgtk-x11-2.0.so.0
#57 0x003074f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#58 0x00307160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#59 0x0031ab95 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#60 0x00319efe in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#61 0x0031a424 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#62 0x0585f9e5 in gtk_widget_send_expose () from /usr/lib/libgtk-x11-2.0.so.0
#63 0x0575ea7e in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#64 0x0575d726 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#65 0x003e6025 in gdk_x11_register_standard_event_type ()
from /usr/lib/libgdk-x11-2.0.so.0
#66 0x001e11e2 in g_main_depth () from /usr/lib/libglib-2.0.so.0
#67 0x001e22d8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#68 0x001e2610 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#69 0x001e2c53 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#70 0x0575cff3 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#71 0x005cbd51 in XS_Gtk2_main ()
from /home/lareau/Korora/web/run/lib/perl5/site_perl/5.8.5/i686-linux/auto/Gtk2/Gtk2.so
#72 0x080af3c6 in Perl_pp_entersub ()
#73 0x080a912c in Perl_runops_standard ()
#74 0x080636a5 in perl_run ()
#75 0x0805e2a2 in main ()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]