Opened 9 years ago

Closed 8 years ago

Last modified 5 years ago

#3267 closed defect (needsinfo)

[NEEDSINFO] No Cyrillic Folders, but it's still looking for them.

Reported by: Blue Owned by:
Priority: Should Have Milestone:
Component: Core engine Keywords:
Cc: Jan Wassenberg Patch:

Description (last modified by historic_bruno)

Refs #3172.

Since I re-installed Windows 7-64b and removed the 2nd and 3rd physical drives there shouldn't be any issues with custom loaders and dual booting as I had before. When I boot into the program, the program error window pops up as usual and like usual we hit continue and it lets us in or not. I noticed something this time. Each time I pressed the, "continue", button, a string value kept changing while all the other values were the same.

I did a vid capture to record this oddity but while clicking over and over again on the continue button to see if I could grasp what it was doing, something surprising happened. After clicking, 'continue' ten times it let me into Alpha 18... on Windows 7-64b.

To test this, I exited the game using alt+F4 and tried again. Exactly 10 clicks on the continue button while the, "st_ino" value keeps changing 1, 2, 4, 6, etc... on the 10th click the game loads. Now isn't this a head scratch-er.

http://www.mediafire.com/watch/31jpec5m3a9gamp/Continuex10_st_ino.mp4

Attachments (6)

first_error.png (65.0 KB ) - added by elexis 9 years ago.
The first error in that video.
Continue_messages_x10.txt (264.8 KB ) - added by Blue 8 years ago.
Tree_cmd.txt (23.3 KB ) - added by Blue 8 years ago.
crashlog.txt (944 bytes ) - added by Blue 8 years ago.
Nov 24-2015 Crash log
0ADFilePathError.png (92.7 KB ) - added by Blue 8 years ago.
No Cyrillic Folders, but it's still looking for them.
debug output_Alpha 19.LOG (5.0 KB ) - added by Blue 8 years ago.
debug output from Debug View tool.

Download all attachments as: .zip

Change History (57)

by elexis, 9 years ago

Attachment: first_error.png added

The first error in that video.

comment:1 by elexis, 9 years ago

Summary: st_ino number keeps changingCrash - can't get 'my documents' directory

Neither do I know much about the internals of c++, nor do I use windows, so I can't test that part of the code that fails.

But I notice that the path variable begins with a strange / malformed character and is followed by a P when calling GetFolderPath from GetDirectories() in wutil.cpp.

// my documents
personalPath = GetFolderPath(CSIDL_PERSONAL);

So for some reason it can't get that personal documents directory.

