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
Vijilante
SubAdmin


Joined: 18 Nov 2001
Posts: 5182

PostPosted: Sat Oct 20, 2007 6:18 pm   

[2.07] Critical Section lock
 
This one seems to be uncovered by a culmination of other bugs, and the use of my bad package. I am going to upload that package for testing. I have seen a few different behaviors with this including a crash. The only thing that is replicatable is the lock

Procedure
1. Launch CMud
2. Close Sessions Window (ESC)
3. Enter #CLASS test;#CLASS test|test1;#ALARM *2 {bad alarm};#CLASS 0;#T- test1 at the command line
4. Open Package Editor (CTRL-G)
5. Select File|New package from the PE menu
6. Provide a name for your new package
7. Switch to the untitled tab in the PE
8. Move the test class to your new package (drag to tab and right-click Move To both work)
9. Select File|Open from the PE menu
10. Navigate to my bad package and open it
11 Once the bad package is loaded click on one of the odd trigger states

The crash I managed to get once when hitting ESC to break the lock seems to be caused by whatever number of things I clicked on to confirm CMud had locked. I haven't been able to replicate the crash.
Code:
date/time         : 2007-10-20, 14:21:22, 959ms
operating system  : Windows XP Service Pack 2 build 2600
system language   : English
system up time    : 1 day 6 hours
program up time   : 1 minute 18 seconds
processor         : AMD Athlon(tm) Processor
physical memory   : 92/383 MB (free/total)
free disk space   : (C:) 13.97 GB
display mode      : 1024x768, 32 bit
process id        : $d24
allocated memory  : 27.05 MB
executable        : cMUD.exe
exec. date/time   : 2007-10-19 18:25
version           : 2.7.0.0
madExcept version : 3.0b
callstack crc     : $fd0c0ebe, $c741b807, $c741b807
count             : 2
exception number  : 1
exception class   : EAccessViolation
exception message : Access violation at address 005AE198 in module 'cMUD.exe'. Read of address 00000030.

Main ($8e4):
005ae198 +000 cMUD.exe     cxCustomData        9214  +0 TcxDataSummary.GetOptions
005a9377 +137 cMUD.exe     cxCustomData        6217 +24 TcxCustomDataControllerInfo.DoChangeFocusedRow
005ab2c1 +02d cMUD.exe     cxCustomData        7368  +4 TcxCustomDataControllerInfo.SetFocusedRowIndex
005b17f0 +06c cMUD.exe     cxCustomData       11260  +8 TcxCustomDataController.ChangeFocusedRowIndex
007ef0ef +03b cMUD.exe     cxInplaceContainer  5354  +3 TcxCustomControlController.SetFocusedRecordIndex
00801465 +01d cMUD.exe     cxTL                8016  +2 TcxTreeListController.SetFocusedRecordIndex
007ef481 +049 cMUD.exe     cxInplaceContainer  5472  +5 TcxCustomControlController.SetFocusedRecordItem
00803543 +01f cMUD.exe     cxTL                8848  +2 TcxTreeListController.SetFocusedRecordItem
007eea29 +10d cMUD.exe     cxInplaceContainer  5097 +20 TcxCustomControlController.DoMouseDown
0080258b +06f cMUD.exe     cxTL                8456  +8 TcxTreeListController.DoMouseDown
007f152b +077 cMUD.exe     cxInplaceContainer  6800  +9 TcxEditingControl.MouseDown
005062cd +091 cMUD.exe     Controls            4728  +7 TControl.DoMouseDown
00506330 +054 cMUD.exe     Controls            4737  +5 TControl.WMLButtonDown
00561408 +0d8 cMUD.exe     cxControls          2441 +15 TcxControl.WndProc
007f1732 +01e cMUD.exe     cxInplaceContainer  6861  +3 TcxEditingControl.WndProc
00509894 +034 cMUD.exe     Controls            6237  +3 TWinControl.MainWndProc
0047fef8 +014 cMUD.exe     Classes            10966  +8 StdWndProc
77d4bcc7 +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
00dba9f4 +088 cMUD.exe     CMUD                 344 +18 initialization
7c91312f +069 ntdll.dll                                 RtlUnicodeStringToAnsiString
7c812907 +0b6 kernel32.dll                              GetVersionExA
_________________
The only good questions are the ones we have never answered before.
Search the Forums
Reply with quote
Zugg
MASTER


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

PostPosted: Mon Oct 22, 2007 7:41 pm   
 
If the "bad package" is the one with the trigger conditions stuck at the root level then yes, loading that package will cause all sorts of troubles.
Reply with quote
Vijilante
SubAdmin


Joined: 18 Nov 2001
Posts: 5182

PostPosted: Mon Oct 22, 2007 8:30 pm   
 
Yes I am sure it will cause all sorts of bad things. The main point of this particular report is just to let you know that it uncovers a replicatable critical section failure that may not be replicatable in any other fashion.
_________________
The only good questions are the ones we have never answered before.
Search the Forums
Reply with quote
Zugg
MASTER


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

PostPosted: Mon Oct 22, 2007 8:58 pm   
 
I understand. What I need to do, however, is to prevent this situation from ever happening in the first place. What I was saying is that once you end up with settings at the root level like this, the code simply isn't designed to handle it at all. There are literally hundreds of routines that will fail when this happens. And I'm not planning to change all of those routines to handle this case, since this case isn't supposed to ever happen. I just need to find any situation that causes settings to appear at the root level and fix them.

If it's a critical section lockup, then ESC will not work. It's only a critical section lock if ESC doesn't work and it's using 0% CPU.
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