Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD Beta Forum
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: 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
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: 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?
Reply with quote
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: 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
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: 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.
Reply with quote
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: 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. Twisted Evil
_________________
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
Reply with quote
Seb
Wizard


Joined: 14 Aug 2004
Posts: 1269

PostPosted: 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.
Reply with quote
Seb
Wizard


Joined: 14 Aug 2004
Posts: 1269

PostPosted: Tue Oct 02, 2007 4:46 pm   
 
Arde, did you try my suggestion?
Reply with quote
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: 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.
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD Beta Forum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net