2.8.3 crashes under IRIX [was: not compiling on IRIX...
strtoull issue?]
Vadim Zeitlin
vadim at wxwindows.org
Thu May 10 16:10:41 PDT 2007
On 10 May 2007 13:50:28 -0700 defreitas at gmail.com wrote:
> I then tried building a test program I have been using under 2.6.3 and
> it core dumped when I exited. It did not core dump under 2.6.3.
>
> I tried to pare down the code to as little as possible, while still
> getting a core dump and it ended up just being a list box in the main
> frame. Here is the pared down code:
>
> __________
>
> #include "wx/wx.h"
>
> class MyApp : public wxApp
> {
> public:
> virtual bool OnInit();
> };
>
> class MyFrame : public wxFrame
> {
> public:
> MyFrame(const wxString& title);
> void OnQuit(wxCommandEvent& event);
>
> private:
> // This class handles events
> DECLARE_EVENT_TABLE()
> };
>
> DECLARE_APP(MyApp)
> IMPLEMENT_APP(MyApp)
>
> bool MyApp::OnInit()
> {
> MyFrame *frame = new MyFrame(wxT("convert"));
> frame->Show(true);
> return true;
> }
>
> BEGIN_EVENT_TABLE(MyFrame, wxFrame)
> EVT_MENU(wxID_EXIT, MyFrame::OnQuit)
> END_EVENT_TABLE()
>
> MyFrame::MyFrame(const wxString& title) : wxFrame(NULL, wxID_ANY,
> title)
> {
> wxMenu *fileMenu = new wxMenu;
> fileMenu->Append(wxID_EXIT, wxT("E&xit\tAlt-X"),
> wxT("Exits this program"));
> wxMenuBar *menuBar = new wxMenuBar();
> menuBar->Append(fileMenu, wxT("&File"));
> SetMenuBar(menuBar);
>
> wxListBox *left_lb = new wxListBox(this, -1);
> }
>
> void MyFrame::OnQuit(wxCommandEvent& event)
> {
> Close(); // destroy the frame
> }
>
> __________
The code looks correct.
> And this is the call stack from the core dump:
>
> gtk_tree_view_destroy(<stripped>) ["gtktreeview.c":1151]
> g_cclosure_marshal_VOID__VOID(<stripped>) ["gmarshal.c":77]
> g_type_class_meta_marshal(<stripped>) ["gclosure.c":514]
> g_closure_invoke(<stripped>) ["gclosure.c":437]
> signal_emit_unlocked_R(<stripped>) ["gsignal.c":2457]
> g_signal_emit_valist(<stripped>) ["gsignal.c":2100]
> gtk_signal_emit(<stripped>) ["gtksignal.c":355]
> gtk_object_dispose(<stripped>) ["gtkobject.c":373]
> gtk_widget_dispose(<stripped>) ["gtkwidget.c":5605]
> g_object_run_dispose(<stripped>) ["gobject.c":466]
> gtk_object_destroy(<stripped>) ["gtkobject.c":358]
> gtk_widget_destroy(<stripped>) ["gtkwidget.c":1581]
> gtk_bin_forall(<stripped>) ["gtkbin.c":165]
> gtk_scrolled_window_forall(<stripped>) ["gtkscrolledwindow.c":766]
> gtk_container_foreach(<stripped>) ["gtkcontainer.c":1179]
> gtk_container_destroy(<stripped>) ["gtkcontainer.c":725]
> gtk_scrolled_window_destroy(<stripped>) ["gtkscrolledwindow.c":625]
> g_cclosure_marshal_VOID__VOID(<stripped>) ["gmarshal.c":77]
> g_type_class_meta_marshal(<stripped>) ["gclosure.c":514]
> g_closure_invoke(<stripped>) ["gclosure.c":437]
> signal_emit_unlocked_R(<stripped>) ["gsignal.c":2457]
> g_signal_emit_valist(<stripped>) ["gsignal.c":2100]
> gtk_signal_emit(<stripped>) ["gtksignal.c":355]
> gtk_object_dispose(<stripped>) ["gtkobject.c":373]
> gtk_widget_dispose(<stripped>) ["gtkwidget.c":5605]
> g_object_run_dispose(<stripped>) ["gobject.c":466]
> gtk_object_destroy(<stripped>) ["gtkobject.c":358]
> gtk_widget_destroy(<stripped>) ["gtkwidget.c":1581]
> wxWindow::~wxWindow(<stripped>) ["window.cpp":2445]
> wxControlBase::~wxControlBase(<stripped>) ["ctrlcmn.cpp":48]
> wxControl::~wxControl(<stripped>) ["control.h":96]
> wxControlWithItems::~wxControlWithItems(<stripped>) ["ctrlsub.cpp": 195]
> wxListBoxBase::~wxListBoxBase(<stripped>) ["lboxcmn.cpp":43]
> wxListBox::~wxListBox(<stripped>) ["listbox.cpp":478]
> wxWindowBase::DestroyChildren(<stripped>) ["wincmn.cpp":422]
> wxWindow::~wxWindow(<stripped>) ["window.cpp":2417]
> wxTopLevelWindowBase::~wxTopLevelWindowBase(<stripped>) ["toplvcmn.cpp":75]
> wxTopLevelWindowGTK::~wxTopLevelWindowGTK(<stripped>) ["toplevel.cpp": 695]
> wxTopLevelWindow::~wxTopLevelWindow(<stripped>) ["toplevel.h":356]
> wxFrameBase::~wxFrameBase(<stripped>) ["framecmn.cpp":79]
> wxFrame::~wxFrame(<stripped>) ["frame.cpp":208]
> MyFrame::~MyFrame(this = 0x10, <no name> = 0) ["convert.c":30]
> wxAppBase::DeletePendingObjects(<stripped>) ["appcmn.cpp":419]
> wxAppBase::OnIdle(<stripped>) ["appcmn.cpp":491]
> wxAppConsole::HandleEvent(<stripped>) ["appbase.cpp":320]
> wxEvtHandler::ProcessEventIfMatches(<stripped>) ["event.cpp":1203]
> wxEventHashTable::HandleEvent(<stripped>) ["event.cpp":877]
> wxEvtHandler::ProcessEvent(<stripped>) ["event.cpp":1265]
> wxAppBase::ProcessIdle(<stripped>) ["appcmn.cpp":442]
> wxapp_idle_callback(<stripped>) ["app.cpp":207]
> g_idle_dispatch(<stripped>) ["gmain.c":3128]
> g_main_dispatch(<stripped>) ["gmain.c":1617]
> g_main_context_dispatch(<stripped>) ["gmain.c":2161]
> g_main_context_iterate(<stripped>) ["gmain.c":2242]
> g_main_loop_run(<stripped>) ["gmain.c":2462]
> gtk_main(<stripped>) ["gtkmain.c":936]
> wxEventLoop::Run(<stripped>) ["evtloop.cpp":76]
> wxAppBase::MainLoop(<stripped>) ["appcmn.cpp":308]
> wxAppBase::OnRun(<stripped>) ["appcmn.cpp":363]
> wxEntry(<stripped>) ["init.cpp":449]
> main(argc = 127, argv = 0x0) ["convert.c":21]
> __start(<stripped>) ["crt1text.s":177]
>
> Any ideas? Do you need more info?
Unfortunately no idea. The crash happens deep inside GTK+ and I don't see
anything obviously wrong anywhere. Which version of GTK+ do you use?
Regards,
VZ
--
TT-Solutions: wxWidgets consultancy and technical support
http://www.tt-solutions.com/
More information about the wx-users
mailing list