Re: pgadmin go down when I want to start debug pl pgsql function

From: Pavel Stěhule <pstehule(at)ilikethis(dot)cz>
To: Dave Page <dpage(at)postgresql(dot)org>
Cc: pgAdmin Support <pgadmin-support(at)postgresql(dot)org>
Subject: Re: pgadmin go down when I want to start debug pl pgsql function
Date: 2007-08-14 09:12:03
Message-ID: 1187082723.3610.7.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-support

Dave Page píše v Po 13. 08. 2007 v 20:39 +0100:
>
> > ------- Original Message -------
> > From: Pavel Stěhule <pstehule(at)ilikethis(dot)cz>
> > To: pgAdmin Support <pgadmin-support(at)postgresql(dot)org>
> > Sent: 13/08/07, 19:36:26
> > Subject: [pgadmin-support] pgadmin go down when I want to start debug plpgsql function
> >
> > Hello
> >
> > this functionality works now?
> >
>
> Yes.
>
> For anything more useful I'm afraid I need more clues than 'pgadmin go down' - eg, server version? global or direct debugging? function definition? what happens exactly and when in the debugging process?
>
> Regards, Dave

I am sorry Dave. It was fast query, if has any sense test it.

pgadmin3-src-20070814.tar.gz
pgadmin3-1.8.0-beta3

PostgreSQL directory: /usr/local/pgsql
PostgreSQL pg_config binary: /usr/local/pgsql/bin/pg_config
PostgreSQL version: PostgreSQL 8.3devel
PostgreSQL SSL support: Missing

wxWidgets directory: /usr/local
wxWidgets wx-config binary: /usr/local/bin/wx-config
wxWidgets version: wxWidgets 2.8.4

libxml2 directory: /usr
libxml2 xml2-config binary: /usr/bin/xml2-config
libxml2 version: libxml2 2.6.29

libxslt directory: /usr
libxslt xslt-config binary: /usr/bin/xslt-config
libxslt version: libxslt 1.1.21

Building a debug version of pgAdmin: Yes
Statically linking pgAdmin: No
Building a Mac OS X appbundle: No

platform fc7

===========================================================================
on right click over function item
./src/gtk/menu.cpp(984): assert "IsCheckable()" failed in IsChecked():
can't get state of uncheckable item!
ASSERT INFO:
./src/gtk/menu.cpp(984): assert "IsCheckable()" failed in IsChecked():
can't get state of uncheckable item!

BACKTRACE:
[1] wxMenuItem::IsChecked() cons)
[2] menuFactoryList::AppendEnabledMenus(wxMenuBar*,
wxMenu*) /home/pavel/src/pgadmin3-1.8.0-beta3/pgadmin/./utils/factory.cpp:320
[3] frmMain::doPopup(wxWindow*, wxPoint,
pgObject*) /home/pavel/src/pgadmin3-1.8.0-beta3/pgadmin/./frm/events.cpp:423
[4]
frmMain::OnSelRightClick(wxTreeEvent&) /home/pavel/src/pgadmin3-1.8.0-beta3/pgadmin/./frm/events.cpp:506
[5] wxAppConsole::HandleEvent(wxEvtHandler*, void
(wxEvtHandler::*)(wxEvent&), wxEvent&) cons)
[6] wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&,
wxEvtHandler*, wxEvent&)
[7] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[8] wxEvtHandler::ProcessEvent(wxEvent&)
[9] wxEvtHandler::ProcessEvent(wxEvent&)
[10] wxWindowBase::TryParent(wxEvent&)
[11] wxEvtHandler::ProcessEvent(wxEvent&)
[12] wxEvtHandler::ProcessEvent(wxEvent&)
[13] wxScrollHelperEvtHandler::ProcessEvent(wxEvent&)
[14] wxGenericTreeCtrl::OnMouse(wxMouseEvent&)
[15] wxAppConsole::HandleEvent(wxEvtHandler*, void
(wxEvtHandler::*)(wxEvent&), wxEvent&) cons)
[16] wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&,
wxEvtHandler*, wxEvent&)
[17] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[18] wxEvtHandler::ProcessEvent(wxEvent&)
[19] wxEvtHandler::ProcessEvent(wxEvent&)
[20] wxScrollHelperEvtHandler::ProcessEvent(wxEvent&)
[21] wxWindow::GTKProcessEvent(wxEvent&) cons)
[22] g_closure_invoke()
[23] g_signal_emit_valist()
[24] g_signal_emit()
[25] gtk_propagate_event()
[26] gtk_main_do_event()
[27] g_main_context_dispatch()
[28] g_main_loop_run()
[29] gtk_main()
[30] wxEventLoop::Run()
[31] wxAppBase::MainLoop()

After recompilation pgAdmin and wxWidget I can debug simple functions
without problems (with one assert). With two parameters function pgadmin
hangs before showing window with procedure params.

(gdb) backtrace
#0 0x0012d402 in __kernel_vsyscall ()
#1 0x00f4d206 in pthread_cond_wait@@GLIBC_2.3.2 ()
from /lib/libpthread.so.0
#2 0x00ab5c0f in wxConditionInternal::Wait (this=0xa6ad7c0)
at ./src/unix/threadpsx.cpp:379
#3 0x00ab5cd7 in wxCondition::Wait (this=0xa6ad78c)
at ./include/wx/thrimpl.cpp:248
#4 0x00ab6c3c in wxSemaphoreInternal::Wait (this=0xa6ad788)
at ./src/unix/threadpsx.cpp:511
#5 0x00ab6d3b in wxSemaphore::Wait (this=0xa6ad65c)
at ./include/wx/thrimpl.cpp:304
#6 0x080d914b in dbgPgThread::Entry (this=0xa6ad648)
at ./debugger/dbgPgThread.cpp:106
#7 0x00ab7dce in wxThreadInternal::PthreadStart (thread=0xa6ad648)
at ./src/unix/threadpsx.cpp:766
#8 0x00ab7f39 in wxPthreadStart (ptr=0xa6ad648)
at ./src/unix/threadpsx.cpp:718
#9 0x00f4944b in start_thread () from /lib/libpthread.so.0
#10 0x0102c80e in clone () from /lib/libc.so.6

CREATE OR REPLACE FUNCTION f3(character varying, boolean)
RETURNS boolean AS
' begin return false; end '
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION f3(character varying, boolean) OWNER TO postgres;

Regards
Pavel Stehule

In response to

Responses

Browse pgadmin-support by date

  From Date Subject
Next Message Cousin Marc 2007-08-14 12:24:00 Re: pgAdmin III v1.8.0 Beta 3 released
Previous Message Dave Page 2007-08-13 19:39:35 Re: pgadmin go down when I want to start debug pl pgsql function