View mode: basic / threaded / horizontal-split · Log in · Help
June 05, 2008
strange debug menu crash
I've only seen this in debug mode, and it happens quite rare. I get the 
context menu 99 of 100 times, but sometimes it crashes... I can't find any 
logical reason for this.


Tango backtrace hack intiated
Unhandled win32 exception!
Error: Access Violation (object.Exception)
backtrace:
7c9012f1 ???
7e428c20 ???
0046a256 void dwt.widgets.Menu.Menu.createItem(class 
dwt.widgets.MenuItem.MenuI
tem, int, void*) (+f6) c:\d\dmd\import\dwt-win\dwt\widgets\Menu.d:516
0054a0d9 class dwt.widgets.MenuItem.MenuItem 
dwt.widgets.MenuItem.MenuItem._cto
r(class dwt.widgets.Menu.Menu, int, void*) (+41) 
c:\d\dmd\import\dwt-win\dwt\wid
gets\MenuItem.d:130
00408f02 void mui.main.Application.createDataSetCommandsMenuItems(class 
dwt.wid
gets.Menu.Menu, int, int, void*) (+362) src\mui\main.d:1474
004095a6 class dwt.widgets.Menu.Menu 
mui.main.Application.createTreeContextMenu
(void*) (+2ca) src\mui\main.d:1661
004092c8 void mui.main.Application.createCommandTree(void*) . void 
__anonclass1
49.menuDetected(class dwt.events.MenuDetectEvent.MenuDetectEvent, void*)¶ 
(+3c)
src\mui\main.d:1580
0052b61c void dwt.widgets.TypedListener.TypedListener.handleEvent(class 
dwt.wid
gets.Event.Event, void*)³ (+5ec) 
c:\d\dmd\import\dwt-win\dwt\widgets\TypedListen
er.d:216
0058822e void dwt.widgets.EventTable.EventTable.sendEvent(class 
dwt.widgets.Eve
nt.Event, void*) (+fa) c:\d\dmd\import\dwt-win\dwt\widgets\EventTable.d:91
004efffc void dwt.widgets.Widget.Widget.sendEvent(class 
dwt.widgets.Event.Event
, void*)I (+40) c:\d\dmd\import\dwt-win\dwt\widgets\Widget.d:1038
004f00df void dwt.widgets.Widget.Widget.sendEvent(int, class 
dwt.widgets.Event.
Event, bool, void*) (+8b) c:\d\dmd\import\dwt-win\dwt\widgets\Widget.d:1060
004f004e void dwt.widgets.Widget.Widget.sendEvent(int, class 
dwt.widgets.Event.
Event, void*) (+22) c:\d\dmd\import\dwt-win\dwt\widgets\Widget.d:1046
004f0a7c bool dwt.widgets.Widget.Widget.showMenu(int, int, void*) (+38) 
c:\d\dm
d\import\dwt-win\dwt\widgets\Widget.d:1347
004f0cbd class dwt.internal.win32.OS.LDWTRESULT 
dwt.widgets.Widget.Widget.wmCon
textMenu(void*, int, int, void*) (+b5) 
c:\d\dmd\import\dwt-win\dwt\widgets\Widge
t.d:1440
0050586d class dwt.internal.win32.OS.LDWTRESULT 
dwt.widgets.Control.Control.WM_
CONTEXTMENU(int, int, void*) (+25) 
c:\d\dmd\import\dwt-win\dwt\widgets\Control.d
:3975
00504f27 int dwt.widgets.Control.Control.windowProc(void*, int, int, int, 
void*
) (+f3) c:\d\dmd\import\dwt-win\dwt\widgets\Control.d:3837
00575d0d int dwt.widgets.Tree.Tree.windowProc(void*, int, int, int, void*) 
(+4e
9) c:\d\dmd\import\dwt-win\dwt\widgets\Tree.d:5762
004fd73a int dwt.widgets.Display.Display.windowProc(void*, uint, uint, int, 
voi
d*) (+18e) c:\d\dmd\import\dwt-win\dwt\widgets\Display.d:4613
004fd590 _D3dwt7widgets7Display7Display14windowProcFuncWPvkkiZi (+20) 
c:\d\dmd\
import\dwt-win\dwt\widgets\Display.d:4563
7e418734 ???
7e418816 ???
7e41d17f ???
7e41b3f9 ???
       Hit [m] for more or any other key to stop
June 05, 2008
Re: strange debug menu crash
Simen, thanks for reporting this

What is the best way for me to reproduce it?

Did you build/use the dwt as a static lib? Build with what options? Or 
did you build with dwt just added to the include path?

dsss build test.d -debug -full

Can I use an existing example? can it be reproduces programatically?
June 06, 2008
Re: strange debug menu crash
"Frank Benoit" <keinfarbton@googlemail.com> wrote in message 
news:g2947u$1hoa$1@digitalmars.com...
> Simen, thanks for reporting this
>
> What is the best way for me to reproduce it?
>
> Did you build/use the dwt as a static lib? Build with what options? Or did 
> you build with dwt just added to the include path?
>
> dsss build test.d -debug -full
>
> Can I use an existing example? can it be reproduces programatically?

No static lib. Built with -full -g -debug. I'll now try to use it as a 
static lib instead to see if that helps.

I catch MenuDetect in a tree, and call a function that removes the old menu 
and constructs a new one. Quite simple stuff.

I haven't found a way to reproduce it unfortunaly. It works at least 99% of 
the time, and I cant see any logic in the crashes. It could be a very rare 
combination of some sort, but I'll add more debugging info in the upcoming 
weeks, and perhaps then I can find out how it happens.

Sorry I cant be of much help. I have only just begun looking at dwt.
Top | Discussion index | About this forum | D home