renaudbedard / fez-1.12-issues

A public repository for FEZ 1.12 testers to log issues
9 stars 0 forks source link

FEZ Doesn't Start #148

Closed TristanMike closed 7 years ago

TristanMike commented 7 years ago

(In Steam) After updating to 1.12 the game no longer starts. After clicking "Play" the game starts "Running" according to Steam and then almost immediately stops and starts the "Syncing" process. The game never shows up in Task Manager, even for a brief moment. The debug files are useless as the game doesn't start and only contain this one line:

(11:22:33.698) [FNA] INFORMATION : Controller 0: XInput Controller

Running Windows 8.1 on a Laptop with a GTX 660M dedicated video card.

If I revert back to 1.11, game starts and plays perfectly fine.

[2016-08-26] Debug Log.txt

flibitijibibo commented 7 years ago

Can you verify the game data? The only thing that happens between controller enumeration and the version info (which would be the second line) is pulling in launch options and setting up thread execution state, the latter also being logged. If it's not presenting a crash dialog then something is allowing us to exit silently, but silent exits emit a log entry as well.

For whatever reason Steam was preventing clean updates of the game because it claimed the content was encrypted, so at the moment I'm pretty paranoid about Steam reliably updating the game.

flibitijibibo commented 7 years ago

Actually, here's something silly: If you go into the log folder, what happens when you delete Settings?

TristanMike commented 7 years ago

Okay, sorry for the delay, left the house when the responses came in. Oh, also a little more about my setup. I'm running my laptop to my TV via HDMI and have my screen set to only show on Desktop 2, so my laptop screen isn't on while my TV screen is on and vice versa.

I should have mentioned that I had already verified the game files, all OK.

Deleted the "Settings" in the Log folder as suggested, game still does not start, default settings file NOT replaced.

I also tried setting launch options to "--singlethreaded" as suggested in a Steam Thread by a developer to no avail.

I also "Deleted Local Content" and re-downloaded the current 1.12 version to no avail. Though, to be fair and honest, I didn't delete any residual folders/files.

In keeping with being transparent, I also haven't updated to the latest nVidia drivers, as according to some reports, there are issues with the current release. I am on a slightly older driver version, but we're not talking over 6 months and I don't really think it's the issue, but throwing it out there all the same.

I should also mention that a lot of times, the Debug Log.txt actually doesn't update on 1.12 when it seems to fail and I can't say why or how it eventually does decide to update the files. I have 7 different Debug Log.txt not including the main one. All of which say the same thing as the file I previously uploaded about the controller. For instance, if I revert back to 1.11, load up the game and exit, the Debug Log.txt edits properly. However, when I then upgrade to 1.12, and I run the game without success, the file doesn't always update.

And, for what it's worth, here is the debug list from v. 1.11 after the game starts and exits cleanly. You are probably aware of all of it, but just to show things do, in fact, work properly. Huh, what's also interesting is that the line from my previously uploaded Debug Log.txt is no where to be found in the Debug Log.txt from 1.11 when the game starts properly, as you will see from my upload. Debug Log.txt

flibitijibibo commented 7 years ago

Let's try something a little different... since we're not getting a crash dialog from Windows, and the log isn't producing anything either, there might be another way to get data. Open up command prompt and head over to the FEZ folder...

cd "C:\Program Files (x86)\Steam\steamapps\common\FEZ"

And then, let's pipe stdout/stderr to a file:

FEZ.exe 1> maybeALog.txt 2>&1

Try running it that way, and see f maybeALog.txt has anything interesting.

TristanMike commented 7 years ago

Here ya go maybeALog.txt

flibitijibibo commented 7 years ago

Wow, this is an obscure bug indeed! For anyone reading via e-mail right now:

Unhandled Exception: System.MissingMethodException: Method not found: '!!0[] System.Array.Empty()'.
   at Common.ReflectionHelper.GetValue(PropertyInfo member, Object instance)
   at Common.ReflectionHelper.GetValue(MemberInfo member, Object instance)
   at ContentSerialization.SdlSerializer.SerializeInternal(Object instance, Type declaredType, Tag tag)
   at ContentSerialization.SdlSerializer.Serialize[T](String filePath, T instance)
   at FezEngine.Tools.SettingsManager.Save()
   at FezEngine.Tools.SettingsManager.InitializeSettings()
   at FezGame.Program.Main(String[] args)

It appears the Windows version is being built in a way that lends to .NET not being happy with the engine assemblies. Here's something I found from the Visual Studio bug tracker:

https://connect.microsoft.com/VisualStudio/feedback/details/1097462/missingmethodexception-additional-information-method-not-found-0-system-array-empty

So, a couple ideas:

After that, Renaud may have to look into how it's built. This is definitely a Win32-specific issue though, since Linux/Mac are built slightly differently. But hey, at least we know what happened now! Thanks for digging into this.

renaudbedard commented 7 years ago

Yep, flibit's advice sounds right. Steam should be installing .NET Framework 4.6 as a pre-requisite to running the game, but it either failed or thought it was OK not to... try to install it manually and see if that helps!

TristanMike commented 7 years ago

Then it failed, because Steam did attempt to install it, but since I received no error/failure for it, and because it hadn't attempted again, I thought it had installed successfully.

Oh, and FEZ does indeed run after the installation of the web installer/restart.

flibitijibibo commented 7 years ago

Excellent! Will have to keep this in mind if anyone else runs into a silent exit with no log...