Opened 13 years ago

Closed 12 years ago

#1021 closed defect (fixed)

Atlas crashes any time there is a change within the game's directory.

Reported by: michael Owned by:
Priority: Should Have Milestone: Alpha 8
Component: Atlas editor Keywords:
Cc: Jan Wassenberg Patch:

Description

Open Atlas. Now SVN commit something. Atlas will crash upon completion of SVN commit.

Open Atlas. Save a new texture anywhere in the art folder. Atlas will crash.

Here is the error message:

Much to our regret we must report the program has encountered an error.

Please let us know at http://trac.wildfiregames.com/ and attach the crashlog.txt and crashlog.dmp files.

Details: unhandled exception (__int64(""))

Location: unknown:0 (RtlInitializeExceptionChain)

Call stack:

(error while dumping stack: No stack frames found)
errno = 13 (Insufficient access rights to open file)
OS error = 0 (no error code was set)

Attachments (3)

crashlog.dmp (55.8 KB ) - added by michael 12 years ago.
crashlog.txt (14.4 KB ) - added by michael 12 years ago.
mainlog.html (27.1 KB ) - added by michael 12 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 by historic_bruno, 13 years ago

I can't seem to reproduce this. Does it create a crashdump (in %appdata%\0ad\logs)? If so, please attach it here.

comment:2 by Kieran P, 13 years ago

Priority: Must HaveShould Have

by michael, 12 years ago

Attachment: crashlog.dmp added

by michael, 12 years ago

Attachment: crashlog.txt added

by michael, 12 years ago

Attachment: mainlog.html added

comment:3 by historic_bruno, 12 years ago

Cc: Jan Wassenberg added

comment:4 by Jan Wassenberg, 12 years ago

Good news! Symbols matched after updating to the revision mentioned in crashlog.txt. Here's the call stack thanks to the crashdump, which is a huge help:

File::File(const Path & pathname={...}, int oflag=0)
ArchiveReader_Zip::ArchiveReader_Zip
CreateArchiveReader_Zip
PopulateHelper::AddFiles
PopulateHelper::AddEntries
vfs_Populate
PopulateHelper::AddSubdirectories
PopulateHelper::AddEntries
vfs_Populate
vfs_Lookup
VFS::Invalidate
ReloadChangedFiles
RunEngine

OK, so it noticed a file changed, wanted to see what file that is, which was the first access to a particular directory. That required scanning all files in the directory, one of which was a Zip archive, so it tried to open that file. (Ben and I were unable to reproduce this, perhaps because we don't have any zip files). Is it possible you had that Zip file open in some external program? That might have prevented us from gaining access to it, resulting in the exception. I will investigate further...

comment:5 by Jan Wassenberg, 12 years ago

Resolution: fixed
Status: newclosed

(In [10631]) safely handle the case where an archive required for populating a directory cannot be opened (e.g. because it is open within 7-zip, which apparently wants exclusive access) fixes #1021

Note: See TracTickets for help on using tickets.