The other errors (can't create directories) are probably just follow ups.

comment:2 by Blue, 9 years ago

ah yes, that odd character is an Asian letter for some odd reason. And it appears in several places when I scroll down the program error window. I don't type in any language other than English, English is the only language installed in Windows. There is no other language setting I have changed. I simply put the Windows 7 recovery disc back into the drive and returned it back to factory specs.

No other program I have used adds another language preference other than English. Which is odd now that I think of it why one of you thought I used a RTL language because of some error that showed up before I removed the two extra internal drives and before I ran recovery.

As for it not being able to get into my personal path directory. That entire folder I moved to a separate larger backup drive. But just for the purposes of installing the game, I removed all drives other than Drive C. But with the 2nd drive back in place it has access to that directory again, so I don't see what trouble it has with gaining access to it.

I didn't change any security or permission settings. All I did was add a 2Tb drive to increase my storage capacity. Then moved the entire User folder from the main 1Tb drive to the 2nd drive, thus freeing up space on the main drive so I can install very large programs.

With the exception of moving the location of the /user folder using Windows itself so it knows where it is. I didn't blindly cut-n-paste the contents to another drive. I simply told it I would like to move the contents / location to another drive and when I click library from Explorer it opens the /user folder contents on the 2nd drive. This process took over 18 hours to move the 450,000+ files and media I have saved from the 1Tb to 2Tb drive. And I disabled any power-saver and standby mode just to make sure it wouldn't get interrupted as it was transferring files.

This doesn't explain why it does let me in to play Alpha 18 and after exactly 10 clicks on the continue button. I've tried it more than a dozen times now. Each time exactly 10 click and in I go. So we can change the priority of this now as some strange phenomenon or unrelated error as it seems I still am the only one experiencing this problem. I guess no one else decided to move their entire /user directory to another larger drive.

Doing it this way frees up system resources when one drive is engaged the second is free to download or whatever. This way I don't get the lag time or pauses when playing media because the drive is trying to catch up. Having a 6-core processor I set the core dependency for certain tasks so I am never lagged or behind. I can easily download/torrent to one drive, while watching a movie stored on the 2nd drive and chatting in social media all the while converting files and more without any lag or pause of my tasks and buffers. Also having a 250 Mb/s cable connection helps.

Last edited 9 years ago by Blue (previous) (diff)

in reply to:  2 comment:3 by elexis, 9 years ago

Replying to blue.bsod:

As for it not being able to get into my personal path directory. That entire folder I moved to a separate larger backup drive.

Does that directory "C:\Users\Blue_W7-64b\AppData\Local" actually exist?

According to the error, the function that fails is SHGetFolderPathW, which is documented here: https://msdn.microsoft.com/en-us/library/windows/desktop/bb762181%28v=vs.85%29.aspx

It is called in wutil.cpp:

// Helper to avoid duplicating this setup
static OsPath* GetFolderPath(int csidl)
{
	HWND hwnd = 0;	// ignored unless a dial-up connection is needed to access the folder
	HANDLE token = 0;
	wchar_t path[MAX_PATH];	// mandated by SHGetFolderPathW
	const HRESULT ret = SHGetFolderPathW(hwnd, csidl, token, 0, path);
	ENSURE(SUCCEEDED(ret));
	if(GetLastError() == ERROR_NO_TOKEN)	// avoid polluting last error
		SetLastError(0);
	return new(wutil_Allocate(sizeof(OsPath))) OsPath(path);
}

We can see that the dwFlags argument is 0 in that call. The documentation also says something about redirected directories:

For example, the default value (SHGFP_TYPE_DEFAULT) for FOLDERID_Music (CSIDL_MYMUSIC) is "C:\Users\user name\Music". If the folder was redirected, the current value (SHGFP_TYPE_CURRENT) might be "D:\Music". If the folder has not been redirected, then SHGFP_TYPE_DEFAULT and SHGFP_TYPE_CURRENT retrieve the same path.

So maybe 0ad just tries to get that directory in the wrong place. The issue might be fixed by changing that flag.

Also notice that this function call is deprecated.

comment:4 by Blue, 9 years ago

"Does that directory "C:\Users\Blue_W7-64b\AppData?\Local" actually exist?"

Yes, that folder is where it is suppose to be. All I did was use a Windows Library function to move it's the location of the library from the default drive to the new drive. Like I said, I did not copy-n-paste 350,000+ individual files, though it would of been faster than relying on the Windows move/copy function which is why it took 18 hours to move the entire folder and contents from drive to drive.

http://www.mediafire.com/view/gq8f48myt70g56g/User_Folder.png

in reply to:  4 ; comment:5 by elexis, 9 years ago

Description: modified (diff)

The GetDirectories() and GetFolderPath() functions in wutil.cpp are identical in a17 / a18 / 0ad. In particular that call to the windows API is identical

personalPath = GetFolderPath(CSIDL_PERSONAL);

Therefore there should be no reason why a18 crashes, but a17 doesn't, strange.

That dwFlags argument for that API call is also 0 = SHGFP_TYPE_CURRENT:

SHGetFolderPathW(hwnd, csidl, token, 0, path);

It should there return the current directory, in case you have redirected that folder. Therefore it should give the correct directory in theory.

Looking at that value and your screenshot, that directory seems to be okay... besides that chinese character.

We really need someone with windows 7 who can compile 0ad to reproduce and debug this.

in reply to:  5 comment:6 by historic_bruno, 9 years ago

Replying to elexis:

But I notice that the path variable begins with a strange / malformed character and is followed by a P when calling GetFolderPath from GetDirectories() in wutil.cpp.

That could simply be a bug in the error dialog displaying the string, sometimes it chokes on strings and sadly isn't very reliable.

Replying to elexis:

The GetDirectories() and GetFolderPath() functions in wutil.cpp are identical in a17 / a18 / 0ad. In particular that call to the windows API is identical

personalPath = GetFolderPath(CSIDL_PERSONAL);

Therefore there should be no reason why a18 crashes, but a17 doesn't, strange.besides that chinese character.

We really need someone with windows 7 who can compile 0ad to reproduce and debug this.

We upgraded the compiler from VS 2008 to VS 2013 with XP compatibility, that could have something to do with it. The error doesn't occur on my Win 7 system, and as far as I know, it only happens on this one system.

comment:7 by historic_bruno, 9 years ago

It's also possible the path variable is garbage because the call to SHGetFolderPathW failed.

comment:8 by elexis, 9 years ago

Two more things from the documentation that might or might not have something to do with the error:

(1) Virtual Folder

Only real folders are valid. If a virtual folder is specified, this function fails.

CSIDL_PERSONAL is virtual for version 6, but not for the versions before that. Maybe that API version changed to version 6 with the VS 2008 to VS 2013 upgrade?

(2) Access control

hToken might need to assign a non-NULL value to hToken for those folders that can have multiple users but are treated as belonging to a single user.

comment:9 by historic_bruno, 9 years ago

Cc: Jan Wassenberg added

(1) can't be the only problem, as it works fine on my system, and I should mention that I redirected My Documents from C: to the E: drive long ago, and have been using 0 A.D. with no problems ever since.

I am going to commit some debug output to help narrow this down, without seeing the return code, we can't know why it's failing. I will also CC Jan who is an expert on this Windows API stuff.

comment:10 by ben, 9 years ago

In 16688:

Adds debug output to display return code of failing SHGetFolderPathW, refs #3267

comment:11 by historic_bruno, 9 years ago

blue.bsod, can you try the development version of the game from SVN? I have added some code that will give us missing information, and besides, it will make testing potential fixes much faster and easier. Instructions for getting the game from SVN: BuildInstructions#Acquiringthecode -- you only need to follow the "acquiring the code" section, not the building instructions, as we provide a pre-built version for Windows.

Last edited 9 years ago by historic_bruno (previous) (diff)

comment:12 by Jan Wassenberg, 9 years ago

Very strange. I'd love to see the error code.

As to deprecation, that's still a decent tradeoff - the newer one (https://msdn.microsoft.com/en-us/library/windows/desktop/bb762188(v=vs.85).aspx) requires Vista, and I'm sure plenty of people are still on XP.

in reply to:  11 ; comment:13 by Blue, 9 years ago

Replying to historic_bruno:

blue.bsod, can you try the development version of the game from SVN? I have added some code that will give us missing information, and besides, it will make testing potential fixes much faster and easier. Instructions for getting the game from SVN: BuildInstructions#Acquiringthecode -- you only need to follow the "acquiring the code" section, not the building instructions, as we provide a pre-built version for Windows.

I have no qualms about installing another version to help you guys test so long as there are step-by-step instructions on how to install or setup the environment to install. I already grabbed the TortoiseSVN...msi file as that part was easy to figure out... go to download tab and look for the version I want. I downloaded them both. Which do you want me to use?

The next part isn't obvious and there is no clue as to which set of files or links to follow to get to the file(s) I need/want. http://www.mediafire.com/view/znsft42r0kja3o0/screenshot-2015-05-27%2009-54-41.png

I tried all the links but each opened a new sub folder of even more links. No obvious, "msi", "exe", "js", or even batch file to download. Where do I click from there?

comment:14 by Itms, 9 years ago

The second line reads "Use TortoiseSVN to check out [some address] blah blah" and just after that you have a link "The TortoiseSVN manual has information on checking out", which explains what you have to do.

in reply to:  13 comment:15 by historic_bruno, 9 years ago

Replying to blue.bsod:

The next part isn't obvious and there is no clue as to which set of files or links to follow to get to the file(s) I need/want. http://www.mediafire.com/view/znsft42r0kja3o0/screenshot-2015-05-27%2009-54-41.png

I tried all the links but each opened a new sub folder of even more links. No obvious, "msi", "exe", "js", or even batch file to download. Where do I click from there?

You will get all the files, but it will be through the TortoiseSVN "checkout" procedure, since you are checking out our source code :) This is only done once. After you copy our public SVN trunk URL, right-clicking somewhere on your computer and choosing "SVN Checkout...", then paste the URL as the repository and you should be good to go. Just make sure you put this in a new folder (the default is ps) and it's on a drive where you have several GBs free space to download all the files.

