Register forum user name Search FAQ

Gammon Forum

Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the password reset link.
 Entire forum ➜ MUSHclient ➜ General ➜ Corrupt world file

Corrupt world file

It is now over 60 days since the last post. This thread is closed.     Refresh page


Posted by Shaun Biggs   USA  (644 posts)  Bio
Date Sat 07 Jul 2007 06:06 PM (UTC)
Message
Is there any way to tell where or how a world file is corrupt? Every time I try to open up my default world file, MUSHclient is crashing. Unfortunately, opening up the .MCL file, I can't seem to figure out what is wrong searching through the file. Granted, it's a fairly large file, and with my short attention span, I might not be as thorough as I need to be.

Is there a way to have MUSHclient (v 4.12) spit out error messages? From the status bar, it looks like it's crashing either during or right after the plugins are loading. I'm mucking about with which ones are loaded in hopes that I can track down what exactly is going on.

It is much easier to fight for one's ideals than to live up to them.
Top

Posted by Shaun Biggs   USA  (644 posts)  Bio
Date Reply #1 on Sat 07 Jul 2007 06:19 PM (UTC)
Message
ok, after a bit of tracking down some issues, I've found some very strange issues... For example: After removing all my plugins, I wound up with this error:
Compile error
World: Aardwolf - Balaam
Immediate execution
[string "Script file"]:5: unexpected symbol near '='
Error context in script:
   1 : --[[
   2 : donatetrack = {}
   3 : function donation( trig_name, trig_line, wildcards )
   4 :   donated = string.gsub( wildcards[2], ",", "" )
   5*:   donatetrack[wildcards[1]] = (donatetrack[wildcards[1]] or 0) + donated
   6 :   Note( wildcards[1].." donated "..donatetrack[wildcards[1]] )
   7 : end
   8 : ]]--
   9 : 

Well, a few things are very strange here. First, this code was working perfectly before I rebooted. Second, and more disturbing, is that after finding the problem, I commented out that section, figuring I would go back and fix it up a bit after seeing if I could connect. Yet it still threw the error. The third thing that bothers me is that if I remove this section of code completely, I can log in, but a few of my plugins which were working earlier have very odd scripting errors now that are causing MUSHclient to crash out.

It is much easier to fight for one's ideals than to live up to them.
Top

Posted by Shaun Biggs   USA  (644 posts)  Bio
Date Reply #2 on Sat 07 Jul 2007 06:51 PM (UTC)
Message
And to make matters stranger... I just added the script back into my script file with cut/paste... Didn't change anything, but it works and can be loaded fine. My text editor would have shown an odd character for anything that might have been added in that isn't normally displayable, so it can't be hidden characters.

It is much easier to fight for one's ideals than to live up to them.
Top

Posted by Shadowfyr   USA  (1,788 posts)  Bio
Date Reply #3 on Sat 07 Jul 2007 07:40 PM (UTC)
Message
But, it could have been an odd character. Most text editors don't display certain characters, and unless you save the file after checking, it won't remove them. Basically, when you look at the file, it may auto-strip the bad characters and not show them, so when it saves again, it only saves what it didn't strip. Unless you look at the raw document with something that doesn't do that at all, and most will without telling you, you can't tell if there even are any.
Top

Posted by Shaun Biggs   USA  (644 posts)  Bio
Date Reply #4 on Sat 07 Jul 2007 08:34 PM (UTC)
Message
As I said, my text editor will show odd characters. Anything that is abnormal shows up as a square character. I've used this to find out that files were corrupted before, and not just misbehaving. Besides, that still wouldn't explain what happened when I added the commenting --[[ ]]-- around the text. With the rest of the file working fine, it should have just ignored what was within the comment instead of trying to parse it.

It is much easier to fight for one's ideals than to live up to them.
Top

Posted by Nick Gammon   Australia  (23,120 posts)  Bio   Forum Administrator
Date Reply #5 on Sat 07 Jul 2007 10:11 PM (UTC)
Message
This is all very strange. I would try replacing the Lua DLL - deleting it and reinstalling MUSHclient should achieve that. Maybe keep a copy and see if its size changes (or its sumcheck).

Unlike some other clients, MUSHclient can't really get "corrupt" world files that make it crash. It reparses the XML text every time, checking it for correctness. The worst that should happen would be an error message.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Shaun Biggs   USA  (644 posts)  Bio
Date Reply #6 on Sun 08 Jul 2007 01:40 AM (UTC)
Message
I just tried reinstalling. Still the same problem. It also crashes when I change a plugin at all. Just adding a new area to my sw table and reloading the plugin will cause the script engine to fail and MUSHclient crashes out.

