Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#5407 closed defect (invalid)

Insufficient access rights to write persist-matchsettings files

Reported by: Camille Owned by:
Priority: Should Have Milestone:
Component: Core engine Keywords:
Cc: Patch:

Description

I have this message when I open the games :

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 (Breakpoint)

Location: unknown:0 (?)

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)

Can you help me ?

Attachments (5)

crashlog.txt (15.0 KB ) - added by Camille 5 years ago.
crashlog.dmp (102.9 KB ) - added by Camille 5 years ago.
mainlog.html (23.7 KB ) - added by Camille 5 years ago.
system_info.txt (13.8 KB ) - added by Camille 5 years ago.
userreport_hwdetect.txt (12.7 KB ) - added by Camille 5 years ago.

Download all attachments as: .zip

Change History (29)

by Camille, 5 years ago

Attachment: crashlog.txt added

by Camille, 5 years ago

Attachment: crashlog.dmp added

by Camille, 5 years ago

Attachment: mainlog.html added

by Camille, 5 years ago

Attachment: system_info.txt added

by Camille, 5 years ago

Attachment: userreport_hwdetect.txt added

comment:1 by Stan, 5 years ago

Hello Camille,

Thanks for the report. It looks like something is messed up in your permissions. Do you have an antivirus running ? Sometimes they prevent the game from writing its config files. Else you might want to delete the user.cfg file in %AppData%\0ad\config

Here is the call stack for the record.

 	pyrogenesis.exe!wtruncate(const Path & pathname={...}, __int64 length=214) Line 285	C++	Symbols loaded.
 	pyrogenesis.exe!io::Store<io::DefaultCompletedHook,io::DefaultIssueHook>(const Path & pathname={...}, const void * data=0x1933d000, unsigned int size=214, const io::Parameters & p={...}, const io::DefaultCompletedHook & completedHook={...}, const io::DefaultIssueHook & issueHook={...}) Line 315	C++	Symbols loaded.
 	pyrogenesis.exe!RealDirectory::Store(const Path & name={...}, const std::shared_ptr<unsigned char> & fileContents={...}, unsigned int size=214) Line 57	C++	Symbols loaded.
 	pyrogenesis.exe!VFS::CreateFile(const Path & pathname={...}, const std::shared_ptr<unsigned char> & fileContents={...}, unsigned int size=214) Line 145	C++	Symbols loaded.
 	pyrogenesis.exe!CConfigDB::WriteFile(EConfigNamespace ns=CFG_USER, const Path & path={...}) Line 436	C++	Symbols loaded.
 	pyrogenesis.exe!CConfigDB::WriteValueToFile(EConfigNamespace ns=12869756, const CStr8 & name={...}, const CStr8 & value={...}, const Path & path={...}) Line 464	C++	Symbols loaded.
 	pyrogenesis.exe!JSI_ConfigDB::WriteValueToFile(ScriptInterface::CxPrivate * __formal=0x0a84f7c0, const std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > & cfgNsString={...}, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & name={...}, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & value={...}, const Path & path={...}) Line 140	C++	Symbols loaded.
>	pyrogenesis.exe!ScriptInterface_NativeWrapper<bool>::call<bool __cdecl(ScriptInterface::CxPrivate *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,Path const &),std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,Path>(JSContext * cx=0x055d09a0, JS::MutableHandle<JS::Value> rval={...}, bool(*)(ScriptInterface::CxPrivate *, const std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > &, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > &, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > &, const Path &) fptr=0x00b64f10, std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > <params_0>={...}, std::basic_string<char,std::char_traits<char>,std::allocator<char> > <params_1>={...}, std::basic_string<char,std::char_traits<char>,std::allocator<char> > <params_2>={...}, Path <params_3>={...}) Line 75	C++	Symbols loaded.
 	pyrogenesis.exe!ScriptInterface::call<bool,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,Path,&JSI_ConfigDB::WriteValueToFile>(JSContext * cx=0x055d09a0, unsigned int argc=4, JS::Value * vp=0x07c4d5b8) Line 125	C++	Symbols loaded.
 	mozjs38-ps-release-vc120.dll!6bb536a4()	Unknown	Non-user code. No matching binary found.

comment:2 by Imarok, 5 years ago

