#493 Catapult: browse for a cartridge - file dialog seems to crash after browsing

Next_release
open
joxy
wxCatapult (26)
5
2013-10-05
2013-08-15
joxy
No
(04:34:06) Quibus: hmm, I got a crash
(04:35:04) Quibus: file dialog seems to crash after browsing
(04:40:18) Quibus: browse for a cartridge
(04:42:50) Quibus: it actually crashes in the destructor of the dialog
(04:43:16) Quibus: line 409 of SessionPage.cpp

SessionPage.cpp:

void SessionPage::BrowseCart(MediaInfo& m)
{
...
                m.menu.SetLabel(Cart_Browse_Ips, wxT("Select IPS Patches (None selected)"));
                m.menu.SetLabel(Cart_Select_Mapper, wxT("Select cartridge type (AUTO)"));
[line 409-->]        }
}

Discussion

  • joxy
    joxy
    2013-08-15

    (04:55:23) egp: Quibus: which kind of a crash?
    (04:55:45) Quibus: egp
    : invalid pointer at free

     
  • Some info:

    *** Error in `derived/x86_64-linux-devel/bin/catapult': free(): invalid pointer: 0x00000000023375e0 ***
    
    #0  0x00007f4a48eb21e5 in __GI_raise (sig=sig@entry=6)
        at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
    56  ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
    (gdb) bt
    #0  0x00007f4a48eb21e5 in __GI_raise (sig=sig@entry=6)
        at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
    #1  0x00007f4a48eb5398 in __GI_abort () at abort.c:90
    #2  0x00007f4a48eed7cb in __libc_message (do_abort=do_abort@entry=2, 
        fmt=fmt@entry=0x7f4a48fe9be8 "*** Error in `%s': %s: 0x%s ***\n")
        at ../sysdeps/unix/sysv/linux/libc_fatal.c:199
    #3  0x00007f4a48ef7a26 in malloc_printerr (action=3, 
        str=0x7f4a48fe5b8a "free(): invalid pointer", ptr=<optimized out>)
        at malloc.c:4902
    #4  0x00007f4a48ef87a3 in _int_free (av=<optimized out>, p=0x23375d0, 
        have_lock=0) at malloc.c:3758
    #5  0x00007f4a4892e802 in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #6  0x00007f4a4727b8da in g_object_unref ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #7  0x00007f4a4891e2e3 in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #8  0x00007f4a489214bc in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #9  0x00007f4a4727b8da in g_object_unref ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #10 0x00007f4a488c788a in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #11 0x00007f4a488fa89f in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #12 0x00007f4a47276ea2 in g_closure_invoke ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #13 0x00007f4a47288274 in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #14 0x00007f4a4728fce9 in g_signal_emit_valist ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #15 0x00007f4a4728ff32 in g_signal_emit ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #16 0x00007f4a48995c00 in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #17 0x00007f4a4727c980 in g_object_run_dispose ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #18 0x00007f4a488c788a in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #19 0x00007f4a488fa89f in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #20 0x00007f4a47276ea2 in g_closure_invoke ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    ---Type <return> to continue, or q <return> to quit---
    #21 0x00007f4a47288274 in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #22 0x00007f4a4728fce9 in g_signal_emit_valist ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #23 0x00007f4a4728ff32 in g_signal_emit ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #24 0x00007f4a48995c00 in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #25 0x00007f4a4727c980 in g_object_run_dispose ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #26 0x00007f4a488fa89f in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #27 0x00007f4a47276f28 in g_closure_invoke ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #28 0x00007f4a47288274 in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #29 0x00007f4a4728fce9 in g_signal_emit_valist ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #30 0x00007f4a4728ff32 in g_signal_emit ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #31 0x00007f4a48995c00 in ?? ()
       from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    #32 0x00007f4a4727c980 in g_object_run_dispose ()
       from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    #33 0x00007f4a4a9589eb in wxWindow::~wxWindow() ()
       from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
    #34 0x00007f4a4a960334 in wxGenericFileDialog::~wxGenericFileDialog() ()
       from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
    #35 0x0000000000429a8c in ~wxFileDialog (this=0x7fffffa3a660, 
        __in_chrg=<optimized out>) at /usr/include/wx-2.8/wx/gtk/filedlg.h:34
    #36 SessionPage::BrowseCart (this=0x2077e20, m=...) at src/SessionPage.cpp:409
    #37 0x00007f4a4a0ab9c6 in wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) ()
       from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
    #38 0x00007f4a4a0abb34 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
    #39 0x00007f4a4a0abe57 in wxEvtHandler::ProcessEvent(wxEvent&) ()
       from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
    #40 0x00007f4a4aa18e29 in wxWindowBase::TryParent(wxEvent&) ()
       from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
    #41 0x00007f4a4a97ea19 in ?? ()
       from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
    #42 0x00007f4a47277157 in ?? ()
    
     
  • I couldn't reproduce it a 2nd time... :(