HELP! : project won't load (and I JUST saved it)

Does anyone know how to read these?
I have a HUGE project (6 months work so far… AND YES I have a backup… but not with TODAY’s work in it)

I saved it… then came back a few minutes later… started things up… and 1/2 way thru loading the code… I got this

Stack Trace:
rbframework.dylib$2252
rbframework.dylib$3334
rbframework.dylib$4646
FolderChild
FolderItem.Child%o%os
RBExternalItem.ResolveFile%%oo
RBPicture.GetImage%o%oob
RBPicture.MakeIcon%o%ooi4
RBPicture.ListRowIcon%o%oi4o
StudioMainEditor.StudioMainEditor.ProjectSourceList_RowExpanded%%o<StudioMainEditor.StudioMainEditor>o<SourceList.SourceList>o<SourceListSupport.SourceListItem>
Delegate.IM_Invoke%%o<SourceList.SourceList>o<SourceListSupport.SourceListItem>
AddHandler.Stub.55%%o<SourceListSupport.SourceListItem>
SourceList.SourceList.ExpandRow%%o<SourceList.SourceList>o<SourceListSupport.SourceListItem>bb
SourceList.SourceList.DelegateObject_ItemExpanded%%o<SourceList.SourceList>o<SourceListSupport.SourceListDelegate>o<SourceListSupport.SourceListItem>bb
Delegate.IM_Invoke%%o<SourceListSupport.SourceListDelegate>o<SourceListSupport.SourceListItem>bb
AddHandler.Stub.2%%o<SourceListSupport.SourceListItem>bb
SourceListSupport.SourceListDelegate.ExpandItem%%o<SourceListSupport.SourceListDelegate>o<SourceListSupport.SourceListItem>bb
SourceListSupport.SourceListItem.Expand%%o<SourceListSupport.SourceListItem>b
StudioMainEditor.StudioMainEditor.NavigatorReveal%o<SourceListSupport.SourceListItem>%o<StudioMainEditor.StudioMainEditor>ob
StudioMainEditor.StudioMainEditor.NavigatorReveal%o<SourceListSupport.SourceListItem>%o<StudioMainEditor.StudioMainEditor>sb
StudioMainEditor.StudioMainEditor.GoToLocations%%o<StudioMainEditor.StudioMainEditor>A1sb
StudioMainEditor.StudioMainEditor.GoToLocation%%o<StudioMainEditor.StudioMainEditor>sb
StudioMainWindow.StudioMainWindow.ReadStateItem%%o<StudioMainWindow.StudioMainWindow>oo<RBBF.Context>i4
StudioMainWindow.StudioMainWindow.ReadStateItem%%o<StudioMainWindow.StudioMainWindow>oo<RBBF.Context>i4
DocWindow.ReadStateData%%ooo<RBBF.Context>
Document.ReadNewUIState%%ooo<RBBF.Context>i4
Document.ReadStateData%%ooo<RBBF.Context>i4
RBBF.ReadBlock%b%oo<RBBF.Context>i4i4i4i4i4
RBBF.ReadFile%b%ooo&s
Document.LoadFromFile%b%oobob
IDEApp.OpenDocument%%oobbb
IDEApp.OpenDocument%%oo
OpenRecentMenuItem.OpenItem%b%o
TemplatesWindowNew.TemplatesWindowNew.DoOKAction%%o<TemplatesWindowNew.TemplatesWindowNew>
TemplatesWindowNew.TemplatesWindowNew.ProjectsList_DoubleClick%%o<TemplatesWindowNew.TemplatesWindowNew>o
Delegate.IM_Invoke%%o
AddHandler.Stub.44%%
HierarchicalListbox.Event_DoubleClick%%o
rbframework.dylib$7608
rbframework.dylib$7609
rbframework.dylib$8199
rbframework.dylib$7717
rbframework.dylib$8547
rbframework.dylib$9404
-[NSWindow sendEvent:]
rbframework.dylib$10998
-[NSApplication sendEvent:]
rbframework.dylib$8987
rbframework.dylib$8971
rbframework.dylib$4360
RuntimeShowModal
Window.ShowModal%%o
TemplatesWindowNew.TemplatesWindowNew.Present%%o<TemplatesWindowNew.TemplatesWindowNew>oo
IDEApp.HandleCommand%b%oo<Commands.Command>
Commands.Dispatch%%o<Commands.Command>
Commands.Dispatch%%s
IDEApp.Event_NewDocument%%o
rbframework.dylib$9181
-[NSApplication _doOpenUntitled]
__block_global_0
-[NSApplication _whenReopeningIsAllowedDo:]
__58-[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:]_block_invoke_0
-[NSDocumentController(NSInternal) _autoreopenDocumentsWithCompletionHandler:]
-[NSApplication _reopenWindowsAsNecessaryIncludingRestorableState:registeringAsReady:completionHandler:]
-[NSApplication(NSAppleEventHandling) _reopenWindowsIfNecessaryWithAppleEvent:completionHandler:]
-[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:]
-[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:]
-[NSObject performSelector:withObject:withObject:]
__76-[NSAppleEventManager setEventHandler:andSelector:forEventClass:andEventID:]_block_invoke_0
-[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:]
_NSAppleEventManagerGenericHandler
_Z20aeDispatchAppleEventPK6AEDescPS_mPh
aeResumeTheCurrentEvent
AEResumeTheCurrentEvent
rbframework.dylib$8972
Delegate.Invoke%%
Application._CallFunctionWithExceptionHandling%%op
rbframework.dylib$4359
rbframework.dylib$8981
rbframework.dylib$9180
__57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_0
___CFXNotificationPost_block_invoke_0
_CFXNotificationPost
-[NSNotificationCenter postNotificationName:object:userInfo:]
-[NSApplication _postDidFinishNotification]
-[NSApplication _sendFinishLaunchingNotification]
_DPSNextEvent
-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
rbframework.dylib$8989
rbframework.dylib$8990
Delegate.Invoke%%
Application._CallFunctionWithExceptionHandling%%op
rbframework.dylib$4359
rbframework.dylib$8989
-[NSApplication run]
rbframework.dylib$4361
RuntimeRun
REALbasic._RuntimeRun
_Main
% main
_start
start

