|
Vijilante SubAdmin
Joined: 18 Nov 2001 Posts: 5182
|
Posted: Sat Oct 13, 2007 1:15 pm
[2.06] Crash while converting |
When converting my .mud for the first time I got a crash as the conversion neared completion. The file converts properly when done through an untitled session. I haven't gotten to testing this with other files, so it is possible it is something evil amongst my settings that misbehaves during the to opening of a session. If no one else runs into this then I will spend some time to diagnose what the bad item is.
Procedure
1. Fresh Install to clean directory
2. Launch CMud
3. Import Sessions
4. Open Session Offline
5. Wait for crash
Code: |
date/time : 2007-10-13, 09:15:14, 951ms
operating system : Windows XP Service Pack 2 build 2600
system language : English
system up time : 25 days 2 hours
program up time : 2 minutes 16 seconds
processor : AMD Athlon(tm) Processor
physical memory : 143/383 MB (free/total)
free disk space : (C:) 14.09 GB
display mode : 1024x768, 32 bit
process id : $da4
allocated memory : 32.02 MB
executable : CMUD.exe
exec. date/time : 2007-10-12 22:49
version : 2.6.0.0
madExcept version : 3.0b
callstack crc : $1b0bbdbf, $3aee6887, $3aee6887
count : 2
exception number : 1
exception class : EAccessViolation
exception message : Access violation at address 009B4454 in module 'CMUD.exe'. Read of address 00000048.
Main ($16d4):
009b4454 +000 CMUD.exe OptionDat 1364 +0 PrefData.Get_prefVarChar
00d41fc5 +1c9 CMUD.exe CodeExec 1412 +31 HandleVarRef
00d4712b +443 CMUD.exe CodeExec 2886 +57 TCodeExec.InternalExecute
00d3eda6 +08e CMUD.exe CodeExec 474 +12 TCodeExec.Expression
00d361f2 +086 CMUD.exe PrefDat 10599 +10 TCacheNode.GetCaption
00d32beb +0bb CMUD.exe PrefDat 9132 +15 PrefRec.InternalGetCaption
00d32ce5 +00d CMUD.exe PrefDat 9171 +1 PrefRec.GetCaption
00d2280f +02f CMUD.exe PrefDat 2328 +4 StatusRec.Invalidate
00d226b0 +010 CMUD.exe PrefDat 2300 +2 StatusRec.ChangeParent
00d313bd +591 CMUD.exe PrefDat 8691 +61 PrefRec.UpdateFromDB
00d23d46 +112 CMUD.exe PrefDat 2775 +16 PkgData.AfterPost
009005e3 +07b CMUD.exe DataSetHandler 179 +7 THandlerList.CallHandlers
00900ca8 +004 CMUD.exe DataSetHandler 255 +0 THandlerList.DoAfterPost
006535ad +021 CMUD.exe DB 10763 +1 TDataSet.DoAfterPost
00667e53 +053 CMUD.exe kbmMemTable 14898 +12 TkbmCustomMemTable.DoAfterPost
00652958 +088 CMUD.exe DB 10261 +11 TDataSet.Post
006532c6 +04e CMUD.exe DB 10669 +7 TDataSet.CheckBrowseMode
00652bb2 +00a CMUD.exe DB 10320 +1 TDataSet.BeginInsertAppend
0065285d +00d CMUD.exe DB 10237 +1 TDataSet.Append
00d67a7c +044 CMUD.exe PkgDM 1926 +3 TPkg.AddSetting
00d6b027 +177 CMUD.exe PkgDM 2884 +19 ReadStatus
00d6cf88 +5dc CMUD.exe PkgDM 3430 +114 TPkg.LoadSetting
00d67963 +163 CMUD.exe PkgDM 1887 +19 TPkg.Open
00d24b77 +347 CMUD.exe PrefDat 3212 +66 PkgData.Load
00c5035e +1da CMUD.exe PARENT 2339 +106 TParentForm.NewWindow
00c54459 +399 CMUD.exe PARENT 3907 +44 TParentForm.NewMUD
00c50782 +01a CMUD.exe PARENT 2600 +2 MUDWindow
00c5083b +08f CMUD.exe PARENT 2618 +14 TParentForm.CharAction
00c508e5 +005 CMUD.exe PARENT 2642 +0 TParentForm.DoAction
00505f8b +1df CMUD.exe Controls 4645 +53 TControl.WndProc
00509cba +18e CMUD.exe Controls 6342 +33 TWinControl.WndProc
00526d98 +478 CMUD.exe Forms 3098 +103 TCustomForm.WndProc
00505c96 +036 CMUD.exe Controls 4552 +5 TControl.Perform
00bfc094 +020 CMUD.exe DXSounds 2013 +9 TCustomDXSound.FormWndProc
00bf97f0 +00c CMUD.exe DXClass 572 +1 TControlSubClass.WndProc
0050988c +034 CMUD.exe Controls 6237 +3 TWinControl.MainWndProc
0047fef0 +014 CMUD.exe Classes 10966 +8 StdWndProc
77d4e361 +016 USER32.dll CallWindowProcA
006d5e8f +0a7 CMUD.exe aqDockingUtils 1728 +7 CallDefWndProc
006d5f7d +0dd CMUD.exe aqDockingUtils 1776 +41 TaqWindowEventFilter.WndProc
0047fef0 +014 CMUD.exe Classes 10966 +8 StdWndProc
77d4bcc7 +00a USER32.dll DispatchMessageA
0052ee40 +0ac CMUD.exe Forms 6873 +13 TApplication.ProcessMessage
0052ee87 +00f CMUD.exe Forms 6892 +1 TApplication.HandleMessage
0052f122 +0a6 CMUD.exe Forms 6976 +16 TApplication.Run
00db9538 +088 CMUD.exe CMUD 344 +18 initialization
7c91312f +069 ntdll.dll RtlUnicodeStringToAnsiString
7c812907 +0b6 kernel32.dll GetVersionExA |
I also repeated this crash on a relaunch, open session offline. |
|
_________________ The only good questions are the ones we have never answered before.
Search the Forums |
|
|
|
Seb Wizard
Joined: 14 Aug 2004 Posts: 1269
|
Posted: Sat Oct 13, 2007 1:33 pm |
What is your variable special character? @? (I see the last thing CMUD was doing was trying to get it.)
Also, when you reopen CMUD, is it trying to reconvert your .mud file or open the new package? (Probably best to check via Sessions Window, Edit, Files, or whatever.) |
|
|
|
Seb Wizard
Joined: 14 Aug 2004 Posts: 1269
|
Posted: Sat Oct 13, 2007 3:13 pm |
I converted my *.mud file without a crash... Although I didn't use the Import Sessions wizard - I got CMUD to import my character file first and then convert my *.mud file when I opened the session.
|
|
|
|
Vijilante SubAdmin
Joined: 18 Nov 2001 Posts: 5182
|
Posted: Sat Oct 13, 2007 4:33 pm |
This may be tied to other bugs. Even though I could get the conversion to go through when using an untitled session and opening the .mud directly; I can't it to save the results at all. Hopefully I can narrow down what the problem portion is before too long.
|
|
_________________ The only good questions are the ones we have never answered before.
Search the Forums |
|
|
|
Vijilante SubAdmin
Joined: 18 Nov 2001 Posts: 5182
|
Posted: Sat Oct 13, 2007 6:10 pm |
I have narrowed this down to a single class. Oddly the variables cause the problems here. There are different procedures to note different problems that appear, but they are all traceable to this class.
Among other things to note: when I imported my full settings by opening the .mud from an untitled session no results would be saved to the package. However importing this class by itself does save a package correctly. I finally managed to get what looks to be a good import by doing a few extra copies and moves around.
Procedure A (causes crash above)
1. Copy the .mud file some place easy to work with
2. Launch CMud
3. Create a session, setting the .mud as the main package
4. Save the session settings
5. Open the new session offline
Procedure B (causes hang in package editor or hard Access Violation crash)
1. Launch CMud
2. Close Sessions Window (ESC)
3. Open Package Editor (CTRL-G)
4. Select File|Open from the Package Editor menu
5. Locate the .mud and open it
6. Once conversion is complete copying or moving the variables will cause the problem
6a. Moving the first variable to the untitled package by dragging it to that tab cause the hang
6b. Copying the variable to the untitled package with r-click Copy To, then examining the copy causes AV
File sent is butterfly.zip |
|
_________________ The only good questions are the ones we have never answered before.
Search the Forums |
|
|
|
Vijilante SubAdmin
Joined: 18 Nov 2001 Posts: 5182
|
Posted: Sat Oct 13, 2007 6:22 pm |
This gets even weirder. If you open another session offline first then the file will convert properly.
|
|
_________________ The only good questions are the ones we have never answered before.
Search the Forums |
|
|
|
Vijilante SubAdmin
Joined: 18 Nov 2001 Posts: 5182
|
Posted: Sat Oct 13, 2007 6:52 pm |
File uploaded to Guru area incase you didn't get the email.
|
|
_________________ The only good questions are the ones we have never answered before.
Search the Forums |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Mon Oct 15, 2007 10:49 pm |
I'll download your file and make this a priority for my bug testing tomorrow (Tuesday). Sorry I didn't respond quicker, but I'm going through the forums today and actually fixing bugs instead of just adding them to the bug list.
|
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Oct 16, 2007 11:08 pm |
Found the bug and fixed it for v2.07. It was a bug in the status bar import routine. I'm surprised I hadn't run into it when importing my own files. Not only does it cause this crash, but I think the same bug is responsible for your status bar items being put in the wrong class (or top level of the package). Thanks for the files...it was actually easy to fix once I found it :)
|
|
|
|
|
|