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








"Simen Haugen" <simen norstat.no>