The checkout will take some time, and if it fails midway through, just right click on the new folder and choose to SVN Update (and from then on, you will always update to get the latest file changes). When it says it's finished with no errors, you will be ready to test.

Last edited 9 years ago by historic_bruno (previous) (diff)

comment:16 by Blue, 9 years ago

I think you guys lost me... as for speeds and taking a long time... well that depends on the hosting file server. I have a 250 Mb/s cable connection. Something most US customers could only dream of at 10%... I'm in Canada and that isn't even the fastest residential service available to us. 350 Mb/s is but I didn't opt for that package. I didn't need THAT much speed bonus :-P

Somehow this seems as complicated as me trying to figure out how to run my own gaming server a few months back for a different game only to find out the Windows 7-64b Home Premium isn't a good hosting o/s because it doesn't allow even admin user access to the, "/Program Files" directory. We're only allowed to access the, "/Program Files (x86)". Only in The Pro or Ultimate version give full access. So that is when I decided to dual boot Windows 7 & Windows XP.

This is all probably due to the fact I don't even know what Tortoise does or what it's function is. Much like the Game server I was trying to setup required the use of Navicat and MySQL. I don't know how to use either but all I did know was how to manipulate the data files to customize my server http://www.arachnoid.com/arachnophilia/index.php. Anything outside of that, sorry I am at a loss.

