Thread: pgadmin crash on refresh
Opened database->catalogs->pg_catalogs->tables. Right click + refresh = crash. Don't have time to dig in right now myself, but here's a backtrace if somebody wants to get started, or perhaps has a clue what it could be... this is with current git master tip, debugging enabled. ASSERT INFO: ../src/generic/treectlg.cpp(201): assert "m_heightText != -1" failed in GetTextHeight(): must call CalculateSize() first BACKTRACE: [1] wxGenericTreeCtrl::PaintLevel(wxGenericTreeItem*, wxDC&, int, int&) [2] wxGenericTreeCtrl::PaintLevel(wxGenericTreeItem*, wxDC&, int, int&) [3] wxGenericTreeCtrl::PaintLevel(wxGenericTreeItem*, wxDC&, int, int&) [4] wxGenericTreeCtrl::PaintLevel(wxGenericTreeItem*, wxDC&, int, int&) [5] wxGenericTreeCtrl::PaintLevel(wxGenericTreeItem*, wxDC&, int, int&) [6] wxGenericTreeCtrl::PaintLevel(wxGenericTreeItem*, wxDC&, int, int&) [7] wxGenericTreeCtrl::PaintLevel(wxGenericTreeItem*, wxDC&, int, int&) [8] wxGenericTreeCtrl::PaintLevel(wxGenericTreeItem*, wxDC&, int, int&) [9] wxGenericTreeCtrl::PaintLevel(wxGenericTreeItem*, wxDC&, int, int&) [10] wxGenericTreeCtrl::OnPaint(wxPaintEvent&) [11] wxAppConsole::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) cons) [12] wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) [13] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) [14] wxEvtHandler::ProcessEvent(wxEvent&) [15] wxEvtHandler::ProcessEvent(wxEvent&) [16] wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) [17] wxWindow::GtkSendPaintEvents() [18] g_closure_invoke() [19] g_signal_emit_valist() [20] g_signal_emit() [21] gtk_main_do_event() [22] gdk_window_process_updates() [23] wxWindow::GtkUpdate() [24] wxWindow::Update() [25] wxStatusBar::SetStatusText(wxString const&, int) [26] frmMain::EndMsg(bool) /opt/pgsql/pgadmin/pgadmin3/pgadmin/./frm/frmMain.cpp:1246 [27] frmMain::Refresh(pgObject*) /opt/pgsql/pgadmin/pgadmin3/pgadmin/./frm/frmMain.cpp:565 [28] refreshFactory::StartDialog(frmMain*, pgObject*) /opt/pgsql/pgadmin/pgadmin3/pgadmin/./dlg/dlgProperty.cpp:2199 [29] frmMain::OnAction(wxCommandEvent&) /opt/pgsql/pgadmin/pgadmin3/pgadmin/./frm/events.cpp:191 [30] wxAppConsole::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) cons) [31] wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) [32] wxEvtHandler::SearchDynamicEventTable(wxEvent&) [33] wxEvtHandler::ProcessEvent(wxEvent&) [34] wxEvtHandler::ProcessEvent(wxEvent&) [35] wxWindowBase::TryParent(wxEvent&) [36] wxEvtHandler::ProcessEvent(wxEvent&) [37] wxEvtHandler::ProcessEvent(wxEvent&) [38] wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) [39] wxMenuBase::SendEvent(int, int) [40] g_cclosure_marshal_VOID__VOID() [41] g_closure_invoke() [42] g_signal_emit_valist() [43] g_signal_emit() [44] gtk_widget_activate() [45] gtk_menu_shell_activate_item() [46] g_closure_invoke() [47] g_signal_emit_valist() [48] g_signal_emit() -- Magnus Hagander Me: http://www.hagander.net/ Work: http://www.redpill-linpro.com/
On Wed, Jan 19, 2011 at 12:18 PM, Magnus Hagander <magnus@hagander.net> wrote: > Opened database->catalogs->pg_catalogs->tables. Right click + refresh = crash. > > Don't have time to dig in right now myself, but here's a backtrace if > somebody wants to get started, or perhaps has a clue what it could > be... > > this is with current git master tip, debugging enabled. Hmm, can't reproduce it on Windows. It does look an awful lot like this though: http://git.postgresql.org/gitweb?p=pgadmin3.git;a=commit;h=9ec6b29fe3fbd9cc196d5e91b55f3697f02bcad8 That backtrace looks kinda funky too - I think the EndMsg() call must be triggering a redraw of everything. The workaround will probably have to be done in frmMain::Refresh. > ASSERT INFO: > ../src/generic/treectlg.cpp(201): assert "m_heightText != -1" failed > in GetTextHeight(): must call CalculateSize() first > > BACKTRACE: > [1] wxGenericTreeCtrl::PaintLevel(wxGenericTreeItem*, wxDC&, int, int&) > [2] wxGenericTreeCtrl::PaintLevel(wxGenericTreeItem*, wxDC&, int, int&) > [3] wxGenericTreeCtrl::PaintLevel(wxGenericTreeItem*, wxDC&, int, int&) > [4] wxGenericTreeCtrl::PaintLevel(wxGenericTreeItem*, wxDC&, int, int&) > [5] wxGenericTreeCtrl::PaintLevel(wxGenericTreeItem*, wxDC&, int, int&) > [6] wxGenericTreeCtrl::PaintLevel(wxGenericTreeItem*, wxDC&, int, int&) > [7] wxGenericTreeCtrl::PaintLevel(wxGenericTreeItem*, wxDC&, int, int&) > [8] wxGenericTreeCtrl::PaintLevel(wxGenericTreeItem*, wxDC&, int, int&) > [9] wxGenericTreeCtrl::PaintLevel(wxGenericTreeItem*, wxDC&, int, int&) > [10] wxGenericTreeCtrl::OnPaint(wxPaintEvent&) > [11] wxAppConsole::HandleEvent(wxEvtHandler*, void > (wxEvtHandler::*)(wxEvent&), wxEvent&) cons) > [12] wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, > wxEvtHandler*, wxEvent&) > [13] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) > [14] wxEvtHandler::ProcessEvent(wxEvent&) > [15] wxEvtHandler::ProcessEvent(wxEvent&) > [16] wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) > [17] wxWindow::GtkSendPaintEvents() > [18] g_closure_invoke() > [19] g_signal_emit_valist() > [20] g_signal_emit() > [21] gtk_main_do_event() > [22] gdk_window_process_updates() > [23] wxWindow::GtkUpdate() > [24] wxWindow::Update() > [25] wxStatusBar::SetStatusText(wxString const&, int) > [26] frmMain::EndMsg(bool) > /opt/pgsql/pgadmin/pgadmin3/pgadmin/./frm/frmMain.cpp:1246 > [27] frmMain::Refresh(pgObject*) > /opt/pgsql/pgadmin/pgadmin3/pgadmin/./frm/frmMain.cpp:565 > [28] refreshFactory::StartDialog(frmMain*, pgObject*) > /opt/pgsql/pgadmin/pgadmin3/pgadmin/./dlg/dlgProperty.cpp:2199 > [29] frmMain::OnAction(wxCommandEvent&) > /opt/pgsql/pgadmin/pgadmin3/pgadmin/./frm/events.cpp:191 > [30] wxAppConsole::HandleEvent(wxEvtHandler*, void > (wxEvtHandler::*)(wxEvent&), wxEvent&) cons) > [31] wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, > wxEvtHandler*, wxEvent&) > [32] wxEvtHandler::SearchDynamicEventTable(wxEvent&) > [33] wxEvtHandler::ProcessEvent(wxEvent&) > [34] wxEvtHandler::ProcessEvent(wxEvent&) > [35] wxWindowBase::TryParent(wxEvent&) > [36] wxEvtHandler::ProcessEvent(wxEvent&) > [37] wxEvtHandler::ProcessEvent(wxEvent&) > [38] wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) > [39] wxMenuBase::SendEvent(int, int) > [40] g_cclosure_marshal_VOID__VOID() > [41] g_closure_invoke() > [42] g_signal_emit_valist() > [43] g_signal_emit() > [44] gtk_widget_activate() > [45] gtk_menu_shell_activate_item() > [46] g_closure_invoke() > [47] g_signal_emit_valist() > [48] g_signal_emit() > > > > > -- > Magnus Hagander > Me: http://www.hagander.net/ > Work: http://www.redpill-linpro.com/ > > -- > Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgadmin-hackers > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
On Wed, Jan 19, 2011 at 14:55, Dave Page <dpage@pgadmin.org> wrote: > On Wed, Jan 19, 2011 at 12:18 PM, Magnus Hagander <magnus@hagander.net> wrote: >> Opened database->catalogs->pg_catalogs->tables. Right click + refresh = crash. >> >> Don't have time to dig in right now myself, but here's a backtrace if >> somebody wants to get started, or perhaps has a clue what it could >> be... >> >> this is with current git master tip, debugging enabled. > > Hmm, can't reproduce it on Windows. It does look an awful lot like Oh, additional point: you need to actually *expand* the tables node, or it doesn't crash. Did you by any chance not do that? > this though: http://git.postgresql.org/gitweb?p=pgadmin3.git;a=commit;h=9ec6b29fe3fbd9cc196d5e91b55f3697f02bcad8 Nope. I reverted that patch (well, due to the style patch i couldn't, but i commented out that one line it seems to add) and it still crashes for me. -- Magnus Hagander Me: http://www.hagander.net/ Work: http://www.redpill-linpro.com/
On Fri, Jan 21, 2011 at 12:20 PM, Magnus Hagander <magnus@hagander.net> wrote: > On Wed, Jan 19, 2011 at 14:55, Dave Page <dpage@pgadmin.org> wrote: >> On Wed, Jan 19, 2011 at 12:18 PM, Magnus Hagander <magnus@hagander.net> wrote: >>> Opened database->catalogs->pg_catalogs->tables. Right click + refresh = crash. >>> >>> Don't have time to dig in right now myself, but here's a backtrace if >>> somebody wants to get started, or perhaps has a clue what it could >>> be... >>> >>> this is with current git master tip, debugging enabled. >> >> Hmm, can't reproduce it on Windows. It does look an awful lot like > > Oh, additional point: you need to actually *expand* the tables node, > or it doesn't crash. Did you by any chance not do that? I did do that. >> this though: http://git.postgresql.org/gitweb?p=pgadmin3.git;a=commit;h=9ec6b29fe3fbd9cc196d5e91b55f3697f02bcad8 > > Nope. I reverted that patch (well, due to the style patch i couldn't, > but i commented out that one line it seems to add) and it still > crashes for me. There's little chance that that patch would cause (or fix) the problem you see - but a similar patch in a different place might be the fix. -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
On Fri, Jan 21, 2011 at 13:35, Dave Page <dpage@pgadmin.org> wrote: > On Fri, Jan 21, 2011 at 12:20 PM, Magnus Hagander <magnus@hagander.net> wrote: >> On Wed, Jan 19, 2011 at 14:55, Dave Page <dpage@pgadmin.org> wrote: >>> On Wed, Jan 19, 2011 at 12:18 PM, Magnus Hagander <magnus@hagander.net> wrote: >>>> Opened database->catalogs->pg_catalogs->tables. Right click + refresh = crash. >>>> >>>> Don't have time to dig in right now myself, but here's a backtrace if >>>> somebody wants to get started, or perhaps has a clue what it could >>>> be... >>>> >>>> this is with current git master tip, debugging enabled. >>> >>> Hmm, can't reproduce it on Windows. It does look an awful lot like >> >> Oh, additional point: you need to actually *expand* the tables node, >> or it doesn't crash. Did you by any chance not do that? > > I did do that. > >>> this though: http://git.postgresql.org/gitweb?p=pgadmin3.git;a=commit;h=9ec6b29fe3fbd9cc196d5e91b55f3697f02bcad8 >> >> Nope. I reverted that patch (well, due to the style patch i couldn't, >> but i commented out that one line it seems to add) and it still >> crashes for me. > > There's little chance that that patch would cause (or fix) the problem > you see - but a similar patch in a different place might be the fix. > I've created ticket 299 for this for now, so we don't loose track of it. -- Magnus Hagander Me: http://www.hagander.net/ Work: http://www.redpill-linpro.com/
Le 21/01/2011 19:36, Magnus Hagander a écrit : > On Fri, Jan 21, 2011 at 13:35, Dave Page <dpage@pgadmin.org> wrote: >> On Fri, Jan 21, 2011 at 12:20 PM, Magnus Hagander <magnus@hagander.net> wrote: >>> On Wed, Jan 19, 2011 at 14:55, Dave Page <dpage@pgadmin.org> wrote: >>>> On Wed, Jan 19, 2011 at 12:18 PM, Magnus Hagander <magnus@hagander.net> wrote: >>>>> Opened database->catalogs->pg_catalogs->tables. Right click + refresh = crash. >>>>> >>>>> Don't have time to dig in right now myself, but here's a backtrace if >>>>> somebody wants to get started, or perhaps has a clue what it could >>>>> be... >>>>> >>>>> this is with current git master tip, debugging enabled. >>>> >>>> Hmm, can't reproduce it on Windows. It does look an awful lot like >>> >>> Oh, additional point: you need to actually *expand* the tables node, >>> or it doesn't crash. Did you by any chance not do that? >> >> I did do that. >> >>>> this though: http://git.postgresql.org/gitweb?p=pgadmin3.git;a=commit;h=9ec6b29fe3fbd9cc196d5e91b55f3697f02bcad8 >>> >>> Nope. I reverted that patch (well, due to the style patch i couldn't, >>> but i commented out that one line it seems to add) and it still >>> crashes for me. >> >> There's little chance that that patch would cause (or fix) the problem >> you see - but a similar patch in a different place might be the fix. >> > > I've created ticket 299 for this for now, so we don't loose track of it. > Thanks Magnus. -- Guillaume http://www.postgresql.fr http://dalibo.com