 |
Larkin Wizard

Joined: 25 Mar 2003 Posts: 1113 Location: USA
|
Posted: Fri Dec 14, 2007 7:01 pm
[2.17 Pro] Major? - Randomly missing settings and crash when trying to reload |
I'm noticing with 2.17 that certain modules of mine keep losing settings. As far as I know, I don't have anywhere in my code where I delete the classes explicitly or even disable them. They just go missing, and I haven't yet figured out why this is. When I try to reload the missing pieces, I crash the client with the following exception:
| Code: |
date/time : 2007-12-14, 13:50:34, 385ms
operating system : Windows XP Service Pack 2 build 2600
system language : English
system up time : 1 day 20 hours
program up time : 11 minutes 27 seconds
processors : 2x Intel(R) Xeon(TM) CPU 3.20GHz
physical memory : 886/2046 MB (free/total)
free disk space : (C:) 195.45 GB
display mode : 1600x1200, 32 bit
process id : $1540
allocated memory : 48.57 MB
executable : cMUDPro.exe
exec. date/time : 2007-12-13 13:28
version : 2.17.0.0
madExcept version : 3.0b
callstack crc : $68a1af09, $27765db3, $b6e06d8c
count : 2
exception number : 1
exception class : EAccessViolation
exception message : Access violation at address 00404E18 in module 'cMUDPro.exe'. Read of address 50435221.
Main ($1688):
00404e18 +008 cMUDPro.exe System TObject.InheritsFrom
0077a5b8 +080 cMUDPro.exe Lister 164 +8 pList.RemoveAll
00e0d3ba +00a cMUDPro.exe CodeGen 1625 +2 TCodeGen.ClearReferences
00e0a5d4 +08c cMUDPro.exe CodeGen 527 +15 TCodeGen.Clear
00dfe2ad +041 cMUDPro.exe Syntaxer 344 +6 TSyntaxClass.InternalCompile
00dfe389 +011 cMUDPro.exe Syntaxer 367 +1 TSyntaxClass.Compile
00d46a66 +056 cMUDPro.exe MAIN 6072 +2 TMUDForm.ExecThread
00d47b24 +410 cMUDPro.exe MAIN 6359 +43 TMUDForm.NewProcessStr
00d4666e +026 cMUDPro.exe MAIN 5990 +2 TMUDForm.ProcessStr
00d4614a +04a cMUDPro.exe MAIN 5865 +12 TMUDForm.ParseCommand
00d5638e +22e cMUDPro.exe MAIN 11452 +34 TMUDForm.Command
00d5770e +252 cMUDPro.exe MAIN 11802 +37 TMUDForm.FormKeyDown
00d7f982 +012 cMUDPro.exe MAIN 20405 +1 TMUDForm.UserInKeyDown
004e7e8c +030 cMUDPro.exe Controls 7026 +1 TWinControl.KeyDown
009abbba +012 cMUDPro.exe RVScroll 548 +1 TRVScroller.KeyDown
0095a7c1 +011 cMUDPro.exe RichView 1842 +1 TCustomRichView.KeyDown
00936d98 +090 cMUDPro.exe RVEdit 1625 +14 TCustomRichViewEdit.KeyDown
004e7f04 +06c cMUDPro.exe Controls 7043 +10 TWinControl.DoKeyDown
004e7f32 +012 cMUDPro.exe Controls 7052 +1 TWinControl.WMKeyDown
00936c71 +1d5 cMUDPro.exe RVEdit 1591 +36 TCustomRichViewEdit.WMKeyDown
004e258a +036 cMUDPro.exe Controls 4552 +5 TControl.Perform
004e8cb5 +0dd cMUDPro.exe Controls 7471 +18 TWinControl.CNKeyDown
004e287f +1df cMUDPro.exe Controls 4645 +53 TControl.WndProc
004e65ae +18e cMUDPro.exe Controls 6342 +33 TWinControl.WndProc
004e6180 +034 cMUDPro.exe Controls 6237 +3 TWinControl.MainWndProc
004803f8 +014 cMUDPro.exe Classes 10966 +8 StdWndProc
7e4196c2 +00a USER32.dll DispatchMessageA
0050b734 +0ac cMUDPro.exe Forms 6873 +13 TApplication.ProcessMessage
0050b77b +00f cMUDPro.exe Forms 6892 +1 TApplication.HandleMessage
0050ba16 +0a6 cMUDPro.exe Forms 6976 +16 TApplication.Run
00e7be74 +088 cMUDPro.exe cMUDPro 350 +19 initialization
7c91312f +069 ntdll.dll RtlUnicodeStringToAnsiString
7c812b94 +0b6 kernel32.dll GetVersionExA
thread $1700:
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
7c90e397 +0a ntdll.dll NtReplyWaitReceivePortEx
0045d9a9 +0d cMUDPro.exe madExcept CallThreadProcSafe
0045da21 +45 cMUDPro.exe madExcept ThreadExceptFrame
>> created by Main ($1688) at:
77e875c7 +00 RPCRT4.dll
thread $112c: <priority:15>
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
7c90e9a9 +0a ntdll.dll NtWaitForMultipleObjects
7c8094dc +00 kernel32.dll WaitForMultipleObjectsEx
7c80a070 +13 kernel32.dll WaitForMultipleObjects
thread $17cc: <priority:15>
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
7c90e9a9 +0a ntdll.dll NtWaitForMultipleObjects
7c8094dc +00 kernel32.dll WaitForMultipleObjectsEx
7c80a070 +13 kernel32.dll WaitForMultipleObjects
thread $1130: <priority:15>
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
7c90e9a9 +0a ntdll.dll NtWaitForMultipleObjects
7c8094dc +00 kernel32.dll WaitForMultipleObjectsEx
7c80a070 +13 kernel32.dll WaitForMultipleObjects
UpdateThread ($12a0): <suspended>
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
7c90e859 +0a ntdll.dll NtSuspendThread
7c83973e +0c kernel32.dll SuspendThread
0047e3d1 +31 cMUDPro.exe Classes 9648 +5 TThread.Suspend
0090551e +6e cMUDPro.exe IdThread 333 +20 TIdThread.Execute
0047deda +36 cMUDPro.exe Classes 9372 +7 ThreadProc
00405acc +28 cMUDPro.exe System ThreadWrapper
thread $65c:
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
7c90d85a +0a ntdll.dll NtDelayExecution
7c8023e7 +4b kernel32.dll SleepEx
7c80244c +0a kernel32.dll Sleep
thread $11d8:
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
7c90e9a9 +0a ntdll.dll NtWaitForMultipleObjects
7c8094dc +00 kernel32.dll WaitForMultipleObjectsEx
7e4195f3 +00 USER32.dll MsgWaitForMultipleObjectsEx
7e4196a3 +1a USER32.dll MsgWaitForMultipleObjects
thread $610:
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
7c90e9be +0a ntdll.dll NtWaitForSingleObject
7c8025c5 +85 kernel32.dll WaitForSingleObjectEx
7c80252d +0d kernel32.dll WaitForSingleObject
0045d9a9 +0d cMUDPro.exe madExcept CallThreadProcSafe
0045da21 +45 cMUDPro.exe madExcept ThreadExceptFrame
>> created by Main ($1688) at:
71abe9ab +26 ws2_32.dll WSAAsyncGetHostByName
thread $14d8: <priority:1>
7c90eb94 +0 ntdll.dll KiFastSystemCallRet
7c90e319 +a ntdll.dll NtRemoveIoCompletion
thread $10f8:
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
7c90e397 +0a ntdll.dll NtReplyWaitReceivePortEx
0045d9a9 +0d cMUDPro.exe madExcept CallThreadProcSafe
0045da21 +45 cMUDPro.exe madExcept ThreadExceptFrame
>> created by thread $1700 at:
77e875c7 +00 RPCRT4.dll
thread $13a8: <priority:2>
7c90eb94 +000 ntdll.dll KiFastSystemCallRet
7e42e03d +03b USER32.dll GetMessageA
7c91503e +043 ntdll.dll bsearch
0045d9a9 +00d cMUDPro.exe madExcept CallThreadProcSafe
0045da21 +045 cMUDPro.exe madExcept ThreadExceptFrame
7c91503e +043 ntdll.dll bsearch
>> created by Main ($1688) at:
76b448af +258 winmm.dll PlaySoundW
Lusternia Comline ($1398): <suspended>
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
7c90e859 +0a ntdll.dll NtSuspendThread
7c83973e +0c kernel32.dll SuspendThread
0047e3d1 +31 cMUDPro.exe Classes 9648 +5 TThread.Suspend
0090551e +6e cMUDPro.exe IdThread 333 +20 TIdThread.Execute
0047deda +36 cMUDPro.exe Classes 9372 +7 ThreadProc
00405acc +28 cMUDPro.exe System ThreadWrapper
|
I've created all my numerous modules from text scripts, importing them through the command line and doing so offline. I keep running into these types of exceptions with some regularity, however, I'm afraid, and I would like to know what exactly I'm doing that's causing the crashes.
The most recent type I tried to test this, I loaded the client and my profile, saw the settings missing, loaded my script, saved the package explicitly with File/Save, and then tried to close CMUD but got a slightly different exception. Was it still compiling or saving when CMUD tried to quit and it didn't wait for things to happen before shutting down?
| Code: |
date/time : 2007-12-14, 13:54:48, 311ms
operating system : Windows XP Service Pack 2 build 2600
system language : English
system up time : 1 day 20 hours
program up time : 25 seconds
processors : 2x Intel(R) Xeon(TM) CPU 3.20GHz
physical memory : 903/2046 MB (free/total)
free disk space : (C:) 195.45 GB
display mode : 1600x1200, 32 bit
process id : $414
allocated memory : 39.30 MB
executable : cMUDPro.exe
exec. date/time : 2007-12-13 13:28
version : 2.17.0.0
madExcept version : 3.0b
callstack crc : $68a1af09, $9b0b9f7d, $e0c54d21
count : 2
exception number : 1
exception class : EAccessViolation
exception message : Access violation at address 00404E18 in module 'cMUDPro.exe'. Read of address FFFFFFDD.
Main ($13f4):
00404e18 +00008 cMUDPro.exe System TObject.InheritsFrom
0077a5b8 +00080 cMUDPro.exe Lister 164 +8 pList.RemoveAll
00e0d3ba +0000a cMUDPro.exe CodeGen 1625 +2 TCodeGen.ClearReferences
00e0a5d4 +0008c cMUDPro.exe CodeGen 527 +15 TCodeGen.Clear
00dfe91b +00043 cMUDPro.exe Syntaxer 578 +6 TSyntaxClass.Init
00dfe994 +00018 cMUDPro.exe Syntaxer 611 +2 TSyntaxClass.Cleanup
00d5175a +00056 cMUDPro.exe MAIN 9616 +7 TMUDForm.FormClose
00502d3d +00029 cMUDPro.exe Forms 2845 +1 TCustomForm.DoClose
00a25459 +00005 cMUDPro.exe MultiForm 219 +1 TMultForm.DoClose
00d7fdf8 +00000 cMUDPro.exe MAIN 20606 +0 TMUDForm.DoClose
0050714d +0006d cMUDPro.exe Forms 4624 +12 TCustomForm.Close
00a24f96 +0002a cMUDPro.exe MultiForm 69 +4 CloseFree
00d050ad +000d9 cMUDPro.exe PARENT 5673 +33 TParentForm.FormClose
00502d3d +00029 cMUDPro.exe Forms 2845 +1 TCustomForm.DoClose
00a25459 +00005 cMUDPro.exe MultiForm 219 +1 TMultForm.DoClose
00d04dce +00006 cMUDPro.exe PARENT 5605 +1 TParentForm.DoClose
0050714d +0006d cMUDPro.exe Forms 4624 +12 TCustomForm.Close
005060db +0000f cMUDPro.exe Forms 4182 +1 TCustomForm.WMClose
004e287f +001df cMUDPro.exe Controls 4645 +53 TControl.WndProc
004e65ae +0018e cMUDPro.exe Controls 6342 +33 TWinControl.WndProc
0050368c +00478 cMUDPro.exe Forms 3098 +103 TCustomForm.WndProc
00ca1878 +00020 cMUDPro.exe DXSounds 2013 +9 TCustomDXSound.FormWndProc
00c9efd4 +0000c cMUDPro.exe DXClass 572 +1 TControlSubClass.WndProc
004e6180 +00034 cMUDPro.exe Controls 6237 +3 TWinControl.MainWndProc
004803f8 +00014 cMUDPro.exe Classes 10966 +8 StdWndProc
7e41f658 +00016 USER32.dll CallWindowProcA
006d7243 +000a7 cMUDPro.exe aqDockingUtils 1728 +7 CallDefWndProc
006d7331 +000dd cMUDPro.exe aqDockingUtils 1776 +41 TaqWindowEventFilter.WndProc
004803f8 +00014 cMUDPro.exe Classes 10966 +8 StdWndProc
7c90eae0 +00010 ntdll.dll KiUserCallbackDispatcher
7e42f117 +11c29 USER32.dll DefWindowProcA
7e41f658 +00016 USER32.dll CallWindowProcA
004e66f4 +0013c cMUDPro.exe Controls 6369 +23 TWinControl.DefaultHandler
00505100 +00084 cMUDPro.exe Forms 3770 +7 TCustomForm.DefaultHandler
004e8311 +000ad cMUDPro.exe Controls 7172 +16 TWinControl.WMSysCommand
0050620d +00071 cMUDPro.exe Forms 4213 +7 TCustomForm.WMSysCommand
0077c26c +00034 cMUDPro.exe zsForm 381 +3 TzForm.WMSysCommand
00a25c28 +00038 cMUDPro.exe MultiForm 409 +3 TMultForm.WMSysCommand
004e287f +001df cMUDPro.exe Controls 4645 +53 TControl.WndProc
004e65ae +0018e cMUDPro.exe Controls 6342 +33 TWinControl.WndProc
0050368c +00478 cMUDPro.exe Forms 3098 +103 TCustomForm.WndProc
00ca1878 +00020 cMUDPro.exe DXSounds 2013 +9 TCustomDXSound.FormWndProc
00c9efd4 +0000c cMUDPro.exe DXClass 572 +1 TControlSubClass.WndProc
004e6180 +00034 cMUDPro.exe Controls 6237 +3 TWinControl.MainWndProc
004803f8 +00014 cMUDPro.exe Classes 10966 +8 StdWndProc
7e41f658 +00016 USER32.dll CallWindowProcA
006d7243 +000a7 cMUDPro.exe aqDockingUtils 1728 +7 CallDefWndProc
006d7331 +000dd cMUDPro.exe aqDockingUtils 1776 +41 TaqWindowEventFilter.WndProc
004803f8 +00014 cMUDPro.exe Classes 10966 +8 StdWndProc
7c90eae0 +00010 ntdll.dll KiUserCallbackDispatcher
7e41b8fe +00044 USER32.dll SendMessageW
7e42f117 +11c29 USER32.dll DefWindowProcA
7e41f658 +00016 USER32.dll CallWindowProcA
004e66f4 +0013c cMUDPro.exe Controls 6369 +23 TWinControl.DefaultHandler
00505100 +00084 cMUDPro.exe Forms 3770 +7 TCustomForm.DefaultHandler
004e2c4b +0001f cMUDPro.exe Controls 4743 +2 TControl.WMNCLButtonDown
00505e17 +000a7 cMUDPro.exe Forms 4098 +12 TCustomForm.WMNCLButtonDown
004e287f +001df cMUDPro.exe Controls 4645 +53 TControl.WndProc
004e65ae +0018e cMUDPro.exe Controls 6342 +33 TWinControl.WndProc
0050368c +00478 cMUDPro.exe Forms 3098 +103 TCustomForm.WndProc
00ca1878 +00020 cMUDPro.exe DXSounds 2013 +9 TCustomDXSound.FormWndProc
00c9efd4 +0000c cMUDPro.exe DXClass 572 +1 TControlSubClass.WndProc
004e6180 +00034 cMUDPro.exe Controls 6237 +3 TWinControl.MainWndProc
004803f8 +00014 cMUDPro.exe Classes 10966 +8 StdWndProc
7e41f658 +00016 USER32.dll CallWindowProcA
006d7243 +000a7 cMUDPro.exe aqDockingUtils 1728 +7 CallDefWndProc
006d7331 +000dd cMUDPro.exe aqDockingUtils 1776 +41 TaqWindowEventFilter.WndProc
004803f8 +00014 cMUDPro.exe Classes 10966 +8 StdWndProc
7e4196c2 +0000a USER32.dll DispatchMessageA
0050b734 +000ac cMUDPro.exe Forms 6873 +13 TApplication.ProcessMessage
0050b77b +0000f cMUDPro.exe Forms 6892 +1 TApplication.HandleMessage
0050ba16 +000a6 cMUDPro.exe Forms 6976 +16 TApplication.Run
00e7be74 +00088 cMUDPro.exe cMUDPro 350 +19 initialization
7c91312f +00069 ntdll.dll RtlUnicodeStringToAnsiString
7c812b94 +000b6 kernel32.dll GetVersionExA
thread $17e8:
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
7c90e9a9 +0a ntdll.dll NtWaitForMultipleObjects
7c910942 +25 ntdll.dll RtlAcquirePebLock
0045d9a9 +0d cMUDPro.exe madExcept CallThreadProcSafe
0045da21 +45 cMUDPro.exe madExcept ThreadExceptFrame
7c910942 +25 ntdll.dll RtlAcquirePebLock
>> created by Main ($13f4) at:
77df9f4c +00 ADVAPI32.dll
thread $aec:
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
7c90e397 +0a ntdll.dll NtReplyWaitReceivePortEx
0045d9a9 +0d cMUDPro.exe madExcept CallThreadProcSafe
0045da21 +45 cMUDPro.exe madExcept ThreadExceptFrame
>> created by Main ($13f4) at:
77e875c7 +00 RPCRT4.dll
thread $174c:
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
7c90d85a +0a ntdll.dll NtDelayExecution
7c8023e7 +4b kernel32.dll SleepEx
7c80244c +0a kernel32.dll Sleep
thread $1094: <priority:15>
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
7c90e9a9 +0a ntdll.dll NtWaitForMultipleObjects
7c8094dc +00 kernel32.dll WaitForMultipleObjectsEx
7c80a070 +13 kernel32.dll WaitForMultipleObjects
thread $17ac: <priority:15>
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
7c90e9a9 +0a ntdll.dll NtWaitForMultipleObjects
7c8094dc +00 kernel32.dll WaitForMultipleObjectsEx
7c80a070 +13 kernel32.dll WaitForMultipleObjects
thread $14ec: <priority:15>
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
7c90e9a9 +0a ntdll.dll NtWaitForMultipleObjects
7c8094dc +00 kernel32.dll WaitForMultipleObjectsEx
7c80a070 +13 kernel32.dll WaitForMultipleObjects
UpdateThread ($1698): <suspended>
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
7c90e859 +0a ntdll.dll NtSuspendThread
7c83973e +0c kernel32.dll SuspendThread
0047e3d1 +31 cMUDPro.exe Classes 9648 +5 TThread.Suspend
0090551e +6e cMUDPro.exe IdThread 333 +20 TIdThread.Execute
0047deda +36 cMUDPro.exe Classes 9372 +7 ThreadProc
00405acc +28 cMUDPro.exe System ThreadWrapper
thread $1494:
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
7c90d85a +0a ntdll.dll NtDelayExecution
7c8023e7 +4b kernel32.dll SleepEx
7c80244c +0a kernel32.dll Sleep
thread $1270:
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
7c90e9a9 +0a ntdll.dll NtWaitForMultipleObjects
7c8094dc +00 kernel32.dll WaitForMultipleObjectsEx
7e4195f3 +00 USER32.dll MsgWaitForMultipleObjectsEx
7e4196a3 +1a USER32.dll MsgWaitForMultipleObjects
Lusternia Comline ($16f8): <suspended>
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
7c90e859 +0a ntdll.dll NtSuspendThread
7c83973e +0c kernel32.dll SuspendThread
0047e3d1 +31 cMUDPro.exe Classes 9648 +5 TThread.Suspend
0090551e +6e cMUDPro.exe IdThread 333 +20 TIdThread.Execute
0047deda +36 cMUDPro.exe Classes 9372 +7 ThreadProc
00405acc +28 cMUDPro.exe System ThreadWrapper
thread $1498: <priority:2>
7c90eb94 +000 ntdll.dll KiFastSystemCallRet
7e42e03d +03b USER32.dll GetMessageA
7c91503e +043 ntdll.dll bsearch
0045d9a9 +00d cMUDPro.exe madExcept CallThreadProcSafe
0045da21 +045 cMUDPro.exe madExcept ThreadExceptFrame
7c91503e +043 ntdll.dll bsearch
>> created by Main ($13f4) at:
76b448af +258 winmm.dll PlaySoundW
|
|
|
|
|
 |
