Nightinggale / ONI-mods

GNU General Public License v3.0
23 stars 24 forks source link

PipedOutput crash on macOS #2

Open thebezzo opened 5 years ago

thebezzo commented 5 years ago

Hi,

So I was trying to run this mod, but it always crashes the game. I thought it was a conflict with one of the already enabled mods but loading game only with this mod enabled also crashes the game. Please, have a look at my logs. Maybe it will help you to figure out the problem :)

https://pastebin.com/D7hgn2d6

Nightinggale commented 5 years ago

ONI has a bug where mods are corrupted while downloading from Steam. Klei is currently investigating the issue and will provide a fix ASAP.

In the meantime anybody who has a weird crash I can't reproduce should try to install manually from GitHub.

Install guide

TheBrain0110 commented 5 years ago

I got this crash too, and tested and confirmed it still happens with a clean GitHub build, it's not the same as the steam workshop not-updating-properly issues.

It hard crashes to desktop during startup, doesn't even get to the game's "An error occurred, your mods were disabled" screen. Here's the MacOS crash report that pops up:

https://pastebin.com/ASbaxSY4

And the Player.log file, which seems to have a few more lines of stacktrace: https://pastebin.com/1XKWwPp2

Nightinggale commented 5 years ago

Now we know it's not due to steam and that some computers (not all) have a crash due to a null pointer exception, but that's about it. I need more information meaning I likely need to make a new dll file. One which doesn't fix the problem, but instead writes more information to the log.

TheBrain0110 commented 5 years ago

It does seem to only affect Macs, I can run it on my Windows PC just fine. Haven't tried Linux at all...

I'd certainly be up for testing a new build and sharing the logs.

suisseWalter commented 5 years ago

the same seams to happen on Linux(Ubuntu 18.04) with a install via steam. here the end of the Log file: [18:44:40.611] [1] [INFO] Load content (Translation) for mods: [18:44:40.611] [1] [INFO] Liquid Bottler [18:44:40.611] [1] [INFO] Piped output [18:44:40.611] [1] [INFO] Register mods/Local/ and mods/Dev as mod distribution$ [18:44:40.615] [1] [INFO] Logged into Steam with ID;xxx, NAME:wal$ [18:44:40.616] [1] [INFO] [Account] Requesting auth ticket from Steam [18:44:40.640] [1] [INFO] Load content (LayerableFiles) for mods: [18:44:40.641] [1] [INFO] Liquid Bottler [18:44:40.641] [1] [INFO] Piped output [18:44:41.893] [2] [INFO] [Account] Got login for user KU_c1LmyNvg Receiving unhandled NULL exception # 0 0x007ffec4159f00 in funlockfile # 1 0x007ffec415a488 in (Unknown)

if I install via github it crashes aswell and the only thing that changes is the exact location of the crash: # 0 0x007fffdbe16380 in funlockfile # 1 0x007fffdbe16908 in (Unknown)

happy to do further testing on Ubuntu if needed. edit: removed automated links to issue 1

Yaksinikos commented 5 years ago

Piped Output Crash on Start // no other mods active; OS: Linux 64 bit Build: 359645

Log; at (wrapper managed-to-native) UnityEngine.UnityLogWriter.WriteStringToUnityLogImpl (string) <0x00062> at (wrapper managed-to-native) UnityEngine.UnityLogWriter.WriteStringToUnityLogImpl (string) <0x00062> at UnityEngine.UnityLogWriter.WriteStringToUnityLog (string) <0x0001f> at UnityEngine.UnityLogWriter.Write (string) <0x00018> at System.IO.TextWriter.WriteLine (string) <0x0001b> at System.Console.WriteLine (string) <0x00027> at Debug.WriteTimeStamped (object[]) <0x0004f> at Debug.LogError (object) <0x00076> at Debug.Assert (bool) <0x00026> at DebugUtil.Assert (bool) <0x00018> at KPrefabID.InitializeTags () <0x00054> at KPrefabID.get_Tags () <0x00017> at KPrefabID.AddTag (Tag,bool) <0x0004f> at EthanolDistilleryConfig.ConfigureBuildingTemplate (UnityEngine.GameObject,Tag) <0x0006d> at (wrapper managed-to-native) UnityEngine.Object.Internal_InstantiateSingleWithParent_Injected (UnityEngine.Object,UnityEngine.Transform,UnityEngine.Vector3&,UnityEngine.Quaternion&) <0x00074> at (wrapper managed-to-native) UnityEngine.Object.Internal_InstantiateSingleWithParent_Injected (UnityEngine.Object,UnityEngine.Transform,UnityEngine.Vector3&,UnityEngine.Quaternion&) <0x00074> at UnityEngine.Object.Internal_InstantiateSingleWithParent (UnityEngine.Object,UnityEngine.Transform,UnityEngine.Vector3,UnityEngine.Quaternion) <0x00040> at UnityEngine.Object.Instantiate (UnityEngine.Object,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Transform) <0x000b3> at UnityEngine.Object.Instantiate<object> (object,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Transform) <0x0004b> at Util.KInstantiate (UnityEngine.GameObject,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.GameObject,string,bool,int) <0x001dd> at Util.KInstantiate (UnityEngine.GameObject,UnityEngine.GameObject,string) <0x0007a> at LaunchInitializer.Update () <0x0018e> at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0x0005e>

Nightinggale commented 5 years ago

I found the cause of this bug. Apparently ONI is compiled slightly different on windows and non-windows. Normally it doesn't matter, but it does when you mod using Harmony. I posted a bug report to Klei.

I know this has taken a while, but you have no idea how much work it involved to track down this issue. Even getting ONI to run on multiple computers to verify the crash itself was a hassle.

Snazzy757 commented 4 years ago

Has there be any work on this? I crash on my Mac with this mod enabled.

suisseWalter commented 4 years ago

"This issue has not been confirmed by a developer yet." Klei hasn't even acknowledged this bug. so the only alternative is to completely rewrite this mod(as far as I know). but maybe it would be good to update the description of the mod on the workshop

Jemsterr commented 3 years ago

Confirming this is still broken on Linux. It took me a long time to find that it was Piped Output, since I added several mods at the same time.

Please make a note about this on the workshop page.