Thanks goodness for TimeMachine… turns out it backed up a copy just an hour before it went blewy… still lost an hours work… but that is better that all day.

Happen to delete an image or something ?

I had removed old (very old) copies of the code… but no images that I’m aware of…

And retrieving an hour old copy from Time Machine loaded and ran just fine…

If it WAS a missing image… wouldn’t it be a good thing for Xojo to warn the user… insert a dummy image instead of just trashing the project?

Well it is “something” to do with an external item but since I dont have your project etc to tell its kind of hard to know what specifically was wrong from the stack trace posted

Then I am screwed as far as that version is concerned… Lucky TM got me back.

If Xojo can’t gracefully inform a developer of a potential issue instead of destroying everything.

This particular project has 119 external files, graphics and XML data files…

So as an addtion to TM backups etc… I am now saving in XML so at least I can extract a list of external files to validate should this ever happen again

Or you use Arbed for that. It can list all external files using the “Externals Browser” (you need the latest 1.7 beta, though!) and it can collect all your externals into a folder or move code into the main project using the operations in the “Convert” tab.

I had this a few weeks ago. A just saved project turned up empty… filed a bugreport. Was caused by selecting the project in Explorer while the Xojo open file window was visible. Lost about 4-6 hours of very hard work.

I use Shadowprotect to snapshot my dev volume every 15 mins & press <Ctrl + S> frequently. The most I’ve ever lost is 15 mins work on anything dev related. And even better I can go back to any backup for the last week to restore if I want to undo changes.

This is on Windows though. (The commercial os :slight_smile: )

Does Shadowprotect issue Ctrl-S for you, or does it just back up files on disk regularly, and you still have to remember to save frequently?

Funny … I’m such a good typist that when I type commercial auto correct want’s to correct it to “comical” :stuck_out_tongue:

Well Microsoft’s last endeavour In the world of tablets sure has some comical sense.

Sadly no, it just performs an incremental backup of the disk volume - all changed blocks since last backup.

That explains it - you need to turn off the auto-correct when you are writing the Windows specific parts of Xojo :stuck_out_tongue:

I use Filehamster for that. It uses the Windows files system watcher to decide when to take a snapshot. When doing head down development it can be a real time saver.

In that case, two suggestions:

Use Crashplan. I don’t know Filehamster, but it, too does watch file changes and can backup just the changed ones almost instantly (though, for this feature, you’ll have to a pay small monthly or yearly fee, which I have no problem with). It’s very stable and works even x-platform. It has similar features to Apple’s Time Machine, i.e. it also does incremental backups. And it encypts the data before transmitting it anyway, so that even the NSA won’t get to look at it :slight_smile:

Second, if you use a smarter backup tool like FH or Crashplan, find the folder where the IDE saves projects in when you hit “Run” without saving first, and have that folder backed up without delay as well. Sometimes you may find a newer version in there if the IDE crashed.