|
Arde Enchanter
Joined: 09 Sep 2007 Posts: 605
|
Posted: Sun Aug 03, 2008 7:22 pm
[2.35] CMUD crashes while loading a package (was: tired of losing my work) |
I had CMUD crash today. I was adding some new scripts to my package for several hours, restart CMUD later, but it failed to load my package. Accidentally, I've made an XML file of my settings while I work on my scripts so I managed to restore some code, but scripts for the last 2 hours of my work are gone.
I want to ask for XML auto-export option at closing a session. Will it be 2.XX or 3.XX version - I don't care. It seems that text files of any kind is the best way to secure my work. Backup of session package file is useless as it always get corrupted along with main package file. Why CMUD ever creates it then? Let's add something that *really* can help. With auto-export option enabled, CMUD could create an xml file of session package when user about to close his/her session. The algorithm is quite simple and will not be hard to implement: 1) Copy existing package.xml to package.xml.bak and 2) Export current session to package.xml. This should be enough to recreate package in any situation without losing anything.
===========================
Code: |
date/time : 2008-08-03
operating system : Windows XP Service Pack 2 build 2600
system up time : 6 hours 44 minutes
program up time : 5 seconds
processors : 2x Intel(R) Pentium(R) D CPU 3.40GHz
physical memory : 1503/2046 MB (free/total)
free disk space : (D:) 48,23 GB
display mode : 1680x1050, 32 bit
process id : $100
allocated memory : 30,17 MB
executable : cMUD.exe
exec. date/time : 2008-08-01 01:15
version : 2.35.0.0
compiled with : BCB 2006/07
madExcept version : 3.0h
callstack crc : $58300b49, $d6dc6ddc, $d6dc6ddc
count : 2
exception number : 1
exception class : EAccessViolation
exception message : Access violation at address 00404DA2 in module 'cMUD.exe'. Read of address 00000010.
Main ($2fc):
00404da2 +0006 cMUD.exe System 12 +0 TObject.Free
0057706d +0015 cMUD.exe cxClasses 1518 +3 TcxObjectLinkController.RemoveLink
7c90eaf5 +0009 ntdll.dll KiUserExceptionDispatcher
004055ca +005a cMUD.exe System 12 +0 @HandleFinally
7c937b43 +0103 ntdll.dll RtlUnwind
0040538e +00d2 cMUD.exe System 12 +0 @HandleAnyException
005152d3 +0043 cMUD.exe DB TDataSet.SetFieldData
7c90eae0 +0010 ntdll.dll KiUserCallbackDispatcher
0048cd5a +0002 cMUD.exe SyncObjs TCriticalSection.Leave
00623a29 +0009 cMUD.exe kbmMemTable 6062 +5 TkbmCommon.Unlock
00629dcf +0267 cMUD.exe kbmMemTable 11135 +81 TkbmCustomMemTable.SetFieldData
00405642 +002a cMUD.exe System 12 +0 @HandleFinallyInternal
7c937b43 +0103 ntdll.dll RtlUnwind
0048cd5a +0002 cMUD.exe SyncObjs TCriticalSection.Leave
00623a29 +0009 cMUD.exe kbmMemTable 6062 +5 TkbmCommon.Unlock
00629dcf +0267 cMUD.exe kbmMemTable 11135 +81 TkbmCustomMemTable.SetFieldData
0048cd5a +0002 cMUD.exe SyncObjs TCriticalSection.Leave
00623a29 +0009 cMUD.exe kbmMemTable 6062 +5 TkbmCommon.Unlock
0062335c +0018 cMUD.exe kbmMemTable 5725 +16 TkbmCommon.GetFieldPointer
0048cd5a +0002 cMUD.exe SyncObjs TCriticalSection.Leave
00623a29 +0009 cMUD.exe kbmMemTable 6062 +5 TkbmCommon.Unlock
00629b35 +0231 cMUD.exe kbmMemTable 10949 +83 TkbmCustomMemTable.GetFieldData
005151b1 +0045 cMUD.exe DB TDataSet.GetFieldData
7c90eaf5 +0009 ntdll.dll KiUserExceptionDispatcher
004055ca +005a cMUD.exe System 12 +0 @HandleFinally
7c937b43 +0103 ntdll.dll RtlUnwind
0040538e +00d2 cMUD.exe System 12 +0 @HandleAnyException
7c90eaf5 +0009 ntdll.dll KiUserExceptionDispatcher
00405642 +002a cMUD.exe System 12 +0 @HandleFinallyInternal
7c937b43 +0103 ntdll.dll RtlUnwind
0040538e +00d2 cMUD.exe System 12 +0 @HandleAnyException
005151b1 +0045 cMUD.exe DB TDataSet.GetFieldData
004bd48f +0063 cMUD.exe Controls TWinControl.AlignControl
004b8b24 +0008 cMUD.exe Controls TControl.RequestAlign
004c1d51 +0035 cMUD.exe Controls TWinControl.AdjustSize
004bd421 +00f9 cMUD.exe Controls TWinControl.AlignControls
004bd48f +0063 cMUD.exe Controls TWinControl.AlignControl
7c90eaf5 +0009 ntdll.dll KiUserExceptionDispatcher
00dc5bfc +0010 cMUD.exe PrefDat 13256 +2 PrefRec.SetInstanceMud
00d1cecb +03af cMUD.exe MAIN 8862 +53 TMUDForm.RaiseEvent
004055ca +005a cMUD.exe System 12 +0 @HandleFinally
7c937b43 +0103 ntdll.dll RtlUnwind
0048cd5a +0002 cMUD.exe SyncObjs TCriticalSection.Leave
00623a29 +0009 cMUD.exe kbmMemTable 6062 +5 TkbmCommon.Unlock
00629dcf +0267 cMUD.exe kbmMemTable 11135 +81 TkbmCustomMemTable.SetFieldData
0048cd5a +0002 cMUD.exe SyncObjs TCriticalSection.Leave
00623a29 +0009 cMUD.exe kbmMemTable 6062 +5 TkbmCommon.Unlock
006298ef +016b cMUD.exe kbmMemTable 10699 +57 TkbmCustomMemTable.GetActiveRecord
00405152 +0002 cMUD.exe System 12 +0 @ClassDestroy
00726544 +00e0 cMUD.exe Lister 146 +7 pNode.Destroy
7c90eaf5 +0009 ntdll.dll KiUserExceptionDispatcher
00517bd5 +0015 cMUD.exe DB TDataSet.DoOnNewRecord
00628987 +0133 cMUD.exe kbmMemTable 10054 +24 TkbmCustomMemTable.DoOnNewRecord
0051737f +0027 cMUD.exe DB TDataSet.EndInsertAppend
0051707c +0058 cMUD.exe DB TDataSet.Append
00df46c7 +0047 cMUD.exe PkgDM 2060 +3 TPkg.AddCursor
00da94cc +00ac cMUD.exe PrefDat 1966 +13 PrefRec.Make
00dac628 +0060 cMUD.exe PrefDat 3215 +3 PkgData.MakeWindow
00ccc389 +0189 cMUD.exe PARENT 2423 +102 TParentForm.NewWindow
00cd31b8 +02f4 cMUD.exe PARENT 5664 +48 TParentForm.FindMUD
00d3afbb +0263 cMUD.exe MAIN 17412 +8 HandleCase2
00d4950b +b1fb cMUD.exe MAIN 19886 +1899 HandleCase
00d49e78 +00a0 cMUD.exe MAIN 19901 +12 TMUDForm.ExecCommand
00dc85d9 +00a9 cMUD.exe CodeExec 928 +9 ExecMUDCommand
00dce590 +0454 cMUD.exe CodeExec 2581 +45 DoDefault
00dcf63b +0f2f cMUD.exe CodeExec 2851 +254 HandleCom
00dd0d7c +060c cMUD.exe CodeExec 3268 +108 TCodeExec.InternalExecute
00dc7635 +0051 cMUD.exe CodeExec 472 +8 TCodeExec.Execute
00dbd4e2 +00c2 cMUD.exe PrefDat 11263 +9 TCacheNode.Execute
00db974f +02ef cMUD.exe PrefDat 9689 +52 PrefRec.InternalExecute
00db999e +0022 cMUD.exe PrefDat 9746 +2 PrefRec.Execute
00d1531d +0151 cMUD.exe MAIN 6462 +14 TMUDForm.ExecThread
00d155d5 +0015 cMUD.exe MAIN 6509 +1 TMUDForm.ExecThread
00d1ceb3 +0397 cMUD.exe MAIN 8860 +51 TMUDForm.RaiseEvent
00d1d11f +00c3 cMUD.exe MAIN 8899 +10 TMUDForm.RaiseEvent
00d49e78 +00a0 cMUD.exe MAIN 19901 +12 TMUDForm.ExecCommand
00dc85d9 +00a9 cMUD.exe CodeExec 928 +9 ExecMUDCommand
00dce590 +0454 cMUD.exe CodeExec 2581 +45 DoDefault
00dcf63b +0f2f cMUD.exe CodeExec 2851 +254 HandleCom
00dd0d7c +060c cMUD.exe CodeExec 3268 +108 TCodeExec.InternalExecute
00dc76e6 +0072 cMUD.exe CodeExec 496 +9 TCodeExec.Execute
00dcea77 +036b cMUD.exe CodeExec 2628 +31 HandleCom
00dd0d7c +060c cMUD.exe CodeExec 3268 +108 TCodeExec.InternalExecute
00dc76e6 +0072 cMUD.exe CodeExec 496 +9 TCodeExec.Execute
00dcedb4 +06a8 cMUD.exe CodeExec 2683 +86 HandleCom
00dd0d7c +060c cMUD.exe CodeExec 3268 +108 TCodeExec.InternalExecute
00dc7635 +0051 cMUD.exe CodeExec 472 +8 TCodeExec.Execute
00dc9ba9 +0275 cMUD.exe CodeExec 1272 +39 ExecAlias
00dca9a5 +0201 cMUD.exe CodeExec 1501 +27 HandleVar
00dcb318 +06bc cMUD.exe CodeExec 1633 +88 HandleVarRef
00dd0cbe +054e cMUD.exe CodeExec 3248 +88 TCodeExec.InternalExecute
00dc78db +008f cMUD.exe CodeExec 538 +12 TCodeExec.Expression
00dbd7a8 +00a0 cMUD.exe PrefDat 11333 +12 TCacheNode.GetCaption
00db9930 +00b0 cMUD.exe PrefDat 9733 +16 PrefRec.InternalGetCaption
00db9a2d +000d cMUD.exe PrefDat 9772 +1 PrefRec.GetCaption
00daa628 +004c cMUD.exe PrefDat 2452 +5 StatusRec.Invalidate
00cdee76 +008a cMUD.exe PARENT 12135 +10 TParentForm.InvalidatePref
00dbd6e7 +0077 cMUD.exe PrefDat 11307 +8 TCacheNode.Expire
00dbcf4c +0034 cMUD.exe PrefDat 11139 +6 TCacheNode.Change
00da9a67 +01bb cMUD.exe PrefDat 2094 +19 PrefRec.SetValue
00dba150 +02bc cMUD.exe PrefDat 9943 +34 PrefRec.LoadCache
00da97e9 +0015 cMUD.exe PrefDat 2060 +1 PrefRec.GetValue
00dbd82f +0013 cMUD.exe PrefDat 11347 +1 TCacheNode.GetOrigStr
00dbd001 +0061 cMUD.exe PrefDat 11169 +5 TCacheNode.Compile
00dbd74a +0042 cMUD.exe PrefDat 11324 +3 TCacheNode.GetCaption
00db9930 +00b0 cMUD.exe PrefDat 9733 +16 PrefRec.InternalGetCaption
00db9a2d +000d cMUD.exe PrefDat 9772 +1 PrefRec.GetCaption
00d2395a +012a cMUD.exe MAIN 11560 +23 TMUDForm.CompileStatus
00d23b19 +00a1 cMUD.exe MAIN 11600 +9 TMUDForm.UpdateStatBar
00d23ca4 +004c cMUD.exe MAIN 11630 +6 TMUDForm.RefreshUpdate
00d23d53 +0033 cMUD.exe MAIN 11673 +5 TMUDForm.UpdateButtons
00d33e68 +06bc cMUD.exe MAIN 15601 +102 TMUDForm.UpdateOutput
00ccbd9b +008b cMUD.exe PARENT 2175 +12 InitWindow
00ccbfd1 +0209 cMUD.exe PARENT 2247 +64 NewWindow
00ccc10e +008e cMUD.exe PARENT 2287 +12 TParentForm.CreateWindows
00dac681 +0011 cMUD.exe PrefDat 3228 +1 PkgData.CreateWindows
00daccea +0516 cMUD.exe PrefDat 3411 +96 PkgData.Load
00ccc3f6 +01f6 cMUD.exe PARENT 2430 +109 TParentForm.NewWindow
00cd0828 +03c4 cMUD.exe PARENT 4124 +47 TParentForm.NewMUD
00ccc8fa +001a cMUD.exe PARENT 2721 +2 MUDWindow
00ccc9b2 +008e cMUD.exe PARENT 2739 +14 TParentForm.CharAction
00ccca5a +0006 cMUD.exe PARENT 2765 +0 TParentForm.DoAction
004bb003 +02bb cMUD.exe Controls TControl.WndProc
004bf007 +04fb cMUD.exe Controls TWinControl.WndProc
004a1567 +0553 cMUD.exe Forms TCustomForm.WndProc
00c721f0 +0020 cMUD.exe DXSounds 2128 +9 TCustomDXSound.FormWndProc
00c6f994 +000c cMUD.exe DXClass 635 +1 TControlSubClass.WndProc
004be730 +002c cMUD.exe Controls TWinControl.MainWndProc
0047c3e0 +0014 cMUD.exe Classes StdWndProc
77d3e361 +0016 USER32.dll CallWindowProcA
006d3e97 +00a7 cMUD.exe aqDockingUtils 1728 +7 CallDefWndProc
006d3f85 +00dd cMUD.exe aqDockingUtils 1776 +41 TaqWindowEventFilter.WndProc
0047c3e0 +0014 cMUD.exe Classes StdWndProc
77d3bcc7 +000a USER32.dll DispatchMessageA
004a96dc +00fc cMUD.exe Forms TApplication.ProcessMessage
004a9716 +000a cMUD.exe Forms TApplication.HandleMessage
004a9a0b +00b3 cMUD.exe Forms TApplication.Run
00e4f7c4 +0088 cMUD.exe CMUD 347 +20 initialization
7c91312f +0069 ntdll.dll RtlUnicodeStringToAnsiString
7c812907 +00b6 kernel32.dll GetVersionExA |
|
|
Last edited by Arde on Mon Aug 11, 2008 10:11 pm; edited 1 time in total |
|
|
|
Arde Enchanter
Joined: 09 Sep 2007 Posts: 605
|
Posted: Sun Aug 03, 2008 7:38 pm |
Nice. There are no obvious errors in last exported XML file, but CMUD can't recreate session from it. Interestingly, every time I trying create a package from XML file, I'm getting an Access Violation error at a different point.
Code: |
Main ($d18):
00ccbafe +172 cMUD.exe PARENT 2120 +18 TParentForm.DockModule
00ccbd58 +048 cMUD.exe PARENT 2169 +6 InitWindow
00ccbfd1 +209 cMUD.exe PARENT 2247 +64 NewWindow
00ccc10e +08e cMUD.exe PARENT 2287 +12 TParentForm.CreateWindows
00dac681 +011 cMUD.exe PrefDat 3228 +1 PkgData.CreateWindows
00daccea +516 cMUD.exe PrefDat 3411 +96 PkgData.Load
00ccc3f6 +1f6 cMUD.exe PARENT 2430 +109 TParentForm.NewWindow
00cd0828 +3c4 cMUD.exe PARENT 4124 +47 TParentForm.NewMUD
00ccc8fa +01a cMUD.exe PARENT 2721 +2 MUDWindow
00ccc9b2 +08e cMUD.exe PARENT 2739 +14 TParentForm.CharAction
00ccca5a +006 cMUD.exe PARENT 2765 +0 TParentForm.DoAction
004bb003 +2bb cMUD.exe Controls TControl.WndProc
004bf007 +4fb cMUD.exe Controls TWinControl.WndProc
004a1567 +553 cMUD.exe Forms TCustomForm.WndProc
00c721f0 +020 cMUD.exe DXSounds 2128 +9 TCustomDXSound.FormWndProc
00c6f994 +00c cMUD.exe DXClass 635 +1 TControlSubClass.WndProc
004be730 +02c cMUD.exe Controls TWinControl.MainWndProc
0047c3e0 +014 cMUD.exe Classes StdWndProc
77d3e361 +016 USER32.dll CallWindowProcA
006d3e97 +0a7 cMUD.exe aqDockingUtils 1728 +7 CallDefWndProc
006d3f85 +0dd cMUD.exe aqDockingUtils 1776 +41 TaqWindowEventFilter.WndProc
0047c3e0 +014 cMUD.exe Classes StdWndProc
77d3bcc7 +00a USER32.dll DispatchMessageA
004a96dc +0fc cMUD.exe Forms TApplication.ProcessMessage
004a9716 +00a cMUD.exe Forms TApplication.HandleMessage
004a9a0b +0b3 cMUD.exe Forms TApplication.Run
00e4f7c4 +088 cMUD.exe CMUD 347 +20 initialization
7c91312f +069 ntdll.dll RtlUnicodeStringToAnsiString
7c812907 +0b6 kernel32.dll GetVersionExA
===OR===
Main ($a40):
00d512c4 +004 cMUD.exe MAIN 21792 +1 TMUDForm.HasComLine
00d0d549 +02d cMUD.exe MAIN 4358 +4 TMUDForm.GetUserIn
00d1e775 +025 cMUD.exe MAIN 9415 +3 TMUDForm.FormShow
004a0bfd +015 cMUD.exe Forms TCustomForm.DoShow
00520ed4 +01c cMUD.exe CustomForm 76 +7 TzCustomForm.DoShow
00a6c192 +046 cMUD.exe MultiForm 264 +2 TMultForm.DoShow
004a4f35 +0a9 cMUD.exe Forms TCustomForm.CMShowingChanged
004bb003 +2bb cMUD.exe Controls TControl.WndProc
004bf007 +4fb cMUD.exe Controls TWinControl.WndProc
004a1567 +553 cMUD.exe Forms TCustomForm.WndProc
004bac90 +024 cMUD.exe Controls TControl.Perform
004be4ce +112 cMUD.exe Controls TWinControl.UpdateShowing
004be611 +0e5 cMUD.exe Controls TWinControl.UpdateControlState
004c0f46 +026 cMUD.exe Controls TWinControl.CMVisibleChanged
004bb003 +2bb cMUD.exe Controls TControl.WndProc
004bf007 +4fb cMUD.exe Controls TWinControl.WndProc
004a1567 +553 cMUD.exe Forms TCustomForm.WndProc
004bac90 +024 cMUD.exe Controls TControl.Perform
004b982a +026 cMUD.exe Controls TControl.SetVisible
004a0e9e +03a cMUD.exe Forms TCustomForm.SetVisible
004a57c3 +007 cMUD.exe Forms TCustomForm.Show
00ccbd2d +01d cMUD.exe PARENT 2167 +4 InitWindow
00ccbfd1 +209 cMUD.exe PARENT 2247 +64 NewWindow
00ccc10e +08e cMUD.exe PARENT 2287 +12 TParentForm.CreateWindows
00dac681 +011 cMUD.exe PrefDat 3228 +1 PkgData.CreateWindows
00c90a43 +0af cMUD.exe PkgMain 3673 +11 TPkgMainF.ImportXMLAccept
00499f7d +015 cMUD.exe StdActns TCommonDialogAction.DoAccept
00499fef +047 cMUD.exe StdActns TCommonDialogAction.ExecuteTarget
0049a188 +018 cMUD.exe StdActns TFileOpen.ExecuteTarget
0047b458 +01c cMUD.exe Classes TComponent.ExecuteAction
008081fe +00a cMUD.exe cxInplaceContainer 6158 +1 TcxEditingControl.ExecuteAction
004a5d36 +01a cMUD.exe Forms ProcessExecute
004a5de8 +020 cMUD.exe Forms TCustomForm.CMActionExecute
004bb003 +2bb cMUD.exe Controls TControl.WndProc
004bf007 +4fb cMUD.exe Controls TWinControl.WndProc
004a1567 +553 cMUD.exe Forms TCustomForm.WndProc
004bac90 +024 cMUD.exe Controls TControl.Perform
004ab057 +023 cMUD.exe Forms TApplication.DispatchAction
004a8d07 +407 cMUD.exe Forms TApplication.WndProc
0047c3e0 +014 cMUD.exe Classes StdWndProc
7c90eae0 +010 ntdll.dll KiUserCallbackDispatcher
77d3e2f2 +044 USER32.dll SendMessageA
004b63ba +01a cMUD.exe Controls SendAppMessage
004cbe2f +043 cMUD.exe ActnList TContainedAction.Execute
004ccae4 +050 cMUD.exe ActnList TCustomAction.Execute
0047b5eb +013 cMUD.exe Classes TBasicActionLink.Execute
006adf86 +052 cMUD.exe dxBar 37239 +5 TdxBarItem.DoClick
006adf03 +03b cMUD.exe dxBar 37227 +4 TdxBarItem.DirectClick
006b2194 +154 cMUD.exe dxBar 39494 +32 TdxBarItemControl.ControlUnclick
006b5272 +056 cMUD.exe dxBar 41412 +6 TdxBarButtonControl.ControlUnclick
0069adb6 +0fe cMUD.exe dxBar 27163 +24 TCustomdxBarControl.WMLButtonUp
004bb003 +2bb cMUD.exe Controls TControl.WndProc
004bf007 +4fb cMUD.exe Controls TWinControl.WndProc
006a41a2 +002 cMUD.exe dxBar 32032 +0 TdxBarControl.IsInternal
006a81ae +012 cMUD.exe dxBar 34038 +1 TdxBarSubMenuControl.IsInternal
0069d1b7 +007 cMUD.exe dxBar 28314 +1 TCustomdxBarControl.GetEquivalentParentBar
0069c41a +01a cMUD.exe dxBar 27854 +6 TCustomdxBarControl.CanProcessMouseMessage
004be730 +02c cMUD.exe Controls TWinControl.MainWndProc
0047c3e0 +014 cMUD.exe Classes StdWndProc
77d3bcc7 +00a USER32.dll DispatchMessageA
004a96dc +0fc cMUD.exe Forms TApplication.ProcessMessage
004a9716 +00a cMUD.exe Forms TApplication.HandleMessage
004a9a0b +0b3 cMUD.exe Forms TApplication.Run
00e4f7c4 +088 cMUD.exe CMUD 347 +20 initialization
7c91312f +069 ntdll.dll RtlUnicodeStringToAnsiString
7c812907 +0b6 kernel32.dll GetVersionExA
|
Can anyone suggest something except try to remove last added code from XML and try to export that "shortened" version? |
|
|
|
Arde Enchanter
Joined: 09 Sep 2007 Posts: 605
|
Posted: Sun Aug 03, 2008 8:22 pm |
Further testing: last XML file that CMUD accepts for import was made by CMUD 2.30. I don't have XMLs from 2.31 and 2.32, but CMUD crashes while trying to import both files from 2.33 and 2.34. If copy exported settings manually and paste them to the XML tab of the Package Editor, then it says that there is invalid data after valid xml document (at the point specified in error message, near the end of file, there is an end of settings for main window and start of settings for child windows).
Now, there is no differences at first glance between files outline from 2.30 and 2.33, so something should be messed up elsewhere.
UPDATE: There is another thread on troubles with XML import, I leave this thread for my initial request only. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Aug 05, 2008 5:59 am |
If CMUD is failing to load *any* package, please email it to me at sales@zuggsoft.com as that should be impossible. I have no plans for an "auto export" feature because CMUD is supposed to be saving your changes automatically in your package and I'd rather spend my time getting that to work as it should rather than adding an extra feature that isn't needed.
I don't have all of my test files with me here at the con, but I did some basic export/import and haven't been able to reproduce the problems. But hopefully people will send me the XML files that are having problems to my email for when I get back next week. |
|
|
|
Seb Wizard
Joined: 14 Aug 2004 Posts: 1269
|
Posted: Tue Aug 05, 2008 4:00 pm |
I suspect it may involve XML that contains button definitions, because that's where some the of XML changes were...
|
|
|
|
Arde Enchanter
Joined: 09 Sep 2007 Posts: 605
|
Posted: Tue Aug 05, 2008 4:08 pm |
Very well then... Today I've tried to make more testing and run into some interesting results. First of all, I was able to load my package via File\Open command of the Package Editor. I'm still can't load it as main session package (CMUD gives AV crash immediately), I can open it only in addition to already opened session package. Next, when I load my package in the PE, it shows up with all but main window closed. If I tickle child windows visibility checkboxes, CMUD crashes on saving changes. Then, after CMUD restart, I'm getting exactly the same AV crash at the same address as I mentioned in the first post in this thread.
Phew, at least I've got all my scripts back, safe in the XML file.
And, btw, I sent my package and offending XML file from CMUD 2.34 to sales. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Aug 05, 2008 4:33 pm |
If you can load it via File/Open but not from the session screen, then try holding down the SHIFT key when you use "Open Offline" to let CMUD reset the layout file. It sounds like maybe the window layout is messed up and that might be causing a crash, especially since you mentioned that messing with the visibility checkboxes causes problems.
|
|
|
|
Arde Enchanter
Joined: 09 Sep 2007 Posts: 605
|
Posted: Tue Aug 05, 2008 7:05 pm |
No, it didn't help. I know that errors in the window layout file sometimes can cause troubles with session loading and actually have tried layout reset yesterday.
Update: I ran a quick test 5 minutes ago: in a completely new test session I opened the PE, add my package and close CMUD without changing anything. After CMUD restart I got AV on session load. Close CMUD, delete .xly and .tbz files, start CMUD, load session - the same AV, at the same address while trying to read the same address as I wrote in the first post. Seems that windows visibility has nothing common to things happening. |
|
|
|
Arde Enchanter
Joined: 09 Sep 2007 Posts: 605
|
Posted: Mon Aug 11, 2008 10:13 pm |
Zugg, have you receive my package and xml file I sent you to sales?
|
|
_________________ My personal bug|wish list:
-Wrong Priority when copy-paste setting
-1 prompt trigger for Mapper, Session and General Options, not 3 different!
-#SECTION can terminate threads
-Buttons can't start threads |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Aug 12, 2008 4:29 pm |
Nope, I haven't seen anything from you Arde. Try sending them again and make sure CMUD is in your subject line.
|
|
|
|
Arde Enchanter
Joined: 09 Sep 2007 Posts: 605
|
Posted: Tue Aug 12, 2008 5:05 pm |
*sigh* Sent again. With CMUD in the subject line.
|
|
_________________ My personal bug|wish list:
-Wrong Priority when copy-paste setting
-1 prompt trigger for Mapper, Session and General Options, not 3 different!
-#SECTION can terminate threads
-Buttons can't start threads |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Aug 12, 2008 7:57 pm |
OK, still no email received here. And I'm not seeing anything in my mail logs or spam filter reports. How are you sending the files and what email program are you using? Are the files within some sort of archive?
|
|
|
|
Arde Enchanter
Joined: 09 Sep 2007 Posts: 605
|
Posted: Tue Aug 12, 2008 8:11 pm |
Ok, I think that is wolfpaw again rejects domain name. I'll try now to send you files from another mail account.
Update: ...sent. Have you got my message? |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Aug 12, 2008 9:51 pm |
Hmm, still nothing. Man I'm really getting tired of these email issues. As I said, What email program are you using? Also, I already asked whether you are sending the files within any sort of archive file or not.
Wolfpaw shouldn't be rejecting your domain name. Like I said, I don't even see anything in the log file. So it's almost like your email system isn't even sending it somehow. Or maybe the attachment is too large and your ISP is rejecting it?
Is there anywhere you can post the files for me to download?
Spam has completely ruined the world!!! |
|
|
|
Arde Enchanter
Joined: 09 Sep 2007 Posts: 605
|
Posted: Tue Aug 12, 2008 10:03 pm |
I sent files from "The Bat!" e-mail program, as well as from the a web mail service. Files were not within any archive.
Ok, I've uploaded files, check your PM
Update: mail servers at both accounts accepts at least 10 MB attachments, maybe more, and web mail offers 750 MB attachments (although I dunno who can receive it) - not any problems with sending 200Kb attachment from my side. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Aug 12, 2008 10:31 pm |
Got the files. And I can confirm that I can load your package manually in the settings editor but when loaded as part of a session I get the crash. So I should be able to fix that. I also get a crash when I try to import the XML, so I'll look at that too.
Still don't know what the problem was with the email. I've seen trouble with Bat! before, but the web mail service should have worked. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed Aug 13, 2008 8:39 pm |
I found the cause of your crash when opening your package:
You have an event called OnTrace. This event gets called from within a function that is used to display text on the status bar. So when CMUD first loads and tries to display the status bar, your event fires, which creates a new window to display your trace info. But at this early point in CMUD, you can't create windows...CMUD doesn't expect status bar text to have side effects like this.
Not sure if I can handle this or not...I'll probably need to disable events when displaying status bar text. As a workaround you should disable your onTrace event and only enable it once your session is loaded. |
|
|
|
Arde Enchanter
Joined: 09 Sep 2007 Posts: 605
|
Posted: Wed Aug 13, 2008 9:26 pm |
Hm... Yes, I've add tracing event call to that function long time ago, but all that time I had tracing flag set to 0 (off). Before crash happened I've raised flag to debug that @createEditLink function and after closing CMUD this definitely could trigger the problem.
Could CMUD display status window closer to the end of loading sequence? I can disable tracing event, but I then I must disable error reporting event as well, which uses the same window as onTrace event handler... |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed Aug 13, 2008 9:41 pm |
OK, I fixed this problem. The underlying problem was that the onTrace event was calling #WINDOW to display stuff to a window, which was causing the window to be created because CMUD was already in the middle of creating the windows. What I have done is to prevent the #WINDOW routine from creating a new window while CMUD is in the middle of creating other windows. This should prevent the loop that was causing the crash without messing with events.
I also found the problem with the XML Import of the file you sent me. The problem in this case was a bit more common. When windows were being docked to other windows and the "Dock relative to" field in the Window properties was set, the XML was exporting the database ID value of the window being docked with. But when importing XML into a new package database, the ID values of settings can change. So now it was referencing a different setting instead of the window.
I have added error checking so that importing existing files with this problem won't crash, but they will still lose the Dock Relative To window property. To fix this, I have change the XML Export to save the unique UID of the window being docked to instead of the database ID field. This will prevent this property from being lost across an export/import when the ID values have changed. |
|
|
|
Arde Enchanter
Joined: 09 Sep 2007 Posts: 605
|
Posted: Thu Aug 14, 2008 7:57 am |
In other words, in 2.36 I'll be able to load my package that caused crash in 2.35? Excellent!
|
|
_________________ My personal bug|wish list:
-Wrong Priority when copy-paste setting
-1 prompt trigger for Mapper, Session and General Options, not 3 different!
-#SECTION can terminate threads
-Buttons can't start threads |
|
|
|
Arde Enchanter
Joined: 09 Sep 2007 Posts: 605
|
Posted: Fri Aug 15, 2008 2:12 pm |
I've load my 2.35 package successfully, yay!
Zugg wrote: |
OK, I fixed this problem. The underlying problem was that the onTrace event was calling #WINDOW to display stuff to a window, which was causing the window to be created because CMUD was already in the middle of creating the windows. What I have done is to prevent the #WINDOW routine from creating a new window while CMUD is in the middle of creating other windows. This should prevent the loop that was causing the crash without messing with events. |
What I've noticed after quick test: you not just prevent CMUD from creating a new window, but rather abort function call completely. Is it true? Because if the function is going to raise onTrace (which gets blocked), it returns an empty string (or a string filled with spaces?). If the function is not going to raise onTrace (tracing flag set to 0), then status window will looks normally.
I've made a check in onLoad event handler for tracing flag value and add an alias call that will refresh status window if necessary. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Fri Aug 15, 2008 5:02 pm |
No, it shouldn't abort the function call or event at all. It only prevents the #WINDOW command from running. The rest of the script should be unaffected.
|
|
|
|
Arde Enchanter
Joined: 09 Sep 2007 Posts: 605
|
Posted: Fri Aug 15, 2008 5:44 pm |
Then it is strange. If CMUD have prevented the #WINDOW from running while loading, then status window gets messed up. Any changes in it after CMUD completely loads a session restores its normal view.
|
|
_________________ My personal bug|wish list:
-Wrong Priority when copy-paste setting
-1 prompt trigger for Mapper, Session and General Options, not 3 different!
-#SECTION can terminate threads
-Buttons can't start threads |
|
|
|
|
|