On Mon, 2011-09-19 at 14:23 -0500, Dave Page wrote:
> On Monday, September 19, 2011, Guillaume Lelarge <guilla...@lelarge.info>
> wrote:
> > On Sat, 2011-09-17 at 17:45 -0400, Colin Beckingham wrote:
> >> Using pgadmin 1.15 Dev on Opensuse 11.4, kernel 3.0.
> >>
> >> Viewing the data in a table with full data set visible, select a record
> >> for delete, run delete, record is deleted correctly, pgadmin continues
> >> to run.
> >>
> >> View the data in a table and place a filter to show subset of records.
> >> Attempt to delete a row. This is permitted by the menus. Row is deleted
> >> correctly, however pgadmin immediately crashes both the main and the
> >> view data windows. Data is intact, restarting pgadmin allows to continue
> >> as before.
> >
> > I don't manage to get a reproducible test case. I mean, I do get some
> > crashes, but they are mostly random. Something that would crash pgAdmin
> > once won't work twice. Which doesn't help fixing it.
> 
> Random crashes should certainly be investigated though, especially if you've
> found an area of the code where they may happen from time to time. Can you
> attempt to reproduce with core dump enabled, or even under GDB? I'd like to
> see a backtrace if possible.
> 

See the attachment. I was using GDB. Note that this is not a segfault.
It's a SIGABRT.

What surprised me at first was this:

#6  0x00007ffff7148ef5 in wxGrid::SetTable (this=0x1b48a10, table=0x0,
takeOwnership=false, selmode=wxGrid::wxGridSelectCells)
    at ./src/generic/grid.cpp:4529

I first suspected that it was due to the "refresh-on-click" patch. But
it doesn't seem so.

> FYI, I fixed a crash bug this morning that conceivably could occur anywhere,
> but in practice was only reproducible on some Solaris boxes.
> 

Yeah, saw that. Good catch.


