On Wed, 2008-08-27 at 14:05 +0100, Kevin McAreavey wrote:
> Compiling gobby with the following options:
> > export CFLAGS="%optflags"
> > export CXXFLAGS="%cxx_optflags"

You can try changing this to 

CXXFLAGS="-xO2"

or if that doesn't help to -xO1
We had problems in the past with optimisation breaking some C++ code.

> > $ pstack core
> > core 'core' of 10702:    gobby
> >  081d8530 __1cFGobbyGWindowKon_realize6M_v_ (80473f0) + 4c
> >  d151ace5 __1cDGtkMWidget_ClassQrealize_callback6FpnK_GtkWidget__v_
> > (8371010, 82f3020) + 5d
> >  d11e34dd g_cclosure_marshal_VOID__VOID (836e360, 0, 1, 8046a9c,
> > 80469fc, d151ac88) + 55
> >  d11cf344 g_type_class_meta_marshal (836e360, 0, 1, 8046a9c,
> > 80469fc, 74) + 40
> >  d11cf063 g_closure_invoke (836e360, 0, 1, 8046a9c, 80469fc) + 107
> >  d11e2a18 signal_emit_unlocked_R (836ddc0, 0, 8371010, 0, 8046a9c) +
> > 414
> >  d11e205c g_signal_emit_valist (8371010, c, 0, 8046d08) + 8c4
> >  d11e21f1 g_signal_emit (8371010, c, 0) + 25
> >  d0858745 gtk_widget_realize (8371010, 80473f0, 710, d1589734, 0, 0)
> > + b1
> >  d0866beb gtk_window_show (8371010) + ff
> >  d152210d __1cDGtkGWidgetHon_show6M_v_ (80473f0) + 3d
> >  d151aa45 __1cDGtkMWidget_ClassNshow_callback6FpnK_GtkWidget__v_
> > (8371010, 82f3020) + 5d
> >  d11e34dd g_cclosure_marshal_VOID__VOID (836e420, 0, 1, 8046f9c,
> > 8046efc, d151a9e8) + 55
> >  d11cf344 g_type_class_meta_marshal (836e420, 0, 1, 8046f9c,
> > 8046efc, 5c) + 40
> >  d11cf063 g_closure_invoke (836e420, 0, 1, 8046f9c, 8046efc) + 107
> >  d11e2a18 signal_emit_unlocked_R (830e250, 0, 8371010, 0, 8046f9c) +
> > 414
> >  d11e205c g_signal_emit_valist (8371010, 8, 0, 8047208) + 8c4
> >  d11e21f1 g_signal_emit (8371010, 8, 0) + 25
> >  d0857ff8 gtk_widget_show (8371010) + 5c
> >  d151d7e1 __1cDGtkGWidgetEshow6M_v_ (80473f0, 80473a0, 80473e0,
> > 80473a0) + 25
> >  081f547b main     (1, 8047b5c, 8047b64, 8047b50) + b27
> >  0810d94d _start   (1, 8047c30, 0, 8047c36, 8047c73, 8047c85) + 7d
> 
> Does anyone have any ideas on what might be the cause of this?

You can pass this through c++filt to decode the names of the C++
functions:

$ pstack core | c++filt
core 'core' of 10702:    gobby
 081d8530 void Gobby::Window::on_realize() (80473f0) + 4c
 d151ace5 void Gtk::Widget_Class::realize_callback(_GtkWidget*) (8371010, 
82f3020) + 5d
 d11e34dd g_cclosure_marshal_VOID__VOID (836e360, 0, 1, 8046a9c, 80469fc, 
d151ac88) + 55
 d11cf344 g_type_class_meta_marshal (836e360, 0, 1, 8046a9c, 80469fc, 74) + 40
 d11cf063 g_closure_invoke (836e360, 0, 1, 8046a9c, 80469fc) + 107
 d11e2a18 signal_emit_unlocked_R (836ddc0, 0, 8371010, 0, 8046a9c) + 414
 d11e205c g_signal_emit_valist (8371010, c, 0, 8046d08) + 8c4
 d11e21f1 g_signal_emit (8371010, c, 0) + 25
 d0858745 gtk_widget_realize (8371010, 80473f0, 710, d1589734, 0, 0) + b1
 d0866beb gtk_window_show (8371010) + ff
 d152210d void Gtk::Widget::on_show() (80473f0) + 3d
 d151aa45 void Gtk::Widget_Class::show_callback(_GtkWidget*) (8371010, 82f3020) 
+ 5d
 d11e34dd g_cclosure_marshal_VOID__VOID (836e420, 0, 1, 8046f9c, 8046efc, 
d151a9e8) + 55
 d11cf344 g_type_class_meta_marshal (836e420, 0, 1, 8046f9c, 8046efc, 5c) + 40
 d11cf063 g_closure_invoke (836e420, 0, 1, 8046f9c, 8046efc) + 107
 d11e2a18 signal_emit_unlocked_R (830e250, 0, 8371010, 0, 8046f9c) + 414
 d11e205c g_signal_emit_valist (8371010, 8, 0, 8047208) + 8c4
 d11e21f1 g_signal_emit (8371010, 8, 0) + 25
 d0857ff8 gtk_widget_show (8371010) + 5c
 d151d7e1 void Gtk::Widget::show() (80473f0, 80473a0, 80473e0, 80473a0) + 25
 081f547b main     (1, 8047b5c, 8047b64, 8047b50) + b27
 0810d94d _start   (1, 8047c30,

So it crashes in ?Gobby::Window::on_realize().

Laca



Reply via email to