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
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: 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. Evil or Very Mad 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
Reply with quote
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: 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. Evil or Very Mad 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?
Reply with quote
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: 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.
Reply with quote
Zugg
MASTER


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

PostPosted: 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.
Reply with quote
Seb
Wizard


Joined: 14 Aug 2004
Posts: 1269

PostPosted: 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...
Reply with quote
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: 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. Confused

And, btw, I sent my package and offending XML file from CMUD 2.34 to sales.
Reply with quote
Zugg
MASTER


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

PostPosted: 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.
Reply with quote
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: 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.
Reply with quote
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: 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
Reply with quote
Zugg
MASTER


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

PostPosted: 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.
Reply with quote
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: 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
Reply with quote
Zugg
MASTER


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

PostPosted: 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?
Reply with quote
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: 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?
Reply with quote
Zugg
MASTER


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

PostPosted: 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!!!
Reply with quote
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: 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.
Reply with quote
Zugg
MASTER


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

PostPosted: 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.
Reply with quote
Zugg
MASTER


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

PostPosted: 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.
Reply with quote
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: 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...
Reply with quote
Zugg
MASTER


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

PostPosted: 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.
Reply with quote
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: 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
Reply with quote
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: Fri Aug 15, 2008 2:12 pm   
 
I've load my 2.35 package successfully, yay! Very Happy

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.
Reply with quote
Zugg
MASTER


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

PostPosted: 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.
Reply with quote
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: 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
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