0x0ade / FEZMod-Legacy

Kinda dead FEZ mod. Check the linked issue comment for further info.
https://github.com/0x0ade/FEZMod-Legacy/issues/5#issuecomment-341082111
MIT License
23 stars 2 forks source link

FEZ.mm.exe crashes on start #1

Closed andmatand closed 9 years ago

andmatand commented 9 years ago

I'm just trying out v0.1.1 and getting this error when trying to start FEZ.mm.exe:

(11:05:57.113) [JAFM] JustAnotherFEZMod (JAFM) 0.1.1
(11:05:57.138) [JAFM] Initializing FEZ mods...

Unhandled Exception:
System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.
  at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (System.Reflection.Assembly,bool)
  at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0 
  at FezGame.Mod.FEZMod.PreInitializeModules (System.Reflection.Assembly assembly) [0x00000] in <filename unknown>:0 
  at FezGame.Mod.FEZMod.PreInitializeModules () [0x00000] in <filename unknown>:0 
  at FezGame.Mod.FEZMod.PreInitialize () [0x00000] in <filename unknown>:0 
  at FezGame.Mod.FEZMod.PreInitialize (System.String[] args) [0x00000] in <filename unknown>:0 
  at FezGame.Program.Main (System.String[] ) [0x00000] in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.
  at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (System.Reflection.Assembly,bool)
  at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0 
  at FezGame.Mod.FEZMod.PreInitializeModules (System.Reflection.Assembly assembly) [0x00000] in <filename unknown>:0 
  at FezGame.Mod.FEZMod.PreInitializeModules () [0x00000] in <filename unknown>:0 
  at FezGame.Mod.FEZMod.PreInitialize () [0x00000] in <filename unknown>:0 
  at FezGame.Mod.FEZMod.PreInitialize (System.String[] args) [0x00000] in <filename unknown>:0 
  at FezGame.Program.Main (System.String[] ) [0x00000] in <filename unknown>:0

This is on Ubuntu 14.04 64-bit, using the Humble Bundle version of FEZ (1.11).

Is there something I'm forgetting to do? I've used an earlier version of this mod successfully before, but that was with the Steam version of FEZ.

0x0ade commented 9 years ago

It seems like a .mm.dll went missing after patching or simply can't be loaded from inside FEZ. Have you removed them or updated them without repatching? Also, could you please retry with the newest MonoMod.exe version? (I need to push its source to GitHub once I've cleaned it up - it's just a hacky mess right now)

Alternatively I'll need to force MonoMod to include everything from the mods into the patched FEZ.mm.exe

andmatand commented 9 years ago

I just wiped my FEZ installation folder, reinstalled, and repatched without backing up any of the files (just to make sure I didn't do that part wrong), and got the same error. Then I tried with the version of MonoMod.exe at that link and got the same error. Then I re-ran mod.sh (do I have to do that after getting the new MonoMod.exe?), but I still got the same error :\

Anything else I should try?

0x0ade commented 9 years ago

Yes. It may still be building, but could you test build 31 ("Only load .mm assemblyies when loading modules") from this list without the editor and speedrun mods? That means, only the newest MonoMod.exe you already downloaded, the main mod and the engine mod?

It's weird because I'm running the same OS as you.

EDIT: Typos and added a missing link.

andmatand commented 9 years ago

I did that, then got this error:

Could not load file or assembly 'System.Web.Services' or one of its dependencies.

So I installed libmono-web-services4.0-cli and it worked! Was that the problem the whole time?? It also works when I add the editor mod, and I can use the editor :D

0x0ade commented 9 years ago

Huh - that seems weird, as I can't remember using System.Web.Services anywhere. JAFM blindly checked for a mod inside of every assembly and assembly referenced by any assembly currently loaded. Now it checks if the assembly name ends with ".mm" (required for any MonoMod). This means FEZ itself or any of its assemblies require System.Web.Services and you were lucky that it didn't crash yet :D I guess it has got something to do that it still blindly loads the references before actually checking their names.

This issue should be resolved now anyway. Thanks!

0x0ade commented 9 years ago

Still happens in the Steam version. Finally got myself to run Steam in bash to get a log of the error.