|
Arde Enchanter
Joined: 09 Sep 2007 Posts: 605
|
Posted: Wed Sep 26, 2007 7:38 pm
[2.03] Automapper crash with memLookup exeption |
I spam with this bug report for 2 days, it seems that you had not receive any of that reports.
I use the automapper in Fast-Follow mode, walk around with keyboard, keeping an eye on map. At least 1 time a day the automapper crashes with the following message:
memLookup: Dataset is not in edit mode.
I noticed that it crashes in 3 groups of adjaсent rooms: two groups in one zone and one group in another. I see nothing special in these rooms, all exits marked as tested... In these rooms I slow down my movement speed for about 1 room per second, it somehow help to pass them without crash (but not always). My normal movement speed is about 6-10 rooms per second.
From bugreport.txt:
exception class : EDatabaseError
exception message : memLookup: Dataset is not in edit mode.
Looks like the CMUD tries to update some fields in DBset, but it (set) is locked for write.
call stack is always the same:
Code: |
Main ($ca0):
006400fe +06a cMUD.exe DB 2350 +2 DatabaseError
00663362 +06a cMUD.exe kbmMemTable 10997 +5 TkbmCustomMemTable.SetFieldData
00650593 +047 cMUD.exe DB 9250 +2 TDataSet.SetFieldData
009ed8a5 +029 cMUD.exe ZAbstractRODataset 1170 +3 TZAbstractRODataset.SetFieldData
0064405f +08b cMUD.exe DB 4003 +4 TField.SetData
006452fc +10c cMUD.exe DB 4447 +14 TStringField.SetAsString
00650463 +047 cMUD.exe DB 9224 +2 TDataSet.GetFieldData
009ed5b5 +029 cMUD.exe ZAbstractRODataset 1086 +3 TZAbstractRODataset.GetFieldData
006433d9 +0a9 cMUD.exe DB 3667 +8 TField.GetData
00644f8f +107 cMUD.exe DB 4389 +17 TStringField.GetValue
00650593 +047 cMUD.exe DB 9250 +2 TDataSet.SetFieldData
00505f93 +1df cMUD.exe Controls 4645 +53 TControl.WndProc
00409e98 +008 cMUD.exe Windows 30702 +4 GlobalAllocPtr
0047539b +07b cMUD.exe Classes 5257 +18 TMemoryStream.Realloc
00a3ff75 +1a5 cMUD.exe LbProc 224 +48 BFEncryptStream
0064405f +08b cMUD.exe DB 4003 +4 TField.SetData
00645b92 +06a cMUD.exe DB 4646 +4 TIntegerField.SetAsInteger
006429c4 +088 cMUD.exe DB 3450 +4 TField.AssignValue
00661e5f +0ab cMUD.exe kbmMemTable 9715 +20 TkbmCustomMemTable.FindKey
00d7836a +03a cMUD.exe PkgDM 5985 +2 TPkg.GetRecordID
00d2c46a +06e cMUD.exe PrefDat 4777 +8 PkgData.FindDB
00d2c690 +090 cMUD.exe PrefDat 4825 +7 PkgData.FindHeap
00d2c98f +1bb cMUD.exe PrefDat 4889 +23 FindInClass
00d2cb8e +10a cMUD.exe PrefDat 4933 +34 PkgData.FindHash
00d2d067 +05b cMUD.exe PrefDat 5149 +4 PkgData.FindKey
00ca8e28 +0c4 cMUD.exe MAIN 11143 +13 TMUDForm.FormKeyDown
00c642ea +0f2 cMUD.exe PARENT 10538 +12 TParentForm.BarShortCut
00c5b9d4 +028 cMUD.exe PARENT 5241 +2 CheckMacro
00c5bb44 +154 cMUD.exe PARENT 5312 +66 TParentForm.InterceptMessage
006c2532 +026 cMUD.exe AppEvnts 220 +1 TCustomApplicationEvents.DoMessage
006c2f2b +047 cMUD.exe AppEvnts 493 +5 TMultiCaster.DoMessage
00c47790 +054 cMUD.exe CodeThread 356 +6 ProcessMessage
00c478f6 +0da cMUD.exe CodeThread 405 +23 MsgWaitForSingleObject
00c479e4 +024 cMUD.exe CodeThread 446 +4 WaitForThread
00c9a421 +175 cMUD.exe MAIN 5831 +32 TMUDForm.ExecThread
00ca04c9 +455 cMUD.exe MAIN 7919 +87 TMUDForm.ExecTrig
00c9e36b +e5f cMUD.exe MAIN 7182 +282 TMUDForm.HandleTrigger
00c9d008 +00c cMUD.exe MAIN 6731 +1 TMUDForm.UserOutNewLine
00a6d4b1 +039 cMUD.exe term 8391 +3 TTerm.DoTriggerLine
00a6c03d +1b5 cMUD.exe term 7978 +32 HandleNewLine
00a6c7a8 +6a4 cMUD.exe term 8095 +100 TTerm.PutText
00a6cd1d +049 cMUD.exe term 8199 +2 TTerm.Add
00c8a3e1 +0b1 cMUD.exe MAIN 1380 +8 TMUDForm.OutputStr
00c8a67d +09d cMUD.exe MAIN 1449 +15 TMUDForm.NextMUDLine
00c8aaa4 +020 cMUD.exe MAIN 1519 +4 TMUDForm.DoNextLine
00505f93 +1df cMUD.exe Controls 4645 +53 TControl.WndProc
00509cc2 +18e cMUD.exe Controls 6342 +33 TWinControl.WndProc
00526da0 +478 cMUD.exe Forms 3098 +103 TCustomForm.WndProc
00509894 +034 cMUD.exe Controls 6237 +3 TWinControl.MainWndProc
0047fef8 +014 cMUD.exe Classes 10966 +8 StdWndProc
77d3bcc7 +00a USER32.dll DispatchMessageA
0052ee48 +0ac cMUD.exe Forms 6873 +13 TApplication.ProcessMessage
0052ee8f +00f cMUD.exe Forms 6892 +1 TApplication.HandleMessage
0052f12a +0a6 cMUD.exe Forms 6976 +16 TApplication.Run
00db5f24 +088 cMUD.exe CMUD 343 +18 initialization
7c91312f +069 ntdll.dll RtlUnicodeStringToAnsiString
7c812907 +0b6 kernel32.dll GetVersionExA
|
|
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed Sep 26, 2007 9:43 pm |
The crash dumps that you sent are probably in my database, but are mixed in with hundreds of others. And since you mentioned it in the other thread, I thought it might be useful to get more information on it.
Are there any Room Scripts set for the rooms that cause the problem? Does entering the rooms cause any of your other triggers to fire? Looks like you pressed the keypad key while a trigger was in the middle of executing. Any idea what trigger it might have been in the middle of? |
|
|
|
Arde Enchanter
Joined: 09 Sep 2007 Posts: 605
|
Posted: Thu Sep 27, 2007 3:21 am |
I do not have any room triggers. I'd try to add some simple room script, but it ends up with another bug report to you (unable delete room script completely, mapper auto add "All=" string, which cause error message), if you remember. In any way, rooms with "All=" and rooms which cause crash are not the same, they are completely different.
At least, 1 trigger executes with every room passed - prompt trigger, plus any other trigger from my information triggers class may fire on the route.
MUD not always reacts fast, sometimes I may send 3-5 keypresses before it start spit to me with room descriptions - it all depends on server load and cant be predicted.
The last thing - I may send you my map database, it is not big yet. |
|
_________________ My personal bug|wish list:
-Wrong Priority when copy-paste setting
-1 prompt trigger for Mapper, Session and General Options, not 3 different!
-#SECTION can terminate threads
-Buttons can't start threads |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Thu Sep 27, 2007 4:44 pm |
You might also want to try testing it Offline. Use the Offline action to open your session and map. Then set your position on the map to one of the "problem" rooms. Then try to quickly move back and forth using the Keypad macros. The room descriptions will display to the MUD window, but you won't get any MUD prompt, so your prompt triggers won't fire. If it still crashes when doing this Offline, then definitely send me your map because it should be easy to reproduce and fix. If it only happens when connected to the MUD, then it will be harder to figure out what is causing it.
|
|
|
|
Arde Enchanter
Joined: 09 Sep 2007 Posts: 605
|
Posted: Thu Sep 27, 2007 5:42 pm |
I've uncheck option "Mark non tested exits as grey" - it works good only for links to another Z level or if link lead to not drawn room. If I have 2 rooms connected at only 1->2 way was tested, the link draws as tested, though in spreadsheet view link 2->1 still indicate not tested. So I must correct myself: there are NotTested links, but I always receive a crash while move along tested links.
I walk around while offline, even run. Without any crashes.
Heh, we definitely not looking for easy ways. |
|
_________________ My personal bug|wish list:
-Wrong Priority when copy-paste setting
-1 prompt trigger for Mapper, Session and General Options, not 3 different!
-#SECTION can terminate threads
-Buttons can't start threads |
|
|
|
Seb Wizard
Joined: 14 Aug 2004 Posts: 1269
|
Posted: Thu Sep 27, 2007 10:26 pm |
Try turning off triggers globally and see if you still get crashes. If you don't get crashes with that, try turning them on except for your prompt trigger and try that.
|
|
|
|
Seb Wizard
Joined: 14 Aug 2004 Posts: 1269
|
Posted: Tue Oct 02, 2007 4:46 pm |
Arde, did you try my suggestion?
|
|
|
|
Arde Enchanter
Joined: 09 Sep 2007 Posts: 605
|
Posted: Tue Oct 02, 2007 5:02 pm |
Yeah, but I spent not so much time... Not a crash for 10 minutes. Although, I've got one later, with all triggers on. As I wrote, it happens 1 or 2 times per several hours and it is not so easy to catch it. That all was in 2.03, I have not see this crash yet in 2.04, but I not use it so much as 2.03. More, I had "All=" bug in 2.03 that Zugg fixed in 2.04; each "All=" error message produced +1 stopped thread, may be this somehow increase risk to get a crash.
|
|
|
|
|
|