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

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD General Discussion
Anaristos
Sorcerer


Joined: 17 Jul 2007
Posts: 821
Location: California

PostPosted: Thu May 22, 2008 2:51 am   

CMUD 225 - A TOTAL SCREW-UP
 
This is my current experience:
I have a floating window with buttons that contain my current campaign. The window displays entries with clickable room numbers.
Suddenly, when I clicked on room number instead of executing the code it just dumped the command on the floating window.
command was:
Code:

#EXECWIN Aardwolf {#EXEC {goto 20111}}

So, I deleted the window, re-enabled my COM objects and tried to continue.
What happened next is a disaster. My Package (named Aardwolf) has been torn apart. Instead, one of the windows Spouse has now gotten control of the package. This window was inactive at the time. So now the package is named Spouse. The window I tried to delete is still there and any attempt to delete it, sends CMUD into an infinite loop. There is no bomb error dialog box. There was a hint of an Error code 28 but I haven't been able to reproduce that.
At this point, I am trying to figure out how to retrieve my package. Perhaps, in future releases of CMUD, saving the package will not destroy the previous checkpoint and reconstruction can be a matter to going back to the last save.
It seems at this point that starting from scratch is not a far-fetched possibility.

EDIT: When I start my session, it immediately goes into an infinite loop. At this point, I am royally screwed.
EDIT: Re-installing CMUD does not work simply because the package is damaged. I guess I will have to start from zero.
The lesson here is to backup you packages before starting every session. CMUD package save just makes it worse because it just propagates whatever errors are bombing the package.
_________________
Sic itur ad astra.
Reply with quote
Dumas
Enchanter


Joined: 11 Feb 2003
Posts: 511
Location: USA

PostPosted: Thu May 22, 2008 3:31 am   
 
Never mind
Reply with quote
Caled
Sorcerer


Joined: 21 Oct 2000
Posts: 821
Location: Australia

PostPosted: Thu May 22, 2008 3:36 am   
 
Are you able to open offline?


Try opening a blank session. (ESC from session window). Click off trigs, and why, not, parsing as well.

Open the package editor. File>open>thepackage.pkg

It shouldn't loop at this point.. hopefully.

Then export it to xml, and voila.



But yes - you should definitely back it up regularly. I backup by adding the packages folder to an archive (winrar) quite regularly, and definitely before upgrading a version of cmud.
_________________
Athlon 64 3200+
Win XP Pro x64
Reply with quote
Anaristos
Sorcerer


Joined: 17 Jul 2007
Posts: 821
Location: California

PostPosted: Thu May 22, 2008 8:18 am   
 
Thanks for the suggestion and I will use it as best I can. The problem is not that the package disappeared, the problem is that it is now mangled beyond any use. Temporary windows have attached alias and variables now, the main window is gone along with all the root settings and the package renamed itself to the name of an inactive window. So what I have to do is pick through the debris and salvage whatever code I can and hope my memory doesn't fail me. My last major backup is 8 days-old which is really too long. For the time being I am running with the backup package after re-installing CMUD and that was not easy because somehow the un-install is not cleaning out the registry, so even though I deleted the folder where CMUD was running, the new install was looking for the mangled package and finally ended treating the map window as the main window.
Oh, yes, I was able to open the old install offline after the catastrophe, but it didn't make any difference, it still went into an infinite loop creating windows, as it turns out. So that is why I decided to un-install.
_________________
Sic itur ad astra.
Reply with quote
Dumas
Enchanter


Joined: 11 Feb 2003
Posts: 511
Location: USA

PostPosted: Thu May 22, 2008 12:52 pm   
 
Do you have any scripted loops? With what you showed above, what is it supposed to be doing? Don't know if you can post the code from that floating window.

If it is a bug, you can be sure Zugg will work on fixing it as something like this would need to get fixed fast. But if it is something in the code, I'm sure you'd like to know if you missed something.
Reply with quote
Anaristos
Sorcerer


Joined: 17 Jul 2007
Posts: 821
Location: California

PostPosted: Thu May 22, 2008 11:47 pm   
 
The code has been running since CMUD 1.34 and it was running on 2.25 until yesterday when it decided to start echoing the command stream to the auxiliary window rather than executing it. The fact that after that the package got mangled (and when I say mangled, I mean mangled, there is no other way to describe its state at this point) seems to indicate that there is a connection. Users can only take responsibility for exposing a bug, not for the bug itself. A system has to work no matter how hare-brained the user code is.
As to what the code is supposed to be doing: It takes a list of targets, finds out from a database the likely place to find each target and shows the list on a floating window. The room(s) where the target(s) are to be found is/are clickable. The click causes a speedwalk to the room to be generated and executed. This description is rather simplistic, target locations may not be found in the database so the code may have to rely on information provided with the target, this information may ba a zone name or a room name. The displayed list is adjusted accordingly. Rooms are color-coded to indicate the source of information and whether a speedwallk can be generated or not. Also, right-clicking the room give a menu of options other than speedwalking.
_________________
Sic itur ad astra.
Reply with quote
Caled
Sorcerer


Joined: 21 Oct 2000
Posts: 821
Location: Australia

PostPosted: Fri May 23, 2008 1:07 am   
 
Only slightly related, but I actually find backing my package files up to be a bit of a chore, with CMUD. The other day, I accidentally deleted a class - somehow. It was a large class with many sub classes (containing everything a character of mine needs for one of three skillsets). I don't know how I accidentally deleted it despite the confirmation dialogue, but I did. (I was typing, must have hit the wrong key and gone into menu options. By the time I picked it up and stopped typing, the class was deleted.)