c10fc2a76af34a55a48e65187558d19e lua5.1.dll
5508e9a84a5968b9fd600d9f3a807195 lua5.1.lib
449a4f22181885c0107850c6d0b4dec9 /home/biggs/win_install/mushclient412.exe

Those are the md5sums of the two most relevant files. The mc4.12 installer is correct, but I don't have a lua5.1.dll to compare that md5sum to. There's just the zip file's md5sum listed on the announcement page about Lua 5.1.1

It is much easier to fight for one's ideals than to live up to them.
Top

Posted by Nick Gammon   Australia  (23,120 posts)  Bio   Forum Administrator
Date Reply #7 on Sun 08 Jul 2007 05:13 AM (UTC)
Message
I get the same md5sum for lua5.1.dll:


[C:\Program Files\MUSHclient4.11\]
lua5.1.dll                                     c10fc2a76af34a55a48e65187558d19e


- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Nick Gammon   Australia  (23,120 posts)  Bio   Forum Administrator
Date Reply #8 on Sun 08 Jul 2007 05:14 AM (UTC)
Message
Quote:

/home/biggs/win_install/mushclient412.exe


You are running under Wine, right?

Maybe something has changed with that.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Shaun Biggs   USA  (644 posts)  Bio
Date Reply #9 on Sun 08 Jul 2007 07:59 AM (UTC)
Message
I haven't updated MUSHclient in over a week, haven't changed wine in about a month and a half. Unfortunately, the only reason I have wine is for MUSHclient, so I'd have to try installing a few other things to see if it's a wine issue. Until I can find something to install, I've trying some old installs of MUSHclient to see if it's an issue caused by conflicts with Wine and the new localization code. I'm getting the same issue with 4.08 as I was with 4.12.

It is much easier to fight for one's ideals than to live up to them.
Top

Posted by Nick Gammon   Australia  (23,120 posts)  Bio   Forum Administrator
Date Reply #10 on Sun 08 Jul 2007 09:35 PM (UTC)
Message
I should have tried your example. This indeed causes an error (in any version):


Compile error
World: Aardwolf - Balaam
Immediate execution
[string "Script file"]:5: unexpected symbol near '='
Error context in script:
   1 : --[[
   2 : donatetrack = {}
   3 : function donation( trig_name, trig_line, wildcards )
   4 :   donated = string.gsub( wildcards[2], ",", "" )
   5*:   donatetrack[wildcards[1]] = (donatetrack[wildcards[1]] or 0) + donated
   6 :   Note( wildcards[1].." donated "..donatetrack[wildcards[1]] )
   7 : end
   8 : ]]--
   9 : 


The reason is that the 'donatetrack[wildcards[1]]' in line 5 closes the block comment in line 1, and so you get an error about '=' immediately afterwards.

You need to be careful about block comments in code with ]] in it.

If you change it to:


--[=[
 donatetrack = {}
 function donation( trig_name, trig_line, wildcards )
  donated = string.gsub( wildcards[2], ",", "" )
  donatetrack[wildcards[1]] = (donatetrack[wildcards[1]] or 0) + donated
  Note( wildcards[1].." donated "..donatetrack[wildcards[1]] )
 end
]=]--


It works fine.

I should also point out that the intention of the block comments is to put the '--' first, like this:


--[=[
 donatetrack = {}
 function donation( trig_name, trig_line, wildcards )
  donated = string.gsub( wildcards[2], ",", "" )
  donatetrack[wildcards[1]] = (donatetrack[wildcards[1]] or 0) + donated
  Note( wildcards[1].." donated "..donatetrack[wildcards[1]] )
 end
--]=]


Note change to the last line. That way you can uncomment the entire block by adding one extra space. For example (block commented out):


--[=[
 print "hi"
--]=]


Add a space (line 1) and the entire block is back again:

-- [=[
 print "hi"
--]=]


As for your initial problem, I think we need to focus on the real problem. The code above was simply a bad script (the way it was commented).

I would go back to gradually adding in plugins to try to isolate what is causing it.

Quote:

Is there a way to have MUSHclient (v 4.12) spit out error messages?


It generally does spit out error messages unless you crash it rather badly. Perhaps something has corrupted the heap or something.

Take a look at the release notes for version 4.13. The last couple of points might be relevant to you - let me know if they are.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Nick Gammon   Australia  (23,120 posts)  Bio   Forum Administrator
Date Reply #11 on Sun 08 Jul 2007 09:41 PM (UTC)
Message
I tried MUSHclient 4.12 under Wine, with the Lua chat plugin installed - I generally regard that as a bit of a workout for plugins. That worked fine.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


29,631 views.

It is now over 60 days since the last post. This thread is closed.     Refresh page

Go to topic:           Search the forum


[Go to top] top

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.