|
brrant Beginner
Joined: 19 Nov 2008 Posts: 14
|
Posted: Sat Nov 29, 2008 3:12 am
Access violation at address 00D7B450 in module 'cMUD.exe'. Read of adress 000000 |
Sorry if the subject line isn't letter perfect, but I tried to get close. I'm getting a lot of these memory access errors, but this is the first one that exhibits every time. Some others I was able to get past by deleting the existing trigger and re-creating. Some others by killing cMUD and restarting. Others by rebooting.
I'm getting a lot of these errors. Apart from this one, on the order of one every hour or two of uptime for cMUD. I'm running Vista Home Premium 64 with 8gb of ram. No other applications exhibit errors. This error (and others) exhibit whether or not cMUD is run as Administrator.
If there are config issues I need to take into consideration on Vista, or there is some fatal flaw in my approach in the trigger below, I would appreciate feedback. (Yes, I have submitted some error logs, and am willing to submit more via cMUD, but as that contains detailed personal info, I won't be posting those here.
<trigger name="trConSpells" priority="3020" language="Lua" id="302">
<pattern>Contains the spells: (*)</pattern>
<value>zs.var.gCurrSp = zs.param(1)
zs.gettrigger("trConSpells").enabled = false</value>
</trigger> |
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Sat Nov 29, 2008 9:03 am |
Is CMUD's crash dump handler catching these errors? If so, seeing the dumps (you can save them to text files if the automatic uploading is failing for whatever reason) will help.
|
|
|
|
brrant Beginner
Joined: 19 Nov 2008 Posts: 14
|
Posted: Sat Nov 29, 2008 5:59 pm |
This is the output I get in the log.
Code: |
date/time : 2008-11-29, 10:55:48, 989ms
computer name :
user name :
registered owner : Microsoft / Microsoft
operating system : Windows Vista x64 Service Pack 1 build 6001
system language : English
system up time : 1 hour 11 minutes
program up time : 23 seconds
processors : 2x Intel(R) Xeon(R) CPU E3110 @ 3.00GHz
physical memory : 6600/8190 MB (free/total)
free disk space : (C:) 19.84 GB (K:) 496.16 GB
display mode : 1680x1050, 32 bit
process id : $fc
allocated memory : 61.39 MB
executable : cMUD.exe
exec. date/time : 2008-10-31 10:09
version : 2.37.0.0
compiled with : BCB 2006/07
madExcept version : 3.0h
contact email :
callstack crc : $3d76c687, $9eb93d41, $9eb93d41
exception number : 1
exception class : EAccessViolation
exception message : Access violation at address 00C6E237 in module 'cMUD.exe'. Write of address 003000C4.
Main ($1244):
00c6e237 +0000b cMUD.exe CodeThread 1520 +1 TRunCodeThread.EvalCode
00db4c3b +0001f cMUD.exe LuaCmud 585 +4 EvalCode
00db7554 +0009c cMUD.exe LuaCmud 1378 +5 Lua_zsGetParam
100088ee +0001e lua5.1.dll luaM_realloc_
10002103 +00053 lua5.1.dll lua_pcall
00db9931 +000b5 cMUD.exe LuaBase 160 +10 ExecLua
00cbe51c +00050 cMUD.exe MAIN 6735 +3 TMUDForm.ExecLuaScript
00ce1337 +0000f cMUD.exe MAIN 16938 +1 TMUDForm.ExecMSS
00d62ca1 +00335 cMUD.exe PrefDat 9755 +56 PrefRec.InternalExecute
00d62eaa +00022 cMUD.exe PrefDat 9808 +2 PrefRec.Execute
00cbdfdd +00151 cMUD.exe MAIN 6636 +14 TMUDForm.ExecThread
00cc71d1 +00519 cMUD.exe MAIN 9544 +102 TMUDForm.ExecTrig
00cc4983 +0132f cMUD.exe MAIN 8691 +340 TMUDForm.HandleTrigger
00cc313f +0000f cMUD.exe MAIN 8172 +1 TMUDForm.UserOutNewLine
00a0272d +00039 cMUD.exe term 9163 +3 TTerm.DoTriggerLine
00a010cc +00218 cMUD.exe term 8729 +34 HandleNewLine
00a01930 +006e4 cMUD.exe term 8857 +104 TTerm.PutText
00a01eef +00053 cMUD.exe term 8963 +2 TTerm.Add
00cad469 +000b1 cMUD.exe MAIN 1702 +8 TMUDForm.OutputStr
00cad741 +000d9 cMUD.exe MAIN 1785 +26 TMUDForm.NextMUDLine
00cadc0e +00022 cMUD.exe MAIN 1863 +4 TMUDForm.DoNextLine
004bafd3 +002bb cMUD.exe Controls TControl.WndProc
004befd7 +004fb cMUD.exe Controls TWinControl.WndProc
004a1537 +00553 cMUD.exe Forms TCustomForm.WndProc
004be700 +0002c cMUD.exe Controls TWinControl.MainWndProc
0047c3b0 +00014 cMUD.exe Classes StdWndProc
760990fb +0000a USER32.dll DispatchMessageA
004a96ac +000fc cMUD.exe Forms TApplication.ProcessMessage
004a96e6 +0000a cMUD.exe Forms TApplication.HandleMessage
004a99db +000b3 cMUD.exe Forms TApplication.Run
00df80e0 +00088 cMUD.exe CMUD 348 +20 initialization
77ea0164 +00076 ntdll.dll RtlUnicodeStringToAnsiString
7619b5bf +26660 kernel32.dll GetVersionExA
761ee3f1 +0000c kernel32.dll BaseThreadInitThunk
error details:
logged into mud executing trigger |
|
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Sun Nov 30, 2008 12:08 am |
brrant wrote: |
Windows Vista x64 |
I'm guessing that this is the problem; I seem to remember someone on the forums reporting some issues. |
|
|
|
brrant Beginner
Joined: 19 Nov 2008 Posts: 14
|
Posted: Sun Nov 30, 2008 3:59 am |
If this is a known issue, shouldn't that be posted somewhere?
This is a long weekend and Zugg deserves it as much as any, but I hope this isn't relegated to the "doesn't work with vista/vista 64" pile.
Quote: |
Requirements
Windows XP SP2, or Windows Vista |
I'm not in a position to just toss my OS out the window. If it's being worked on, that's one thing. But just living with not being able to write a trigger like this is something else. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Mon Dec 01, 2008 6:01 pm |
Actually, I am not aware of any x64 issues in CMUD right now. The only issues related to x64 used to be that DEP is enabled for all applications by default (see the CMUD Troubleshooting article). Also, earlier releases of x64 Windows had more problems, but I think Microsoft has fixed most of them. I know there are several people on these forums using x64 just fine.
The error in your crash dump looks like a problem with the Lua script. But I just tried it on my system here and it worked fine:
1) Run CMUD, close the Sessions window. Open the Settings Editor (Ctrl-G)
2) Copy your XML code from your post above, then right-click on the Tree view on the left side of the editor and select Paste.
3) On the command line, I typed:
#SHOW "Contains the spells: heal"
and it properly created the @gCurrSp variable with the value of "heal" and properly disabled the trigger.
So try this in a blank session to see if it works on your computer or not. My guess is there is some other complexity in your scripts causing it to fail in your specific character session.
But unless there is a problem with Lua itself on x64, I doubt that is the problem.
Edited: Although you should generally have a good reason to use LUA over the default zScript. It's faster to just use:
Code: |
gCurrSp = %1
#T- trConSpells |
|
|
|
|
|
|