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
Guinn
Wizard


Joined: 03 Mar 2001
Posts: 1127
Location: London

PostPosted: Mon Oct 29, 2007 10:50 pm   

[2.09] Lua variables with certain default settings
 
I can't track down exactly what's causing this crash yet, but I think it's to do with variables being created as Lua variables.

If you set the default settings so that Lua is the default scripting language, then create a new package that would inherit that setting, then I am sometimes getting crashes when assigning variables from the command line
test = "blah1|blah2"

which would create a variable with xml
<var name="test" type="Literal" usedef="true" language="Lua" id="10"/>

I didn't get the error message unfortunately but it looks like a Lua parsing error where it's saying it's expecting a '|' character.
I think it seems to occur when you're creating a stringlist from the command line

Sorry it's a patchy report so far, but it's proving a bit awkward to find a way to duplicate it reliably. I'll keep on trying and post more if I find out what exactly is up, but if anyone else fancies playing around with changing the default script language to Lua in a package higher up the hierarchy...
_________________
CMUD Pro, Windows Vista x64
Core2 Q6600, 4GB RAM, GeForce 8800GT
Because you need it for text... ;)
Reply with quote
Zugg
MASTER


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

PostPosted: Tue Oct 30, 2007 1:40 am   
 
Yep, I can see where this would be a problem. I need to exclude variables from the default script setting so this doesn't happen.
Reply with quote
Guinn
Wizard


Joined: 03 Mar 2001
Posts: 1127
Location: London

PostPosted: Tue Oct 30, 2007 12:30 pm   
 
Found the crash again today. Still can't replicate it at will, but the variables being changed (whoList and whoOld) were set as Lua variables.
Any changes to those variables were just using #ADDITEM, then an alias used called whoChange that also uses them:
Code:
$whoJoined = @whoList
$whoLeft = @whoOld

#FORALL {@whoOld} {$whoJoined = %delItem(%i, $whoJoined)}
#FORALL {@whoList} {$whoLeft = %delItem(%i, $whoLeft)}

#IF (%numitems($whoJoined) > 0) {
  #SHOW *** Logged on @ %time( hh:mm:ss) : %expandlist($whoJoined, ", ")
}

#IF (%numitems($whoLeft) > 0) {
  #SHOW ** Logged off @ %time( hh:mm:ss) : %expandlist($whoLeft, ", ")
}

whoOld = @whoList


It crashed with the following message


And bugreport
Code:
date/time         : 2007-10-30, 12:24:16, 709ms
computer name     :
user name         :
operating system  : Windows NT New build 6000
system language   : English
system up time    : 43 minutes 33 seconds
program up time   : 1 minute 7 seconds
processor         : AMD Athlon(tm) XP 3200+
physical memory   : 465/1023 MB (free/total)
free disk space   : (C:) 10.39 GB (D:) 7.37 GB
display mode      : 1280x1024, 32 bit
process id        : $f44
allocated memory  : 69.04 MB
executable        : cMUDPro.exe
exec. date/time   : 2007-10-27 03:17
version           : 2.9.0.0
madExcept version : 3.0b
contact name      :
contact email     :
callstack crc     : $8ac92e94, $6b951500, $0d684929
exception number  : 1
exception class   : ELuaException
exception message : [string "code"](1) '=' expected near '<eof>'.

Main ($fe4):
00677301 +095 cMUDPro.exe  LuaUtils  1239   +6 LuaLoadBuffer
00e31612 +072 cMUDPro.exe  LuaBase    156   +6 ExecLua
00df008a +43e cMUDPro.exe  CodeExec  1160  +59 ExecAlias
00df0675 +141 cMUDPro.exe  CodeExec  1257  +15 PushPref
00df0ccb +2c3 cMUDPro.exe  CodeExec  1361  +45 HandleVar
00df1508 +610 cMUDPro.exe  CodeExec  1471  +84 HandleVarRef
00df625d +469 cMUDPro.exe  CodeExec  2896  +60 TCodeExec.InternalExecute
00dede9e +08e cMUDPro.exe  CodeExec   477  +12 TCodeExec.Expression
00de520e +086 cMUDPro.exe  PrefDat  10666  +10 TCacheNode.GetCaption
00de19b7 +0bb cMUDPro.exe  PrefDat   9162  +15 PrefRec.InternalGetCaption
00de0cd0 +010 cMUDPro.exe  PrefDat   8920   +1 TrigNode.GetExpandPat
00d3c962 +9ee cMUDPro.exe  MAIN      7307 +183 TMUDForm.HandleTrigger
00d3ba64 +00c cMUDPro.exe  MAIN      6953   +1 TMUDForm.UserOutNewLine
00a1bc2d +039 cMUDPro.exe  term      8442   +3 TTerm.DoTriggerLine
00a1a74a +1fa cMUDPro.exe  term      8022  +34 HandleNewLine
00a1af25 +6cd cMUDPro.exe  term      8146 +104 TTerm.PutText
00a1b499 +049 cMUDPro.exe  term      8250   +2 TTerm.Add
00d28cf1 +0b1 cMUDPro.exe  MAIN      1533   +8 TMUDForm.OutputStr
00d28f8d +09d cMUDPro.exe  MAIN      1602  +15 TMUDForm.NextMUDLine
00d293b5 +019 cMUDPro.exe  MAIN      1672   +4 TMUDForm.DoNextLine
00505ff3 +1df cMUDPro.exe  Controls  4645  +53 TControl.WndProc
00509d22 +18e cMUDPro.exe  Controls  6342  +33 TWinControl.WndProc
00526e00 +478 cMUDPro.exe  Forms     3098 +103 TCustomForm.WndProc
005098f4 +034 cMUDPro.exe  Controls  6237   +3 TWinControl.MainWndProc
0047ff58 +014 cMUDPro.exe  Classes  10966   +8 StdWndProc
77843c85 +00a USER32.dll                       DispatchMessageA
0052eea8 +0ac cMUDPro.exe  Forms     6873  +13 TApplication.ProcessMessage
0052eeef +00f cMUDPro.exe  Forms     6892   +1 TApplication.HandleMessage
0052f18a +0a6 cMUDPro.exe  Forms     6976  +16 TApplication.Run
00e69464 +088 cMUDPro.exe  cMUDPro    348  +19 initialization
76c73831 +010 kernel32.dll                     BaseThreadInitThunk
77dda9bb +04b ntdll.dll                        LdrInitializeThunk

