Re: pgAdmin - crashes when connection is lost.

From: Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: Andrzej Zawadzki <zawadaa(at)wp(dot)pl>, pgAdmin Support <pgadmin-support(at)postgresql(dot)org>
Subject: Re: pgAdmin - crashes when connection is lost.
Date: 2013-07-26 08:59:13
Message-ID: CAG7mmoweW-WmMyi0jOaadFNHzsKTtjbaiQrGq0QOBuODdrqREw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-support

Sure.

On Fri, Jul 26, 2013 at 2:27 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:

> Hi Ashesh,
>
> Can you put this on the TODO list (for you, or one of the team)? We
> may not be easily able to solve all such cases without a major
> rewrite, but if this scenario is reproducible on master, hopefully we
> can at least eliminate this one.
>
> Thanks.
>
> On Wed, Jul 24, 2013 at 10:27 AM, Andrzej Zawadzki <zawadaa(at)wp(dot)pl> wrote:
> > On 07.12.2012 10:29, Dave Page wrote:
> >> On Thu, Dec 6, 2012 at 11:32 PM, Andrzej Zawadzki <zawadaa(at)wp(dot)pl>
> wrote:
> >>> BTW: why pgadmin crashes when I want renew connection after network
> >>> change or postgresql server restart - this is very old issue.
> >>> I observe it on Linux, Windows and Mac.
> >> That's been surprisingly difficult to fix, because of the amount of
> >> application state it affects. It should, for the most part, detect the
> >> situation and offer to reconnect and reset everything these days. If
> >> you can find a reproducible case where that doesn't happen, please
> >> report it with as many details as possible.
> > Hi,
> > after some time... ;-)
> > my friend, who very often change his location (laptop suspend) and uses
> > pgadmin very intensively ,complain about crashes when switching location.
> >
> > He send me backtrace:
> >
> > (gdb) thread apply all bt full
> >
> > Thread 5 (Thread 0x7fffd96fd700 (LWP 9190)):
> > #0 0x00007ffff4b3219d in poll () at
> ../sysdeps/unix/syscall-template.S:81
> > No locals.
> > #1 0x00007ffff1f35194 in ?? () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> > No symbol table info available.
> > #2 0x00007ffff1f3529c in g_main_context_iteration () from
> > /lib/x86_64-linux-gnu/libglib-2.0.so.0
> > No symbol table info available.
> > #3 0x00007ffff1f352e9 in ?? () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> > No symbol table info available.
> > #4 0x00007ffff1f591d5 in ?? () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> > No symbol table info available.
> > #5 0x00007ffff4e08e0e in start_thread (arg=0x7fffd96fd700) at
> > pthread_create.c:311
> > __res = <optimized out>
> > pd = 0x7fffd96fd700
> > now = <optimized out>
> > unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736841373440,
> > 7972335546361501811, 1, 140736858154800, 4096, 140736841373440,
> > -7972252945951958925, -7972350791820846989}, mask_was_saved = 0}},
> > priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0,
> > cleanup = 0x0, canceltype = 0}}}
> > not_first_call = 0
> > pagesize_m1 = <optimized out>
> > sp = <optimized out>
> > freesize = <optimized out>
> > __PRETTY_FUNCTION__ = "start_thread"
> > #6 0x00007ffff4b3d93d in clone () at
> > ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
> > No locals.
> >
> > Thread 2 (Thread 0x7fffdb11d700 (LWP 9187)):
> > #0 0x00007ffff4b3219d in poll () at
> ../sysdeps/unix/syscall-template.S:81
> > No locals.
> > #1 0x00007ffff1f35194 in ?? () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> > No symbol table info available.
> > #2 0x00007ffff1f355fa in g_main_loop_run () from
> > /lib/x86_64-linux-gnu/libglib-2.0.so.0
> > No symbol table info available.
> > #3 0x00007ffff3262cf6 in ?? () from
> > /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
> > No symbol table info available.
> > #4 0x00007ffff1f591d5 in ?? () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> > No symbol table info available.
> > #5 0x00007ffff4e08e0e in start_thread (arg=0x7fffdb11d700) at
> > pthread_create.c:311
> > __res = <optimized out>
> > pd = 0x7fffdb11d700
> > now = <optimized out>
> > unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736868767488,
> > 7972335546361501811, 1, 140737488339344, 4096, 140736868767488,
> > -7972256639623833485, -7972350791820846989}, mask_was_saved = 0}},
> > priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0,
> > cleanup = 0x0, canceltype = 0}}}
> > not_first_call = 0
> > pagesize_m1 = <optimized out>
> > sp = <optimized out>
> > freesize = <optimized out>
> > __PRETTY_FUNCTION__ = "start_thread"
> > #6 0x00007ffff4b3d93d in clone () at
> > ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
> > No locals.
> >
> > Thread 1 (Thread 0x7ffff7fa9a00 (LWP 5522)):
> > #0 0x00007ffff4b3219d in poll () at
> ../sysdeps/unix/syscall-template.S:81
> > No locals.
> > #1 0x00007ffff584cb0e in ?? () from /usr/lib/libpq.so.5
> > No symbol table info available.
> > #2 0x00007ffff584cb90 in ?? () from /usr/lib/libpq.so.5
> > No symbol table info available.
> > #3 0x00007ffff584af79 in PQgetResult () from /usr/lib/libpq.so.5
> > No symbol table info available.
> > #4 0x00007ffff584b2ce in ?? () from /usr/lib/libpq.so.5
> > No symbol table info available.
> > #5 0x00000000004c0126 in pgConn::ExecuteSet (this=0x2aea500, sql=...)
> > at ./db/pgConn.cpp:785
> > qryRes = <optimized out>
> > #6 0x00000000007467b9 in pgDatabase::ExecuteSet (this=0x1cb3880,
> > sql=...) at ./schema/pgDatabase.cpp:359
> > set = 0x0
> > #7 0x000000000077ae84 in pgIndexBaseFactory::CreateObjects
> > (this=this(at)entry=0xe23ae0 <indexFactory>, coll=coll(at)entry=0x29bb270,
> > browser=browser(at)entry=0x1b05800, restriction=...)
> > at ./schema/pgIndex.cpp:560
> > collection = 0x29bb270
> > projoin = {<wxStringBase> = {static npos = 18446744073709551615,
> > m_pchData = 0x29e7e18 L" LEFT OUTER JOIN pg_tablespace ta on
> > ta.oid=cls.reltablespace\n"}, <No data fields>}
> > index = 0x0
> > query = {<wxStringBase> = {static npos = 18446744073709551615,
> > m_pchData = 0x2bc9fb8 L"SELECT DISTINCT ON(cls.relname)
> > cls.oid, cls.relname as idxname, indrelid, indkey, indisclustered,
> > indisunique, indisprimary, n.nspname,\n indnatts,
> > cls.reltablespace AS spcoid, spcname, tab.reln"...}, <No data fields>}
> > proname = {<wxStringBase> = {static npos = 18446744073709551615,
> > m_pchData = 0x1cac348 L"indnatts, cls.reltablespace AS spcoid, spcname,
> > "}, <No data fields>}
> > indexes = <optimized out>
> > #8 0x000000000077c296 in pgIndexFactory::CreateObjects (this=0xe23ae0
> > <indexFactory>, collection=0x29bb270, browser=0x1b05800,
> > restriction=...) at ./schema/pgIndex.cpp:654
> > No locals.
> > #9 0x0000000000731950 in pgCollection::ShowTreeDetail (this=0x29bb270,
> > browser=0x1b05800, form=<optimized out>, properties=0x0,
> > sqlPane=<optimized out>) at ./schema/pgCollection.cpp:139
> > No locals.
> > #10 0x00000000007cf6f7 in pgTable::AppendStuff
> > (this=this(at)entry=0x2bb4fd0, sql=..., browser=browser(at)entry=0x1b05800,
> > factory=...) at ./schema/pgTable.cpp:254
> > idxIt = {lastItem = {m_pItem = 0x0}, browser = 0x2bb4fd0, object
> > = 0xffffffffffffffff, cookie = 0x7fffffffd9f0}
> > obj = <optimized out>
> > tmp = {<wxStringBase> = {static npos = 18446744073709551615,
> > m_pchData = 0x1ca7ae8 L"\n"}, <No data fields>}
> > collection = 0x29bb270
> > #11 0x00000000007d251f in pgTable::GetSql (this=0x2bb4fd0,
> > browser=0x1b05800) at ./schema/pgTable.cpp:672
> > consCount = 1
> > constraints = 0x2bb5340
> > columns = <optimized out>
> > colDetails = {<wxStringBase> = {static npos =
> > 18446744073709551615, m_pchData = 0x7ffff610cbb8 L""}, <No data fields>}
> > conDetails = {<wxStringBase> = {static npos =
> > 18446744073709551615, m_pchData = 0x7ffff610cbb8 L""}, <No data fields>}
> > cols_sql = {<wxStringBase> = {static npos = 18446744073709551615,
> > m_pchData = 0x2a17ca8 L" id serial NOT NULL,\n name
> > character varying(255),\n CONSTRAINT countries_pkey PRIMARY KEY (id)"},
> > <No data fields>}
> > columnPrivileges = {<wxStringBase> = {static npos =
> > 18446744073709551615, m_pchData = 0x7ffff610cbb8 L""}, <No data fields>}
> > prevComment = {<wxStringBase> = {static npos =
> > 18446744073709551615, m_pchData = 0x7ffff610cbb8 L""}, <No data fields>}
> > #12 0x0000000000607cf8 in frmMain::setDisplay
> > (this=this(at)entry=0x1a19ff0, data=0x2bb4fd0, props=<optimized out>,
> > sqlbox=0x1b64230) at ./frm/events.cpp:522
> > conn = <optimized out>
> > i = <optimized out>
> > indivMenu = <optimized out>
> > server = <optimized out>
> > #13 0x000000000060824c in frmMain::execSelChange (this=0x1a19ff0,
> > item=..., currentNode=currentNode(at)entry=true) at ./frm/events.cpp:484
> > refresh = true
> > #14 0x00000000006086fe in frmMain::OnTreeSelChanged (this=<optimized
> > out>, event=...) at ./frm/events.cpp:375
> > event = <optimized out>
> > this = <optimized out>
> > #15 0x00007ffff60eb9c6 in
> > wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&,
> > wxEvtHandler*, wxEvent&) () from
> > /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
> > No symbol table info available.
> > #16 0x00007ffff60ebb34 in wxEventHashTable::HandleEvent(wxEvent&,
> > wxEvtHandler*) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
> > No symbol table info available.
> > #17 0x00007ffff60ebe57 in wxEvtHandler::ProcessEvent(wxEvent&) () from
> > /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
> > No symbol table info available.
> > #18 0x00007ffff60ebde0 in wxEvtHandler::ProcessEvent(wxEvent&) () from
> > /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
> > No symbol table info available.
> > #19 0x00007ffff6a58e29 in wxWindowBase::TryParent(wxEvent&) () from
> > /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> > No symbol table info available.
> > #20 0x00007ffff60ebde0 in wxEvtHandler::ProcessEvent(wxEvent&) () from
> > /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
> > No symbol table info available.
> > #21 0x00007ffff6a7e7a5 in
> > wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) () from
> > /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> > No symbol table info available.
> > #22 0x00007ffff6a8a4b9 in wxGenericTreeCtrl::DoSelectItem(wxTreeItemId
> > const&, bool, bool) () from
> > /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> > No symbol table info available.
> > #23 0x00007ffff6a8b329 in wxGenericTreeCtrl::SelectItem(wxTreeItemId
> > const&, bool) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> > No symbol table info available.
> > #24 0x00007ffff6a8cda8 in wxGenericTreeCtrl::OnInternalIdle() () from
> > /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> > No symbol table info available.
> > #25 0x00007ffff69ed6df in wxAppBase::SendIdleEvents(wxWindow*,
> > wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> > No symbol table info available.
> > #26 0x00007ffff69ed714 in wxAppBase::SendIdleEvents(wxWindow*,
> > wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> > No symbol table info available.
> > #27 0x00007ffff69edbf4 in wxAppBase::ProcessIdle() () from
> > /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> > No symbol table info available.
> > #28 0x00007ffff69714ae in ?? () from
> > /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> > No symbol table info available.
> > #29 0x00007ffff1f34ea6 in g_main_context_dispatch () from
> > /lib/x86_64-linux-gnu/libglib-2.0.so.0
> > No symbol table info available.
> > #30 0x00007ffff1f351f8 in ?? () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> > No symbol table info available.
> > #31 0x00007ffff1f355fa in g_main_loop_run () from
> > /lib/x86_64-linux-gnu/libglib-2.0.so.0
> > No symbol table info available.
> > #32 0x00007ffff3af6257 in gtk_main () from
> > /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
> > No symbol table info available.
> > #33 0x00007ffff6984f98 in wxEventLoop::Run() () from
> > /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> > No symbol table info available.
> > #34 0x00007ffff69ed99c in wxAppBase::MainLoop() () from
> > /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
> > No symbol table info available.
> > #35 0x00007ffff609d625 in wxEntry(int&, wchar_t**) () from
> > /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
> > No symbol table info available.
> > #36 0x0000000000440942 in main (argc=1, argv=<optimized out>) at
> > ./pgAdmin3.cpp:120
> > No locals.
> >
> > Sometimes if you have a few windows with queries it's not nice to got
> > such crash...
> > Is this backtrace helpful?
> >
> > --
> > Andrzej Zawadzki
>
>
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>

--
--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company<http://www.enterprisedb.com>

*http://www.linkedin.com/in/asheshvashi*<http://www.linkedin.com/in/asheshvashi>

In response to

Browse pgadmin-support by date

  From Date Subject
Next Message Csanyi Pal 2013-07-31 18:24:57 How to enter daterange into a raw?
Previous Message Dave Page 2013-07-26 08:57:24 Re: pgAdmin - crashes when connection is lost.