digitalmars.D.dwt - strange debug menu crash
- Simen Haugen (75/75) Jun 05 2008 I've only seen this in debug mode, and it happens quite rare. I get the
- Frank Benoit (6/6) Jun 05 2008 Simen, thanks for reporting this
- Simen Haugen (11/17) Jun 06 2008 No static lib. Built with -full -g -debug. I'll now try to use it as a
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
Jun 05 2008
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?
Jun 05 2008
"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.
Jun 06 2008