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
GeneralStonewall
Magician


Joined: 02 Feb 2004
Posts: 364
Location: USA

PostPosted: Fri Jun 11, 2010 1:37 am   

[3.19] BUG: Variable corruption
 
I have a couple of variables that seem to be getting corrupted. Whenever a script tries to access one of these variables, I get an access violation error. When I try to view the variable in the package editor, I get another and the editor gets stuck until I close it; Even using #var gives an error when the variable is reached.. It's entirely consistent in my settings, but I have yet to find a way to reproduce it in a fresh one. I'll keep on trying to figure out the issue. It should be noted I had this issue in 3.18d as well.

Once again, I can set you up with my package files if needed.

I was able, apparently, to see the contents of the variable by assigning it a new value on the command line and viewing the results in the script debuger

Code:
43.539 | k    Lanira |  [5] Var "defenses" changed from "levitating=1|caloric salve=1|starburst=1|||warmth=1|cloak..." to ""


It looks like there are multiple blank keys in the variable. Is that supposed to be possible?
Reply with quote
Zugg
MASTER


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

PostPosted: Fri Jun 11, 2010 4:42 pm   
 
I got all of your crash dumps and couldn't find this problem. The crash dumps were pointing to a line in the code that can't cause a crash, so I have no idea what is going on.

Blank keys in a database variable shouldn't be happening, so something is definitely getting corrupted. Please keep trying to track down the problem, especially since you also had the problem in 3.18.
Reply with quote
GeneralStonewall
Magician


Joined: 02 Feb 2004
Posts: 364
Location: USA

PostPosted: Sat Jun 12, 2010 12:40 am   
 
Confirmed in 3.19b.

Found a way to replicate the error, but this way involves the package editor.

Code:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
  <class name="Test" copy="yes">
    <alias name="test" copy="yes">
      <value>#99 {
  #delkey testvar blah
  #addkey testvar blah
  }</value>
    </alias>
    <var name="testvar" copy="yes"/>
  </class>
</cmud>


Import the above, run the alias 'test', open package editor and select the 'testvar' variable, then run the alias 'test' again. You should get the access violation error and the variable will be unusable.


Last edited by GeneralStonewall on Sat Jun 12, 2010 12:48 am; edited 1 time in total
Reply with quote
Zugg
MASTER


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

PostPosted: Sat Jun 12, 2010 12:47 am   
 
Yes! I was able to reproduce the crash with the procedure that you gave. I'll see what I can find.
Reply with quote
GeneralStonewall
Magician


Joined: 02 Feb 2004
Posts: 364
Location: USA

PostPosted: Sat Jun 12, 2010 12:49 am   
 
It should be noted that when I first encountered this error, I had not even opened the package editor.
Reply with quote
Zugg
MASTER


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

PostPosted: Sat Jun 12, 2010 3:14 am   
 
Yeah, it's a memory corruption error, not related to the package editor. Not sure why doing that helps reproduce the problem, but I found it and should be fixed in next update.
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