comment:17 by historic_bruno, 9 years ago

TortoiseSVN is a lot easier to figure out than setting up a server, it's a (relatively) simple GUI based client app. Maybe if you stop by #0ad-dev on Quakenet IRC someone can walk you through checking out the source code.

comment:18 by Stan, 9 years ago

Any updates ?

comment:19 by Blue, 9 years ago

Nope other than the fact I noticed what the game/system folders look like to understand why someone thought I wrote in a Cyrillic language. The folders are installed that way from the very first version I installed (beta 15). So why someone thought I wrote in a Cyrillic language is kind of understandable but also confusing as hell. Why would I change the SYSTEM folders into a Cyrillic language labelling system? http://www.mediafire.com/view/5zybas5p114oxq9/OAD-Cyrillic_Folders.png

Also when I tried attaching that picture to this post, your Captcha system kept reject anything I typed so would not let me post.

comment:20 by Stan, 9 years ago

Yeah we added a captcha, since a lot of people were spamming trac. Yeah indeed this is weird. But I guess that should not create folders with chinese/japanese names.

Does A18 work fine on your machine ? :)

comment:21 by Blue, 9 years ago

It works fine if I hit, "continue" about ten times to get into the game. I did try to uninstall it and re-install but it keeps making those Asian character folders on it's own. So it's not something I can control. Maybe it doesn't like my Windows 7-64b... :(

comment:22 by Stan, 9 years ago

Mmmh do you have any potential weird software on your machine ? Addware etc ?

comment:23 by Blue, 9 years ago

Lol... define weird...

comment:24 by Stan, 9 years ago

Well could it be infected by malware for instance ?

comment:25 by Blue, 9 years ago