thread $ea4:
77e00f34 +00 ntdll.dll              KiFastSystemCallRet
77e000ee +0a ntdll.dll              NtRemoveIoCompletion
76c57942 +23 kernel32.dll           GetQueuedCompletionStatus
0045d509 +0d cMUDPro.exe  madExcept CallThreadProcSafe
0045d581 +45 cMUDPro.exe  madExcept ThreadExceptFrame
76c73831 +10 kernel32.dll           BaseThreadInitThunk
77dda9bb +4b ntdll.dll              LdrInitializeThunk
>> created by Main ($fe4) at:
76abc12e +00 RPCRT4.dll

thread $f88:
77e00f34 +00 ntdll.dll     KiFastSystemCallRet
77e0069e +0a ntdll.dll     NtWaitForSingleObject
76c777ce +7e kernel32.dll  WaitForSingleObjectEx
76c73831 +10 kernel32.dll  BaseThreadInitThunk
77dda9bb +4b ntdll.dll     LdrInitializeThunk

thread $da8: <priority:15>
77e00f34 +00 ntdll.dll     KiFastSystemCallRet
77e0068e +0a ntdll.dll     NtWaitForMultipleObjects
76c77e03 +00 kernel32.dll  WaitForMultipleObjectsEx
76c7814b +13 kernel32.dll  WaitForMultipleObjects
76c73831 +10 kernel32.dll  BaseThreadInitThunk
77dda9bb +4b ntdll.dll     LdrInitializeThunk

thread $880: <priority:15>
77e00f34 +00 ntdll.dll     KiFastSystemCallRet
77e0068e +0a ntdll.dll     NtWaitForMultipleObjects
76c77e03 +00 kernel32.dll  WaitForMultipleObjectsEx
76c7814b +13 kernel32.dll  WaitForMultipleObjects
76c73831 +10 kernel32.dll  BaseThreadInitThunk
77dda9bb +4b ntdll.dll     LdrInitializeThunk

UpdateThread ($bf0): <suspended>
77e00f34 +00 ntdll.dll                      KiFastSystemCallRet
77e0054e +0a ntdll.dll                      NtSuspendThread
76c84822 +0c kernel32.dll                   SuspendThread
0047df31 +31 cMUDPro.exe  Classes  9648  +5 TThread.Suspend
00903cf2 +6e cMUDPro.exe  IdThread  333 +20 TIdThread.Execute
0047da3a +36 cMUDPro.exe  Classes  9372  +7 ThreadProc
00405acc +28 cMUDPro.exe  System            ThreadWrapper
76c73831 +10 kernel32.dll                   BaseThreadInitThunk
77dda9bb +4b ntdll.dll                      LdrInitializeThunk

thread $6d4:
77e00f34 +000 ntdll.dll     KiFastSystemCallRet
77843c6f +124 USER32.dll    PeekMessageA
76c73831 +010 kernel32.dll  BaseThreadInitThunk
77dda9bb +04b ntdll.dll     LdrInitializeThunk

thread $a3c:
77e00f34 +00 ntdll.dll     KiFastSystemCallRet
77e0068e +0a ntdll.dll     NtWaitForMultipleObjects
76c77e03 +00 kernel32.dll  WaitForMultipleObjectsEx
7784c4b1 +00 USER32.dll    MsgWaitForMultipleObjectsEx
77848b7e +1a USER32.dll    MsgWaitForMultipleObjects
76c73831 +10 kernel32.dll  BaseThreadInitThunk
77dda9bb +4b ntdll.dll     LdrInitializeThunk