Component: UI & SimulationCore engine

comment:3 by elexis, 5 years ago

Duplicate at #5411.

Can you explain when the error happens? In singleplayer only multiplayer?

comment:4 by Camille, 5 years ago

I'm sorry for the duplicate.

It's when I lauchned the game or a singleplayer part

comment:5 by Stan, 5 years ago

In the game options try disabling GLSL and postprocessing to see if that fixes it.

comment:6 by Camille, 5 years ago

The error is the same when I deleted GLSL and postprocessing

comment:7 by Stan, 5 years ago

Do you have an antivirus running ?

comment:8 by elexis, 5 years ago

The error stack says that it can't write a config file.

Now the question is which one. We have the user config, which it could read successfully.

The other config file that is written that comes to my mind is the Gamesetup persist-match-settings file.

Try disabling this setting in the options and start a match again.

Notice that this wouldn't resolve the issue but circumvent it. There might still be more files that it can't write to.

It could be a file permission problem, it could be that 0ad was installed for a different user, or that some windows update broke something. Unexpected, but we've seen that before. Or anti-virus as Stan mentioned.

comment:9 by Camille, 5 years ago

It's not the anti-virus. I deleted the persite match-settings. Now, I can play a game (sometimes) but I can't register a games.

comment:10 by elexis, 5 years ago

Milestone: Backlog
Resolution: invalid
Status: newclosed

There are two files, one for singleplayer, one for multiplayer.

Before deleting the other one, you may want to look where the file permissions differ and what could have caused that. If you have an idea, please tell us (antivirus, recent windows upgrade, different user, renamed windows user, renamed user directory, ...)

comment:11 by elexis, 5 years ago

Summary: Impossible to play or register a gameInsufficient access rights to write persist-matchsettings files

comment:12 by Camille, 5 years ago

I have no idea why I can't play.

I have this message when I launched the game :

Details: unhandled exception (Breakpoint)

Location: unknown:0 (?)

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)

comment:13 by nani, 5 years ago

Camille did 0ad work before? If yes, you remember doing something just before 0ad not working? You could try reinstalling 0ad if you can't give any additional info.

comment:14 by elexis, 5 years ago

You said:

I deleted the persite match-settings. Now, I can play a game (sometimes) but I can't register a games.

That means you can singleplayer but not multiplayer?

If that is the case, then delete the other persist-matchsettings-file too, there is one for singleplayer and one for multiplayer.

in reply to:  9 comment:15 by Imarok, 5 years ago

Replying to Camille:

It's not the anti-virus.

How do you know?

If you have an anti-virus installed, please say which one and try disabling it.

comment:16 by Camille, 5 years ago

I have reinstall the game. I can play but I can't register a game. I never try multiplayer. My anti-virus it's Windows Defender. Now, I have this message :

Assertion failed: "p == start" Location: archive_zip.cpp:500 (ArchiveReader_Zip::FindRecord)

Call stack:

(error while dumping stack: No stack frames found) errno = 0 (No error reported here) OS error = 0 (no error code was set)

comment:17 by Stan, 5 years ago

Hey and thanks for the feedback so far.

When you say register you mean save the game ?

Are you an administrator or a user of the computer ?

comment:18 by Silier, 5 years ago

I assume you have installed game under C/../ProgramFiles/.. I would suggest to avoid that area for installing 0ad. If you have by chance another disk I would put it there or if not so somewhere on C but not under programfiles

comment:19 by Camille, 5 years ago

Yes, I want to say save the game. 0ad is in C but not in programfiles because I haven't got an other disk.

I am the administrator and the user of the computer.

comment:20 by Stan, 5 years ago

Hello,

Now that we have eliminated the most current causes we can still try some other stuff.

Are there multiple users on the computer ? If so you might need to install the game for each.

If I understood correctly it's not the case so what you can do is edit the icon file. Right click on it and select properties. Add the -writableRoot option to the executable and see if that fixes it.

comment:21 by Camille, 5 years ago

Sorry but can you explain to me the handling to follow. Thank you for your help !

comment:23 by Camille, 5 years ago

Thank you very much for your help !

comment:24 by Stan, 5 years ago

Did that work ? :)

Note: See TracTickets for help on using tickets.