No, no chance like that... I use Norton's Security 360, with Malwarebytes Anti-malware Pro (MBAM+) and Combofix if MBAM+ can't find anything. MBAM+ is an active scanner on all the time and not only when I run it. It even blocks malware bundled with freeware/shareware before they install with the main program on installation. As well as it blocks malware sites from loading in any browser as it also scans incoming and outgoing ports. I used Combofix when I was using the free version of MBAM, but since upgrading to the pro version I haven't had to use it in two years and counting.

Last edited 9 years ago by Blue (previous) (diff)

comment:26 by Stan, 9 years ago

Okay I see, would you mind trying to install 0 A.D. without those programs running in the background. I have seen cases where having antiviruses running truncated exe files, and I'm wondering if they wouldn't rename folders as well if that makes sense :)

Especially since Norton is really intrusive into the computer. I've never used combofix though. I know that malwarebytes active protection is kinda intrusive too so that might play a role.

Disconnect from the internet if you want to keep safe :)

comment:27 by Blue, 8 years ago

Tried it, but same thing... it still creates Asian folders on it's own and I still have to hit, "continue x10" to get into the game. I still think it has to do with my version of Windows 7-64b if that makes any sense. It's a purchased version that came with a computer I purchased. I mirrored the drive to be installed into two different machines so I would have an o/s on both without the need to purchase a 2nd copy. Something I would of done anyways if I had a physical disk instead of a pre-installed version.

comment:28 by Stan, 8 years ago

What version is it ? A 'N' version ? Or starter, home premium, professional, ultimate ? Could you also give me the messages you have to click continue on ?

comment:29 by Blue, 8 years ago

Home Premium (Canada)... Vid Capture of what messages I am clicking on to continue. MP4 format at 600x600. http://www.mediafire.com/watch/1si41szdgu90py8/Continue_x10.mp4

Last edited 8 years ago by Blue (previous) (diff)

comment:30 by Stan, 8 years ago

I have been doing some research and it seems to have also happened with VLC users, and AutoCad Japanese. Probably not relevant at all but is your VLC version up to date ? 2.* or something.

It seems the game is failing to read the directory because of that character.

Would probably be interesting if you could run the tree command in cmd /A /F and use pastebin to share. I suspect NSIS (The installer) Is doing something it shouldn't.

Also, if you could copy the full message you get on the continue windows in pastebin too, that'd be great.

It's probably a conversion error such as this http://stackoverflow.com/questions/30971789/wrong-filename-when-using-chinese-characters

I'd be interested to know what happens on an Asian computer.

Thanks for your time.

Last edited 8 years ago by Stan (previous) (diff)

by Blue, 8 years ago

Attachment: Continue_messages_x10.txt added

by Blue, 8 years ago

Attachment: Tree_cmd.txt added

comment:31 by Blue, 8 years ago

I don't use VLC nor have VLC on my machine or any of my drives. Frankly I don't like the way it looks like a rejected Windows 95 program from 20 years ago. I use the NCSoft multi-media-player called, "ALPlayer". As for AutoCad. Nope sorry don't use it, but I do have the ISO file saved on one of my drives. I keep figuring out I'd get around to playing with it some day which is why I keep it around but it's in an ISO format and it's not mounted so no access to ISO files unless I run MagicISO.

I'm not sure if I did what you want the way you wanted, "tree" command, and copying the messages of each time I hit the, "continue" button and pasting them into Notepad.

comment:32 by Stan, 8 years ago

Thanks, tree didn't make sense as I expected. And I was also expecting it wouldn't have to do with any other, software, but you never know.

Okay now I know why it breaks:

"牘qC:\Users\Blue_W7-64b\AppData\Local" the "牘q" tag before the adress makes it break because it can't find a drive with such a name.

So basically you moved your all mydocuments folder using MKLINK ? Or the move command in the folder name ?

That might add for some reason a prefix telling the drive it's elsewhere.

comment:33 by Blue, 8 years ago