I realised it straight away, but there was nothing I could do. I was lucky in that it was not something I had been working on right then, so I was able to copy the class from a backup. However, I had just spent a couple of hours working on other settings which weren't backed up, and it could have been one of those that I deleted. In zmud it is as simple as file>revert to saved, or at least opening up the backup *.mud file and copying what we want. There is no equivalent in cmud, which does kind of bug me a bit.
_________________
Athlon 64 3200+
Win XP Pro x64
Reply with quote
Arminas
Wizard


Joined: 11 Jul 2002
Posts: 1265
Location: USA

PostPosted: Fri May 23, 2008 2:33 pm   
 
Well, you could.
    1. Open up two copies of CMUD.
    2. Load up your backed up package into a blank session.
    3. Load up your normal session.
    4. Open the package editor in both sessions.
    5. Highlight the stuff you want in the tree view from the blank session.
    6. Paste it into the regular session where it needs to be.


This although different, should be even easier than the old text file method.
_________________
Arminas, The Invisible horseman
Windows 7 Pro 32 bit
AMD 64 X2 2.51 Dual Core, 2 GB of Ram
Reply with quote
Anaristos
Sorcerer


Joined: 17 Jul 2007
Posts: 821
Location: California

PostPosted: Fri May 23, 2008 10:51 pm   
 
Yes, that is exactly what I did. As helpful as all these ideas are, the fact that there is big bug in CMUD seems to be going by the wayside.
_________________
Sic itur ad astra.
Reply with quote
Arminas
Wizard


Joined: 11 Jul 2002
Posts: 1265
Location: USA

PostPosted: Fri May 23, 2008 11:32 pm   
 
Ok, so you have your system back up now?

Here is the reason we are trying to help you get back to where you were, aside from being nice guys in general. Twisted Evil

Zugg isn't going to be able to fix this unless we give him enough information that he can do one of two things.

1. recreate the catastrophe himself.
or
2. We report some other bug that Zugg can recreate and once he looks at it he sees what is causing THIS problem and so can fix both.

Since it is much more likely that you will be able to recreate this problem than it is that we will find some related bug soonish.
We want you to be able to recover quickly after you break it repeatedly trying to help Zugg find this bug. Wink
_________________
Arminas, The Invisible horseman
Windows 7 Pro 32 bit
AMD 64 X2 2.51 Dual Core, 2 GB of Ram
Reply with quote
Anaristos
Sorcerer


Joined: 17 Jul 2007
Posts: 821
Location: California

PostPosted: Sat May 24, 2008 12:29 am   
 
Yes, I am up. Here is the problem: It happened so quickly that I could not really document what was happening. It started with the auxiliary window (floating window with #MXP clickable displays that send commands to the main window) started dumping the commands onto its display instead of sending them to the main window for execution. I closed the window several times, re-enabled my COM objects (see note on this subject) and sent the data back to the auxiliary window but the dumping problem continued. One other thing, this window has buttons that also send commands to the main window, they are in their own class attached to the window. I closed the window one last time and the buttons then moved to the main window toolbar.
So now we have buttons attached to a closed window appearing on the main window. I tried disabling the class and that didn't work. So I finally deleted the class. That removed the buttons from the main window toolbar. So far, so good. I then sent data to the auxiliary window which popped up again, BUT the buttons appeared again on the main window toolbar even though the class had been deleted!!!!
I then deleted the auxiliary window again and that is when all hell broke loose. The main window went blank, the main package title was changed from Aardwolf to Spouse which is another auxiliary window which should only appear on top when there is activity on the Spouse channel. I went into the editor to see what had happened and found that the root window was gone along with all the unclassed settings as well as some of the classes and that The Spouse window was now the root (not a surprise here). The remaining classes were attached to different windows and modules, none of which were the original parents. When I attempted to view the settings for the Spouse window, CMUD went into an infinite loop. I believe this loop was caused by CMUD's attempt at creating windows since I could see that the command box at the bottom of the screen was stacked above the traces of other command boxes. After using Windows to kill CMUD, I found out that bringing up that session would just cause CMUD to go into the loop again. There was no application error dialog box pop-op for any of this except once when an Error code 28 appeared during my attempt to explore my settings.
_________________
Sic itur ad astra.
Reply with quote
oldguy2
Wizard


Joined: 17 Jun 2006
Posts: 1201

PostPosted: Sat May 24, 2008 12:46 am   
 
Quote:
A system has to work no matter how hare-brained the user code is.


Do you really mean this how you stated it?
Reply with quote
Anaristos
Sorcerer


Joined: 17 Jul 2007
Posts: 821
Location: California

PostPosted: Sat May 24, 2008 12:59 am   
 
Yes, I did. The stability of the system is not a function of how it is used. The point of the statement was to prevent people focusing on what my code was doing rather than focusing on what the system did to get to that state.
_________________
Sic itur ad astra.
Reply with quote
oldguy2
Wizard


Joined: 17 Jun 2006
Posts: 1201

PostPosted: Sat May 24, 2008 1:03 am   
 
Unless of course you try to get it to do something it cannot. I know what you are trying to say, but it just didn't sound right.
Reply with quote
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: Sat May 24, 2008 9:52 am   
 
Anaristos wrote:
I tried disabling the class and that didn't work. So I finally deleted the class. That removed the buttons from the main window toolbar. ... I then sent data to the auxiliary window which popped up again, BUT the buttons appeared again on the main window toolbar even though the class had been deleted!!!!

Looks like a problem with caching again?
At least, send your broken package to Zugg so that he can fix infinite loop on loading problem so CMUD could just show an error message instead.
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD General Discussion 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