lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lmi] Segfault in lmi with wxWidgets-2009-03-10


From: Greg Chicares
Subject: Re: [lmi] Segfault in lmi with wxWidgets-2009-03-10
Date: Wed, 11 Mar 2009 10:32:22 +0000
User-agent: Thunderbird 2.0.0.19 (Windows/20081209)

On 2009-03-11 09:44Z, Vadim Zeitlin wrote:
> On Wed, 11 Mar 2009 06:01:42 +0000 Greg Chicares <address@hidden> wrote:
> 
> GC> To reproduce, with luck:
> 
>  I definitely don't see this :-(
> 
> GC>   start lmi
> GC>   open any file of any type, and leave its window open
> GC>   close lmi (forcing the open MDI child window to be closed)
> 
>  This was one of the scenarios which I checked while testing my patches so
> I must have done this at least a dozen times (I had to retest many times
> because of the multiple changes) without ever seeing the problem. There
> are, of course, many differences between our builds: not only I use MSVC
> but I also have some patches applied locally and I'm not sure if you
> applied them to the version you use -- did you?

I haven't been able to get to those patches. My working tree is an
exact copy of lmi cvs HEAD.

> GC> I'm unable to reproduce the problem when I run lmi under gdb. IIRC, gdb
> GC> does some zero-initialization that can mask stray-pointer problems.
> 
>  I don't know about gdb but when using other Windows debuggers the OS
> itself changes the program behaviour in much more important way: if the
> program is being debugged, ntdll.dll itself (used by all Windows programs)
> detects it and uses the special debug heap instead of the normal one. So
> the usual reason for the bugs not being reproducible under debugger under
> Windows is that heap allocations work differently -- if your version of gdb
> supports it, it'd be worth trying to attach to an already running program
> instead as this wouldn't change the heap being used. Could you please try
> it?

Thanks for explaining that--I had a vague and, as it turns out,
incorrect notion that gdb zero-initialized memory before letting
the program use it. Anyway, following your most welcome suggestion:

Attaching to program `/opt/lmi/bin/lmi_wx_shared.exe', process 3428
[New thread 3428.0xc9c]
[New thread 3428.0xdd4]
Error while mapping shared library sections:
/opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll: No such file or directory.
Error while mapping shared library sections:
/opt/lmi/bin/libxml2-2.dll: No such file or directory.
Error while mapping shared library sections:
/opt/lmi/bin/libxslt-1.dll: No such file or directory.
Reading symbols from /cygdrive/c/WINDOWS/System32/ntdll.dll...done.

I don't understand why it's not looking where those dlls live:

  $ls /opt/lmi/local/lib/wxmsw290u_gcc_344-20090310T1057Z.dll
  /opt/lmi/local/lib/wxmsw290u_gcc_344-20090310T1057Z.dll

because gdb knows about that directory, and it's on an identity
mount as well:

(gdb) show paths
Executable and object file path: /opt/lmi/local/bin:/opt/lmi/local/lib:/usr/bin:
/bin:/usr/sbin:/sbin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS

but anyway all I get is this:

Program received signal SIGSEGV, Segmentation fault.
[Switching to thread 3428.0xc9c]
0x10319acb in ?? ()
(gdb) bt
#0  0x10319acb in ?? () <-- Same address as in my previous message.
#1  0x03374ce0 in ?? ()
#2  0x0347e9c8 in ?? ()
#3  0x00000000 in ?? ()

Let me try again after copying those dlls to /opt/lmi/bin/ ; okay,
we've got something. I see 'sp_counted_base_gcc_x86.hpp' and shudder;
but let me post this now and I'll follow up soon with a backtrace for
a simpler view type.

Reading symbols from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll...done.
Loaded symbols for /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
...
Program received signal SIGSEGV, Segmentation fault.
[Switching to thread 1136.0xc6c]
0x10319acb in wxView::~wxView ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
(gdb) bt
#0  0x10319acb in wxView::~wxView ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#1  0x00482ca9 in ~ViewEx (this=0x347e9c8, __vtt_parm=0x3374ce0)
    at /lmi/src/lmi/view_ex.cpp:72
#2  0x00468417 in ~ProductEditorView (this=0x347e9c8, __vtt_parm=0x515120)
    at /lmi/src/lmi/product_editor.cpp:124
#3  0x00468747 in ~TreeGridViewBase (this=0x347e9c8, __vtt_parm=0x51511c)
    at /lmi/src/lmi/product_editor.cpp:136
#4  0x0041845d in ~DatabaseView (this=0x347e9c8)
    at /opt/lmi/third_party/include/boost/detail/sp_counted_base_gcc_x86.hpp:159

#5  0x10319554 in wxDocument::DeleteAllViews ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#6  0x103190d3 in wxDocManager::CloseDocument ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#7  0x103191a3 in wxDocManager::CloseDocuments ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#8  0x1031920c in wxDocManager::Clear ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#9  0x1031735d in wxDocMDIParentFrame::OnCloseWindow ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#10 0x1000183e in wxAppConsoleBase::CallEventHandler ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#11 0x10157bce in wxEvtHandler::ProcessEventIfMatchesId ()
---Type <return> to continue, or q <return> to quit---
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#12 0x1015aba3 in wxEventHashTable::HandleEvent ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#13 0x1015ac2f in wxEvtHandler::ProcessEventHere ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#14 0x1015acae in wxEvtHandler::ProcessEvent ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#15 0x10157e8c in wxEvtHandler::SafelyProcessEvent ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#16 0x103e9b6b in wxWindowBase::HandleWindowEvent ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#17 0x103e9df1 in wxWindowBase::Close ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#18 0x1000183e in wxAppConsoleBase::CallEventHandler ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#19 0x10157bce in wxEvtHandler::ProcessEventIfMatchesId ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#20 0x1015aba3 in wxEventHashTable::HandleEvent ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#21 0x1015ac2f in wxEvtHandler::ProcessEventHere ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#22 0x1015acae in wxEvtHandler::ProcessEvent ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#23 0x10157e8c in wxEvtHandler::SafelyProcessEvent ()
---Type <return> to continue, or q <return> to quit---
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#24 0x103e9b6b in wxWindowBase::HandleWindowEvent ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#25 0x10346ec4 in wxFrameBase::ProcessCommand ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#26 0x1025a582 in wxFrame::HandleCommand ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#27 0x1025b0a7 in wxFrame::MSWWindowProc ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#28 0x10273693 in wxMDIParentFrame::MSWWindowProc ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#29 0x102061e0 in wxWndProc ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#30 0x77d67ad7 in USER32!SetWindowPlacement ()
   from /cygdrive/c/WINDOWS/system32/USER32.dll
#31 0x12870d4e in ?? ()
#32 0x00000111 in ?? ()
#33 0x77d6ccd4 in USER32!DefRawInputProc ()
   from /cygdrive/c/WINDOWS/system32/USER32.dll
#34 0x10206130 in wxWindowCreationHook::~wxWindowCreationHook ()
   from /opt/lmi/bin/wxmsw290u_gcc_344-20090310T1057Z.dll
#35 0x77d44455 in USER32!TranslateMessageEx ()
   from /cygdrive/c/WINDOWS/system32/USER32.dll
#36 0x00000000 in ?? ()
(gdb)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]