Menu

#18 reading in obj crashes

open
nobody
None
5
2006-04-03
2006-04-03
Stuart Tett
No

In the latest version in subversion, I'm still getting
a segfault every time I load in an obj. I have tried
several. Here is the stack trace and I've attached an
example obj.

(gdb) backtrace
#0 0xb7bb81a0 in
sigc::internal::trackable_callback_list::~trackable_callback_list
() from /usr/lib/libsigc-2.0.so.0
#1 0xb7bb8028 in sigc::trackable::notify_callbacks () from
/usr/lib/libsigc-2.0.so.0
#2 0xb7bb7f1e in sigc::trackable::~trackable () from
/usr/lib/libsigc-2.0.so.0
#3 0x080aab29 in ~ModelPreview (this=0xbfbb8bb0) at
stl_alloc.h:242
#4 0x080a570c in
SharpConstruct::GInterface::MainWindow::open_model_
(this=0xbfbba770) at atomicity.h:38
#5 0x080a99ea in
sigc::adaptor_functor<sigc::bound_mem_functor0<void,
SharpConstruct::GInterface::MainWindow> >::operator()
(this=0x822c378)
at limit_reference.h:61
#6 0xb7befcfe in
Glib::SignalProxyNormal::slot0_void_callback () from
/usr/lib/libglibmm-2.4.so.1
#7 0xb7551164 in g_cclosure_marshal_VOID__VOID () from
/usr/lib/libgobject-2.0.so.0

I ran it through gdb and it seemed to have something to
do with the preview in the Open dialog I think. But it
happens regardless of whether I show preview or not
with the checkbox.

Thanks.

Discussion

  • Stuart Tett

    Stuart Tett - 2006-04-03

    OBJ File of a soccerball

     
  • Nicholas Bishop

    Nicholas Bishop - 2006-04-04

    Logged In: YES
    user_id=1060567

    Try recompiling this with GtkGLExt 1.2 and gtkglextmm 1.2,
    assuming you aren't already using those versions. (As they
    were released only recently, most distros probably don't
    have them.)

    I'm not sure this is the problem, but the gdb backtrace
    suggests a connection to gtkglext[mm].

     
  • Stuart Tett

    Stuart Tett - 2006-04-04

    Logged In: YES
    user_id=824778

    I am running Gentoo. I have gtkglextmm 1.1 and gtkglext 1.2
    which are the latest available in Gentoo portage. I guess
    the problem is the 1.1 gtkglextmm. Hopefully, it will update
    in portage soon so I can test it then. I'd rather update it
    in portage than compile it myself, but we'll see. I may have
    to. Thanks.

     
  • Stuart Tett

    Stuart Tett - 2006-04-14

    Logged In: YES
    user_id=824778

    Ok, now I have gtkglextmm 1.2 and gtkglext 1.2. I updated
    with svn just now. Compiled and it segfaults almost right
    away. I see the gui flash up for a second.Any idea? thanks.

    (gdb) backtrace
    #0 0xb7157897 in std::_List_node_base::hook () from
    /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libstdc++.so.6
    #1 0x080916e2 in std::list<sigc::slot_base,
    std::allocator<sigc::slot_base> >::insert (this=0x81eaf28,
    __position={_M_node = 0x31}, __x=@0x31)
    at list.tcc:88
    #2 0x0808cfcc in
    SharpConstruct::GInterface::Editor::on_realize
    (this=0xbf979470) at stl_list.h:617
    #3 0xb7e84517 in Gtk::Widget_Class::realize_callback ()
    from /usr/lib/libgtkmm-2.4.so.1
    #4 0xb7506164 in g_cclosure_marshal_VOID__VOID () from
    /usr/lib/libgobject-2.0.so.0

     
  • Nicholas Bishop

    Nicholas Bishop - 2006-04-15

    Logged In: YES
    user_id=1060567

    Try recompiling the program with optimization off. Run this
    command:
    export CXXFLAGS="-O0 -g"
    before you run the configure script. Once it has been
    recompiled, get another gdb backtrace. It should contain
    more useful info with optimization off.

     
  • Stuart Tett

    Stuart Tett - 2006-04-15

    Logged In: YES
    user_id=824778

    Ok, I reconfigured and recompiled with export CXXFLAGS="-O0 -g"

    Here's the new backtrace:

    #0 0xb71a3897 in std::_List_node_base::hook () from
    /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libstdc++.so.6
    #1 0x080e277b in std::list<sigc::slot_base,
    std::allocator<sigc::slot_base> >::insert (this=0x8255f50,
    __position={_M_node = 0x8255f50}, __x=@0xbfbc4ac0)
    at list.tcc:88
    #2 0x080e270e in temp_slot_list (this=0xbfbc4b20,
    slots=@0x8255f50) at signal_base.h:180
    #3 0x080e2964 in sigc::internal::signal_emit2<void, bool,
    bool, sigc::nil>::emit (impl=0x8255f48, _A_a1=@0xbfbc4bde,
    _A_a2=@0xbfbc4bdf) at signal.h:826
    #4 0x080e1978 in sigc::signal2<void, bool, bool,
    sigc::nil>::emit (this=0xbfbc592c, _A_a1=@0xbfbc4bde,
    _A_a2=@0xbfbc4bdf) at signal.h:1924
    #5 0x080e0b8b in sigc::signal2<void, bool, bool,
    sigc::nil>::operator() (this=0xbfbc592c, _A_a1=@0xbfbc4bde,
    _A_a2=@0xbfbc4bdf) at signal.h:1928
    #6 0x080dc2ec in
    SharpConstruct::GInterface::Editor::on_realize
    (this=0xbfbc58e0) at Editor.cc:555
    #7 0xb7ed0517 in Gtk::Widget_Class::realize_callback ()
    from /usr/lib/libgtkmm-2.4.so.1
    #8 0xb7552164 in g_cclosure_marshal_VOID__VOID () from
    /usr/lib/libgobject-2.0.so.0

     
  • Nicholas Bishop

    Nicholas Bishop - 2006-04-15

    Logged In: YES
    user_id=1060567

    Well, this is certainly a weird one. Try running 'ldd
    sharpconstruct', and I'll compare the linked libraries on
    your system with the ones on mine.

     

Log in to post a comment.