The only thing I moved really was any movie file/folder to a different drive. Everything else is where it is suppose to be. This is mainly because I use Windows Media Player to listen to music and to move/sync songs with my MP3 Player. But WMP has this annoying feature where it logs and keeps track of where all the contents of the User/ folder (audio, video, image, documents etc...).

I didn't want it to do that. Plus when it knows where my video files are, it insists on making stupid thumbs for each file it finds. Which takes a few hours because of the size of some of the files I have and the amount of files I have which is why I moved them to a separate physical drive. The only real access I give it is the /music folder and the /documents folder.

When I open WMP I expect it to be ready to play/sync right away, not stuck in a long /update loop trying to read all my media. My 2Tb storage drive is strictly storage. A supplement drive for media content for the Library. I didn't use a fancy command to move the contents. I simply used the Library function to unlink its own folder and link my own so I can still access video content without WMP trying to /update /sync them all.

http://www.mediafire.com/view/w802mcr7ekcwh0w/UserFolder.png

comment:34 by Blue, 8 years ago

Plus I finally caught the Captcha fail to show you what problem I keep getting. I'm not answering wrong, it's not accepting what I entered as correct even though it is correct.

http://www.mediafire.com/watch/9pzice5u2an6ga8/CaptchaFail.mp4

Just so you know, any other msg board or site who chooses to use that specific Captcha module by TRAC always fails. So like this video capture, I make and send a proof like so to them to prove it won't accept me. :(

P.s. the first twenty seconds looks like it stalled because the video capture program (Nimbus Screen Capture) disabled input to the page, so I had to re-initialize it.

Last edited 8 years ago by Blue (previous) (diff)

by Blue, 8 years ago

Attachment: crashlog.txt added

Nov 24-2015 Crash log

by Blue, 8 years ago

Attachment: 0ADFilePathError.png added

No Cyrillic Folders, but it's still looking for them.

comment:35 by Blue, 8 years ago

Summary: Crash - can't get 'my documents' directoryNo Cyrillic Folders, but it's still looking for them.

comment:36 by Blue, 8 years ago

I did a full system dump and uninstalled the game, scrubbed the registry and did an index search for any remaining traces of the file, it's folders and hooks. Rebooted the computer. Installed program yet again for the umpth-teen time. Again it's still looking for Cyrillic folders when there are none this time. There were 3 in the past from previous installations of the game. But I removed everything and this time it installs with no Cyrillic labelled folders, but the game loader insists on looking for a Cyrillic labelled folder. <head scratcher>...

I updated the file attachments to include the latest Crash Log and did a screen capture to show the error log box and the folder it's pointing to. You can see. There are no Cyrillic folder names, but the game loader still thinks or wants to look for them. Weird eh?

comment:37 by Stan, 8 years ago

Could you try to remove the custom name of the drive ? (For now it seems to be called "Windows 7") ?

Also try to install the last RCs to check if the installing issues have magically gone.

I'm still investigating, but cannot post on Trac for the same reason as yours this is 16th time I try to post this.

Thanks for your patience so far.

Last edited 8 years ago by Stan (previous) (diff)

comment:38 by historic_bruno, 8 years ago

Hi, please try the latest release (A19) which has some added debug output for this bug. You need to run DebugView (possibly as administrator) before starting the game, to see the output.

by Blue, 8 years ago

Attachment: debug output_Alpha 19.LOG added

debug output from Debug View tool.

comment:39 by Blue, 8 years ago

Okay I can get into Alpha 19, no Cyrillic character shows up. It's been replaced by I think Ansi code and I do still have to press, "Continue", eleven times instead of the previous ten for Alpha 18. I did notice a big change in the way the AI plays now. Some of it will take some getting used to, but I also noticed terrain edits.

Both myself and the AI used to build towers on top of large hills and other high terrain areas. I noticed I can no longer do that. Or if I can, the blocks don't line up like they used to. Also there should maybe be a cancel or disengage the ceasefire mode during game play. I still find it odd that low HP defence towers can shoot further than great massive wall towers on some elevations.

