pgAdmin - crashes when connection is lost.

From: Andrzej Zawadzki <zawadaa(at)wp(dot)pl>
To: Dave Page <dpage(at)pgadmin(dot)org>, pgadmin-support(at)postgresql(dot)org
Subject: pgAdmin - crashes when connection is lost.
Date: 2013-07-24 09:27:43
Message-ID: 51EF9E0F.7050901@wp.pl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-support

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

In response to

Responses

Browse pgadmin-support by date

  From Date Subject
Next Message Dave Page 2013-07-26 08:57:24 Re: pgAdmin - crashes when connection is lost.
Previous Message Dinesh Kumar 2013-07-22 09:39:04 Re: pgAdmin3 extremely slow while displaying TEXT column values on OSX