cem3cem3 / AppliedEcogisticsIssues

Bug tracker for the Eco mod: Applied Ecogistics
3 stars 1 forks source link

Server crash with new version 9.4 #37

Open xazes opened 3 years ago

xazes commented 3 years ago

Item System mod loads but when i put anything in the world to chest the client crash. Server version:9.4

cem3cem3 commented 3 years ago

I'm surprised you even got it to load the world. This mod is currently broken because of an issue with harmony and dotnet5.0. Unfortunately this means I cannot bring out a fix until it has been fixed upstream.

xazes commented 3 years ago

any news?

cem3cem3 commented 3 years ago

Not really. Harmony is still broken. I have been poking at things to see if there is anything I could do, but so far nothing seems to look promising. As much as I want to get the mod to work again, I wouldn't expect the issue to be fixed any time soon.

Dave247 commented 2 years ago

I noticed Harmoney hasn't marked a release on their Github since July of last year which isn't exactly promising, and neither is the low level of opened issues as I'd expect for there to be a lot more activity and problems being found.

I assume the only other alternative would be to rewrite the entire mod in order to use a different library, but I know due to the crazy amount of time and effort that would be required for that it's not something that I would want to do as it would be too hard to justify the time for it.

D-Kay6 commented 2 years ago

Any update on this with the 2 updates of Harmony?

D-Kay6 commented 2 years ago

So far it seems like I got it working. Decompiled the latest version, updated all dependencies, fixed some issues with harmony patches, and the server starts and has items available.

cem3cem3 commented 2 years ago

The main problem is with the linux version of Eco. The issue is with monomod.common, specifically in https://github.com/MonoMod/MonoMod.Common/blob/25de541033dc93528ca78cc7ac20a7bcb66dc48c/RuntimeDetour/Platforms/Runtime/DetourRuntimeNETCorePlatform.cs#L29. I have brought this up to the maintainer of the library, but as far as I could tell, nothing came of it.

The reason why I have not been trying to release a windows only version is twofold: 1. Most server hosts use linux and 2. I develop solely on linux, so having to test on windows is just highly annoying as it involves synchronizing files and dev environments.

Do note, that I write mods in my free time, so until this linux incompatibility is resolved, I will be preferring to work on my other mod(s) where monomod.common is not a requirement or the JIT does not get in the way.

That isn't to say I won't personally try to fix the issue in monomod.common. In fact I did try my hand at it a while back, but only managed to exchange one error for another at the time.

If you or anyone else is familiar with dynamic library loading in linux, I think the problem is that the getJit function pointer needs to be retrieved, without loading the library and linking, as doing so will cause coreclr to think that some functions have been re-defined.

If fixing this issue manages to resolve the JIT issue that harmony has, then you have my word that I will be bringing back this mod unless something unforeseen happens.

D-Kay6 commented 2 years ago

Sadly enough, I only develop on windows. Would you be willing to share the project files with me, so I may work on a windows version? It is just to make it easier than having to decompile and lose some details in the code. Not gonna take credit for it, I only want it to work again. So far the decompiled version works, I can use the accessor and connector as intended, but it does crash if they are close to one another and I remove the connector.