Their descriptions reads some number plus some bonus is still shy of the wall tower's number plus it's bonus but the wall tower doesn't fire at the defence tower, while the defence tower and some archers can easily take down a wall tower. But that's another point for another post I guess.

comment:40 by historic_bruno, 8 years ago

Thanks for the debug output! Now we finally know the error. But I'm not sure it will help much unless Jan has some ideas.

SHGetFolderPathW failed with HRESULT = 0x80070003 for csidl = 0x0005

That means the path wasn't found to your documents folder. I don't know what we can do other than trying a different non-deprecated API to get the path. Maybe handling the error more gracefully than repeatedly failing when creating our game data folders...

I explained above why the path in the error popup is garbled, it is not relevant to the error and can be ignored, it's garbage data in memory from the previous call (which successfully got local appdata path).

comment:41 by Erik Johansson, 8 years ago

As for the CAPTCHA issues, do you have e.g. JavaScript or external cookies disabled?

comment:42 by Blue, 8 years ago

Nope, I keep Java updated because I also use Mozilla Firefox's Nightly (64b) along side Google Chrome 64b. Java and cookies are enabled across all browsers.

in reply to:  40 comment:43 by Stan, 8 years ago

Replying to historic_bruno:

Thanks for the debug output! Now we finally know the error. But I'm not sure it will help much unless Jan has some ideas.

SHGetFolderPathW failed with HRESULT = 0x80070003 for csidl = 0x0005

That means the path wasn't found to your documents folder. I don't know what we can do other than trying a different non-deprecated API to get the path. Maybe handling the error more gracefully than repeatedly failing when creating our game data folders...

I explained above why the path in the error popup is garbled, it is not relevant to the error and can be ignored, it's garbage data in memory from the previous call (which successfully got local appdata path).

Well for some reason though some other folders were scrambled (See the number of Appdata folders he had) so I thought it might have had an influence

comment:44 by Jan Wassenberg, 8 years ago

Surprising to see such simple but important OS APIs fail. I know this won't sound helpful, but perhaps this is best fixed on the OS side (reinstall :/) rather than working around it on the application level. Moving around system folders (drives too full ;) ) has also caused trouble for me in the past.

That said, there is maybe one more thing to try: Some other project also had trouble with SHGetFolderPath and the DEFAULT flag seems to help them: http://dev.etlegacy.com/projects/etlegacy/repository/revisions/e11da545d41e4dabfc307e89d26a0e2051c00d3c/diff/src/sys/sys_win32.c

comment:45 by Blue, 8 years ago

I didn't move the system folders around, I moved the default library folder locations using Windows own move tool. Which I do not see why it would cause any problems because it's its own tool and it tells itself where the location of the contents of the folders are now instead of where they were is my understanding. Normally, Videos, Documents, Music and such folders are all located in the

C:\Users\Blue_W7-64b

directory which is normally on the main drive. They are still there. I never moved those. The contents of those folders have been moved to a new and separate drive. Not a partition, a physical secondary drive. Using the library location tool I moved them from the original drive C main drive to the new backup/storage drive. That being the hassle it is using Windows own move file tool which we all know is slower than molasses. The whole process took 8+ hours to move the million plus files I originally had on the 1 Tb drive C to the new 2 Tb Drive E.

stanislas69: "Could you try to remove the custom name of the drive ? (For now it seems to be called "Windows 7")"

As for why I added a custom drive/system name is because of my old old old school training when building a new rig. In the old days and we're talking the old 8087/8088 CPU cores, not even a 286 system. Some ancient beast which had a hard drive no bigger than 20 megabytes. In order to set one up, we format the hard drive by and gave it a name. Usually the o/s version it was to be formatted in.

So each and every system I built to date, I always format the drive before installing the new o/s and in this case. I built this machine to run Windows 7-64b, which is why it is named, "Blue_W7-64b"... Blue is my name, so aptly I stuck my name on it...