-- 
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com
gdb) run
Starting program: /opt/pgadmin-trunk/bin/pgadmin3 
[Thread debugging using libthread_db enabled]
Detaching after fork from child process 17586.
Detaching after fork from child process 17587.
Detaching after fork from child process 17588.
Detaching after fork from child process 17589.
Detaching after fork from child process 17590.
Detaching after fork from child process 17591.
Detaching after fork from child process 17592.
Detaching after fork from child process 17593.
Detaching after fork from child process 17594.
Detaching after fork from child process 17595.
Detaching after fork from child process 17596.
Detaching after fork from child process 17597.
Detaching after fork from child process 17598.
Detaching after fork from child process 17599.
09:05:31 PM: Debug: Adding duplicate image handler for 'PNG file'
[New Thread 0x7fffee50a700 (LWP 17712)]
[Thread 0x7fffee50a700 (LWP 17712) exited]
[New Thread 0x7fffece1e700 (LWP 18241)]
[Thread 0x7fffece1e700 (LWP 18241) exited]
[New Thread 0x7fffe7fff700 (LWP 18243)]
[Thread 0x7fffe7fff700 (LWP 18243) exited]
*** glibc detected *** /opt/pgadmin-trunk/bin/pgadmin3: free(): invalid next 
size (fast): 0x0000000001c3b620 ***
======= Backtrace: =========
/lib64/libc.so.6[0x305227703a]
/opt/pgadmin-trunk/bin/pgadmin3[0x6394a3]
/opt/pgadmin-trunk/bin/pgadmin3[0x639592]
/opt/wxgtk-2.8/lib/libwx_gtk2ud_adv-2.8.so.0(_ZN6wxGrid8SetTableEP15wxGridTableBasebNS_20wxGridSelectionModesE+0xbd)[0x7ffff7148ef5]
/opt/pgadmin-trunk/bin/pgadmin3[0x635265]
/opt/pgadmin-trunk/bin/pgadmin3[0x63268b]
/opt/wxgtk-2.8/lib/libwx_baseud-2.8.so.0(_ZNK12wxAppConsole11HandleEventEP12wxEvtHandlerMS0_FvR7wxEventES3_+0x5d)[0x7ffff611aa17]
/opt/wxgtk-2.8/lib/libwx_baseud-2.8.so.0(_ZN12wxEvtHandler21ProcessEventIfMatchesERK21wxEventTableEntryBasePS_R7wxEvent+0xdf)[0x7ffff61c0b69]
/opt/wxgtk-2.8/lib/libwx_baseud-2.8.so.0(_ZN16wxEventHashTable11HandleEventER7wxEventP12wxEvtHandler+0xe9)[0x7ffff61bffa7]
/opt/wxgtk-2.8/lib/libwx_baseud-2.8.so.0(_ZN12wxEvtHandler12ProcessEventER7wxEvent+0x12c)[0x7ffff61c0d8c]
/opt/wxgtk-2.8/lib/libwx_baseud-2.8.so.0(_ZN12wxEvtHandler12ProcessEventER7wxEvent+0x16f)[0x7ffff61c0dcf]
/opt/wxgtk-2.8/lib/libwx_gtk2ud_core-2.8.so.0(_ZN12wxWindowBase5CloseEb+0x7d)[0x7ffff6c559f9]
/opt/wxgtk-2.8/lib/libwx_gtk2ud_core-2.8.so.0(+0x258692)[0x7ffff6b45692]
/usr/lib64/libgtk-x11-2.0.so.0[0x323014f113]
/lib64/libgobject-2.0.so.0(g_closure_invoke+0x15e)[0x3054e0e34e]
/lib64/libgobject-2.0.so.0[0x3054e1f200]
/lib64/libgobject-2.0.so.0(g_signal_emit_valist+0x64b)[0x3054e2878b]
/lib64/libgobject-2.0.so.0(g_signal_emit+0x82)[0x3054e28b72]
/usr/lib64/libgtk-x11-2.0.so.0[0x32302843f1]
/usr/lib64/libgtk-x11-2.0.so.0(gtk_main_do_event+0x58b)[0x323014d2db]
/usr/lib64/libgdk-x11-2.0.so.0[0x322fc620dc]
/lib64/libglib-2.0.so.0(g_main_context_dispatch+0x1dd)[0x30542427ed]
/lib64/libglib-2.0.so.0[0x3054242fc8]
/lib64/libglib-2.0.so.0(g_main_loop_run+0x16d)[0x305424360d]
/usr/lib64/libgtk-x11-2.0.so.0(gtk_main+0xa7)[0x323014c007]
/opt/wxgtk-2.8/lib/libwx_gtk2ud_core-2.8.so.0(_ZN11wxEventLoop3RunEv+0x87)[0x7ffff6b3a66f]
/opt/wxgtk-2.8/lib/libwx_gtk2ud_core-2.8.so.0(_ZN9wxAppBase8MainLoopEv+0x5b)[0x7ffff6bc65f5]
/opt/wxgtk-2.8/lib/libwx_gtk2ud_core-2.8.so.0(_ZN9wxAppBase5OnRunEv+0x42)[0x7ffff6bc6768]
/opt/wxgtk-2.8/lib/libwx_baseud-2.8.so.0(_Z7wxEntryRiPPw+0xa6)[0x7ffff615b229]
/opt/wxgtk-2.8/lib/libwx_baseud-2.8.so.0(_Z7wxEntryRiPPc+0x3a)[0x7ffff615b2e9]
/opt/pgadmin-trunk/bin/pgadmin3[0x44edca]
/lib64/libc.so.6(__libc_start_main+0xed)[0x305222139d]
/opt/pgadmin-trunk/bin/pgadmin3[0x44ec99]
======= Memory map: ========
00400000-00c16000 r-xp 00000000 08:03 6947297                            
/opt/pgadmin-trunk/bin/pgadmin3 (deleted)
00e16000-00edb000 rw-p 00816000 08:03 6947297                            
/opt/pgadmin-trunk/bin/pgadmin3 (deleted)
00edb000-01e0a000 rw-p 00000000 00:00 0                                  [heap]
3051e00000-3051e1f000 r-xp 00000000 08:02 134839                         
/lib64/ld-2.14.so
305201e000-305201f000 r--p 0001e000 08:02 134839                         
/lib64/ld-2.14.so
305201f000-3052020000 rw-p 0001f000 08:02 134839                         
/lib64/ld-2.14.so
3052020000-3052021000 rw-p 00000000 00:00 0 
3052200000-305238f000 r-xp 00000000 08:02 135973                         
/lib64/libc-2.14.so
305238f000-305258f000 ---p 0018f000 08:02 135973                         
/lib64/libc-2.14.so
305258f000-3052593000 r--p 0018f000 08:02 135973                         
/lib64/libc-2.14.so
3052593000-3052594000 rw-p 00193000 08:02 135973                         
/lib64/libc-2.14.so
3052594000-305259a000 rw-p 00000000 00:00 0 
3052600000-3052683000 r-xp 00000000 08:02 136183                         
/lib64/libm-2.14.so
3052683000-3052882000 ---p 00083000 08:02 136183                         
/lib64/libm-2.14.so
3052882000-3052883000 r--p 00082000 08:02 136183                         
/lib64/libm-2.14.so
3052883000-3052884000 rw-p 00083000 08:02 136183                         
/lib64/libm-2.14.so
3052a00000-3052a16000 r-xp 00000000 08:02 150647                         
/lib64/libpthread-2.14.so
3052a16000-3052c15000 ---p 00016000 08:02 150647                         
/lib64/libpthread-2.14.so
3052c15000-3052c16000 r--p 00015000 08:02 150647                         
/lib64/libpthread-2.14.so
3052c16000-3052c17000 rw-p 00016000 08:02 150647                         
/lib64/libpthread-2.14.so
3052c17000-3052c1b000 rw-p 00000000 00:00 0 
3052e00000-3052e02000 r-xp 00000000 08:02 159722                         
/lib64/libdl-2.14.so
3052e02000-3053002000 ---p 00002000 08:02 159722                         
/lib64/libdl-2.14.so
3053002000-3053003000 r--p 00002000 08:02 159722                         
/lib64/libdl-2.14.so
3053003000-3053004000 rw-p 00003000 08:02 159722                         
/lib64/libdl-2.14.so
3053200000-3053207000 r-xp 00000000 08:02 149490                         
/lib64/librt-2.14.so
3053207000-3053406000 ---p 00007000 08:02 149490                         
/lib64/librt-2.14.so
3053406000-3053407000 r--p 00006000 08:02 149490                         
/lib64/librt-2.14.so
3053407000-3053408000 rw-p 00007000 08:02 149490                         
/lib64/librt-2.14.so
3053600000-3053615000 r-xp 00000000 08:02 142582                         
/lib64/libgcc_s-4.6.0-20110603.so.1
3053615000-3053814000 ---p 00015000 08:02 142582                         
/lib64/libgcc_s-4.6.0-20110603.so.1
3053814000-3053815000 rw-p 00014000 08:02 142582                         
/lib64/libgcc_s-4.6.0-20110603.so.1
3053a00000-3053a16000 r-xp 00000000 08:02 137147                         
/lib64/libz.so.1.2.5
3053a16000-3053c16000 ---p 00016000 08:02 137147                         
/lib64/libz.so.1.2.5
3053c16000-3053c17000 rw-p 00016000 08:02 137147                         
/lib64/libz.so.1.2.5
3053e00000-3053e1d000 r-xp 00000000 08:02 159734                         
/lib64/libselinux.so.1
3053e1d000-305401c000 ---p 0001d000 08:02 159734                         
/lib64/libselinux.so.1
305401c000-305401d000 r--p 0001c000 08:02 159734                         
/lib64/libselinux.so.1
305401d000-305401e000 rw-p 0001d000 08:02 159734                         
/lib64/libselinux.so.1
305401e000-305401f000 rw-p 00000000 00:00 0 
3054200000-3054315000 r-xp 00000000 08:02 159719                         
/lib64/libglib-2.0.so.0.2800.8
3054315000-3054515000 ---p 00115000 08:02 159719                         
/lib64/libglib-2.0.so.0.2800.8
3054515000-3054516000 rw-p 00115000 08:02 159719                         
/lib64/libglib-2.0.so.0.2800.8
3054516000-3054517000 rw-p 00000000 00:00 0 
3054600000-3054617000 r-xp 00000000 08:02 159733                         
/lib64/libresolv-2
Program received signal SIGABRT, Aborted.
0x00000030522352d5 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x00000030522352d5 in raise () from /lib64/libc.so.6
#1  0x0000003052236beb in abort () from /lib64/libc.so.6
#2  0x0000003052270bce in __libc_message () from /lib64/libc.so.6
#3  0x000000305227703a in malloc_printerr () from /lib64/libc.so.6
#4  0x00000000006394a3 in sqlTable::~sqlTable (this=0x1dab200, 
__in_chrg=<optimized out>) at ./frm/frmEditGrid.cpp:2505
#5  0x0000000000639592 in sqlTable::~sqlTable (this=0x1dab200, 
__in_chrg=<optimized out>) at ./frm/frmEditGrid.cpp:2506
#6  0x00007ffff7148ef5 in wxGrid::SetTable (this=0x1b48a10, table=0x0, 
takeOwnership=false, selmode=wxGrid::wxGridSelectCells)
    at ./src/generic/grid.cpp:4529