thread $7d4:
77e00f34 +00 ntdll.dll     KiFastSystemCallRet
77e000ee +0a ntdll.dll     NtRemoveIoCompletion
76c57942 +23 kernel32.dll  GetQueuedCompletionStatus
76c73831 +10 kernel32.dll  BaseThreadInitThunk
77dda9bb +4b ntdll.dll     LdrInitializeThunk

thread $bcc:
77e00f34 +00 ntdll.dll     KiFastSystemCallRet
778519c8 +26 USER32.dll    GetMessageW
76c73831 +10 kernel32.dll  BaseThreadInitThunk
77dda9bb +4b ntdll.dll     LdrInitializeThunk

thread $654: <priority:15>
77e00f34 +00 ntdll.dll     KiFastSystemCallRet
77e0068e +0a ntdll.dll     NtWaitForMultipleObjects
76c77e03 +00 kernel32.dll  WaitForMultipleObjectsEx
76c73831 +10 kernel32.dll  BaseThreadInitThunk
77dda9bb +4b ntdll.dll     LdrInitializeThunk

thread $6b8: <priority:2>
77e00f34 +00 ntdll.dll              KiFastSystemCallRet
77843acc +3b USER32.dll             GetMessageA
0045d509 +0d cMUDPro.exe  madExcept CallThreadProcSafe
0045d581 +45 cMUDPro.exe  madExcept ThreadExceptFrame
76c73831 +10 kernel32.dll           BaseThreadInitThunk
77dda9bb +4b ntdll.dll              LdrInitializeThunk
>> created by Main ($fe4) at:
751930a4 +d1 winmm.dll              PlaySoundW

thread $ff4:
77e00f34 +00 ntdll.dll              KiFastSystemCallRet
77e0069e +0a ntdll.dll              NtWaitForSingleObject
76c777ce +7e kernel32.dll           WaitForSingleObjectEx
76c7773d +0d kernel32.dll           WaitForSingleObject
0045d509 +0d cMUDPro.exe  madExcept CallThreadProcSafe
0045d581 +45 cMUDPro.exe  madExcept ThreadExceptFrame
76c73831 +10 kernel32.dll           BaseThreadInitThunk
77dda9bb +4b ntdll.dll              LdrInitializeThunk
>> created by Main ($fe4) at:
77996162 +31 ws2_32.dll             WSAAsyncGetHostByName

thread $d88: <priority:1>
77e00f34 +00 ntdll.dll     KiFastSystemCallRet
77e000ee +0a ntdll.dll     NtRemoveIoCompletion
76c73831 +10 kernel32.dll  BaseThreadInitThunk
77dda9bb +4b ntdll.dll     LdrInitializeThunk

thread $f20: <suspended>
77e00f34 +00 ntdll.dll                      KiFastSystemCallRet
77e0054e +0a ntdll.dll                      NtSuspendThread
76c84822 +0c kernel32.dll                   SuspendThread
0047df31 +31 cMUDPro.exe  Classes  9648  +5 TThread.Suspend
00903cf2 +6e cMUDPro.exe  IdThread  333 +20 TIdThread.Execute
0047da3a +36 cMUDPro.exe  Classes  9372  +7 ThreadProc
00405acc +28 cMUDPro.exe  System            ThreadWrapper
76c73831 +10 kernel32.dll                   BaseThreadInitThunk
77dda9bb +4b ntdll.dll                      LdrInitializeThunk

thread $e10: <suspended>
77e00f34 +00 ntdll.dll                      KiFastSystemCallRet
77e0054e +0a ntdll.dll                      NtSuspendThread
76c84822 +0c kernel32.dll                   SuspendThread
0047df31 +31 cMUDPro.exe  Classes  9648  +5 TThread.Suspend
00903cf2 +6e cMUDPro.exe  IdThread  333 +20 TIdThread.Execute
0047da3a +36 cMUDPro.exe  Classes  9372  +7 ThreadProc
00405acc +28 cMUDPro.exe  System            ThreadWrapper
76c73831 +10 kernel32.dll                   BaseThreadInitThunk
77dda9bb +4b ntdll.dll                      LdrInitializeThunk

thread $a84:
77e00f34 +00 ntdll.dll              KiFastSystemCallRet
77e000ee +0a ntdll.dll              NtRemoveIoCompletion
76c57942 +23 kernel32.dll           GetQueuedCompletionStatus
0045d509 +0d cMUDPro.exe  madExcept CallThreadProcSafe
0045d581 +45 cMUDPro.exe  madExcept ThreadExceptFrame
76c73831 +10 kernel32.dll           BaseThreadInitThunk
77dda9bb +4b ntdll.dll              LdrInitializeThunk
>> created by thread $ea4 at:
76abc12e +00 RPCRT4.dll


Hope that's enough to help a bit
_________________
CMUD Pro, Windows Vista x64
Core2 Q6600, 4GB RAM, GeForce 8800GT
Because you need it for text... ;)
Reply with quote
Seb
Wizard


Joined: 14 Aug 2004
Posts: 1269

PostPosted: Wed Oct 31, 2007 1:46 am   
 
Ooh, I see what you mean about CMUD looking pretty on Vista! Even the errors have style! Smile
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