I still don't know why even after a refresh install of the program after scrubbing out all the previous versions (15,16,17 & 18), on program load it's still looking for Cyrillic labelled stuff when there are none anymore. I deleted both hard drive, hidden and un-hidden folders, and the registry for mentions of 0 A.D. prior to installing the newest Alpha 19. So thank-you Jan for replying, as you're the one they all look up to for coding of this nature. How do I close this issue? Or should we leave it open?

comment:46 by Jan Wassenberg, 8 years ago

Yeah, unfortunately I also had trouble with Windows' own move tool. I wouldn't think custom name is a problem.

As you say, reinstalling 0ad doesn't help because the problem lies with the OS, not 0ad data. I think reinstalling the OS (ideally without moving folders) is the proper fix, though that does take time. Alternatively, perhaps historic_bruno might want to try the DEFAULT flag, but no guarantees that will work.

comment:47 by Stan, 8 years ago

Question if you install it in C:Program Files does the bug occur ?

in reply to:  47 comment:48 by Blue, 8 years ago

Replying to stanislas69:

Question if you install it in C:Program Files does the bug occur ?

I don't recall if it ever gave me an option to choose the installation directory and I always let it put stuff where it wanted it to because from a previous problem in version 17 when I did specify where I wanted it installed it couldn't find it. Currently it defaults to this directory:

C:\Users\Blue_W7-64b\AppData\Local\0 A.D. alpha\binaries\system

Which is kind of strange because I thought the AppData directory was meant for configuration (ini, xml,cfg...etc), log and dump files. I generally don't touch that folder unless I'm told to go change/look for something there.

For a test. I uninstalled version 19, and then began from the beginning and installed my first version (15), to see where and what happens during installation. Version 15 was the most stable where the game loads in normally. I did what I did before. When I upgraded I let it overwrite on top of itself without uninstalling previous versions.

That is when things got funny and Cyrillic folders started showing up in version 16, 17 & 18. Each created its own and I had to hit continue a numerous times to get into the game. So what ever you guys did was between version 15 & 16. Something changed back then. Major or minor I do not know. When I did this whole process a 3rd time I uninstalled previous versions before installing each new version and presto - it does not create folders with Cyrillic labels. But it wasn't until version 19 it was still looking for them. Weird eh.

comment:49 by Blue, 8 years ago

I'm on Windows 10-64b now and re-installed the game. I tried to force it to the /program files (x86) directory, but it kept reporting back that it could not access that directory. So I made put it into a folder I created for such nuisances in drive c:/games and it installs fine. Runs fine too, no more pressing continue x10 to get into the game.

Regardless of what I've been reading on the forums regarding Windows 10 and gaming; I have not encountered they problems they claimed it would have and in fact I think the game is running faster and better now under Windows 10-64b, than when it was under Windows 7-64b. With my setup, playing against the AI, I could only use a maximum of 400 minions total for the whole game. So max cap of 200 for me and 200 for the AI. Or if it were 3 AI's, then max cap 300 (100x3). Or else the game lags really bad.

Now under Windows 10 I can run the default 300 player cap per player and so far tested up to 3 players; myself and 2 AI's. It lags a tiny bit in some places when both forces go into action but it isn't bad and still playable.

So a BIG, "Thank-you", to everyone for helping out on this now defunct matter. How do I close this ticket?

comment:50 by Stan, 8 years ago

Milestone: Backlog
Resolution: needsinfo
Status: newclosed
Summary: No Cyrillic Folders, but it's still looking for them.[NEEDSINFO] No Cyrillic Folders, but it's still looking for them.

Closing this ticket as needinfo, eventually it would be been nice to figure out what went wrong with our code.

The first error you've been encountering is probably because either you weren't on an admin account, or your installer didn't have enough right (You shouldn't run it as admin anyways)

comment:51 by historic_bruno, 5 years ago

Description: modified (diff)

Reported again: #5446

Can't be solved without someone who has this problem running the game in a debugger or using DebugView (preferred for non-devs).

Note: See TracTickets for help on using tickets.