#7  0x0000000000635265 in frmEditGrid::Abort (this=0x1dddd60) at 
./frm/frmEditGrid.cpp:1517
#8  0x000000000063268b in frmEditGrid::OnCloseWindow (this=0x1dddd60, 
event=...) at ./frm/frmEditGrid.cpp:1017
#9  0x00007ffff611aa17 in wxAppConsole::HandleEvent (this=0xfe60e0, 
handler=0x1dddd60, func=
    (void (wxEvtHandler::*)(wxEvtHandler * const, wxEvent &)) 0x6324d8 
<frmEditGrid::OnCloseWindow(wxCloseEvent&)>, event=...)
    at ./src/common/appbase.cpp:322
#10 0x00007ffff61c0b69 in wxEvtHandler::ProcessEventIfMatches (entry=..., 
handler=0x1dddd60, event=...) at ./src/common/event.cpp:1239
#11 0x00007ffff61bffa7 in wxEventHashTable::HandleEvent (this=0xefa080, 
event=..., self=0x1dddd60) at ./src/common/event.cpp:906
#12 0x00007ffff61c0d8c in wxEvtHandler::ProcessEvent (this=0x1dddd60, 
event=...) at ./src/common/event.cpp:1301
#13 0x00007ffff61c0dcf in wxEvtHandler::ProcessEvent (this=0x1dde110, 
event=...) at ./src/common/event.cpp:1308
#14 0x00007ffff6c559f9 in wxWindowBase::Close (this=0x1dddd60, force=false) at 
./src/common/wincmn.cpp:428
#15 0x00007ffff6b45692 in gtk_frame_delete_callback (win=0x1dddd60) at 
./src/gtk/toplevel.cpp:271
#16 0x000000323014f113 in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
#17 0x0000003054e0e34e in g_closure_invoke () from /lib64/libgobject-2.0.so.0
#18 0x0000003054e1f200 in ?? () from /lib64/libgobject-2.0.so.0
#19 0x0000003054e2878b in g_signal_emit_valist () from 
/lib64/libgobject-2.0.so.0
#20 0x0000003054e28b72 in g_signal_emit () from /lib64/libgobject-2.0.so.0
#21 0x00000032302843f1 in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
#22 0x000000323014d2db in gtk_main_do_event () from 
/usr/lib64/libgtk-x11-2.0.so.0
#23 0x000000322fc620dc in ?? () from /usr/lib64/libgdk-x11-2.0.so.0
#24 0x00000030542427ed in g_main_context_dispatch () from 
/lib64/libglib-2.0.so.0
#25 0x0000003054242fc8 in ?? () from /lib64/libglib-2.0.so.0
#26 0x000000305424360d in g_main_loop_run () from /lib64/libglib-2.0.so.0
#27 0x000000323014c007 in gtk_main () from /usr/lib64/libgtk-x11-2.0.so.0
#28 0x00007ffff6b3a66f in wxEventLoop::Run (this=0x10eb150) at 
./src/gtk/evtloop.cpp:76
#29 0x00007ffff6bc65f5 in wxAppBase::MainLoop (this=0xfe60e0) at 
./src/common/appcmn.cpp:312
#30 0x00007ffff6bc6768 in wxAppBase::OnRun (this=0xfe60e0) at 
./src/common/appcmn.cpp:367
#31 0x00007ffff615b229 in wxEntry (argc=@0x7ffff646ac30, argv=0xf99290) at 
./src/common/init.cpp:448
#32 0x00007ffff615b2e9 in wxEntry (argc=@0x7fffffffdfac, argv=0x7fffffffe098) 
at ./src/common/init.cpp:460
#33 0x000000000044edca in main (argc=1, argv=0x7fffffffe098) at 
./pgAdmin3.cpp:118
(gdb) quit

-- 
Sent via pgadmin-support mailing list (pgadmin-support@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-support

Reply via email to