Zugg MASTER

Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Fri Dec 14, 2007 8:26 pm |
Looks like it might be trying to clear a reference to some setting that no longer exists. Unfortunately I don't have a lot to go on here. I haven't seen any of my settings randomly disappear, and you do have a *very* complex set of settings (judging by the package that you sent me). Without some way to reproduce this, it's going to be nearly impossible for me to find the problem. You'll need to study which settings are disappearing and try to figure out what they have in common.
|
|
|
|
 |
Larkin Wizard

Joined: 25 Mar 2003 Posts: 1113 Location: USA
|
Posted: Fri Dec 14, 2007 8:55 pm |
Definitely. I didn't know if the crash dumps would give any clues, really, but figured it couldn't hurt to post to see if anyone else has seen something similar and might help find a common element. If I figure anything more out, I'll definitely add it here.
|
|
|
|
 |
Zugg MASTER

Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Fri Dec 14, 2007 8:59 pm |
The crash dump *did* help. It was trying to clear out a reference list (pointers to other settings). Part of this list cleanup routine checks to see if any COM objects were in the list or anything else that might need to have a reference count decremented. If an object was released somewhere else and the pointer to it now points to uninitialized memory, the crash you got above could occur when Delphi tried to determine if the pointer still pointed to a valid TObject descendant.
The new Delphi 2007 book from Marco Cantu that I just got a few days ago actually has a routine for checking to see if a random memory pointer actually points to a valid TObject descendant. I added that test to the list cleanup routine, so at least you shouldn't get that specific crash anymore. |
|
|
|
 |
Doxedon Novice
Joined: 01 Dec 2007 Posts: 49
|
Posted: Sun Dec 16, 2007 3:08 am |
I'm assuming that its a related problem. It's the only one I definitely know I added and didn't delete (as in, I'm not sure if any others are missing) and is simply not there today. I added a trigger in yesterday, that was working for over 4+ hours durring the time I was logged in.
I logged in this morning and noticed that the trigger wasn't firing. It no longer existed in my module. There's nothing in the module that disables or deletes triggers.
Now that I know it has occured, I'll keep a watch out for this reoccuring. |
|
|
|
 |
|
|
|
|
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
|
|