GlobbyPotato / Rockhounding_Chemistry

The purpose of Rockhounding Chemistry is to assembly and maintain an industrial area in which several machines handle various types of ingredients (solid, fluid and gaseous) to produce advanced material for mid-late game stages. It also leads to several features, functional applications and experiments.
Other
15 stars 17 forks source link

Crash with foamfix? #59

Closed wormzjl closed 6 years ago

wormzjl commented 6 years ago

Crashlog: https://gist.github.com/wormzjl/320cfb936ccc312450bbcbfe773ca0b2

GlobbyPotato commented 6 years ago

When does the crash happen? Do you have a corrupted block placed? I have the same version of FoamFix and it doesn't crash The author of FoamFix says to pass to him first the crashes involving FoamFix and test if it happens without it.

wormzjl commented 6 years ago

https://github.com/asiekierka/FoamFix/issues/157

wormzjl commented 6 years ago

It seems that this only happens on a server, and the chance of crashing is totally random. I've noticed that there is a lag between breaking a machine and the machine dropping?

GlobbyPotato commented 6 years ago

Tracking back this kind of crashes it seems that it could be the way the facing of the machines is handled and Foamfix may trigger the issue. Indeed in the log it searces for a down position that does not exist. If it happens on servers only probably in the peak moments it happens some kind of desync so it searches for a default facing that doesn't exist. I never noticed this kind of bug but apparently someone else experienced it so I can see a connection now.

I made a tweak that could fix the issue. The problem is that it will cause the reset of several machine facing, so if you have them already placed you need to wrench them to orientate where they were before or break and place again. When I'll get it ready I will push an alpha for testing. EDIT: ok, maybe the facing reset will be not a problem.

asiekierka commented 6 years ago

Not a FoamFix bug. This part of FoamFix mimics vanilla closely, and your explanation is reasonable - remember the client-side rendering is threaded since 1.8, so you can no longer expect full state coherency!

GlobbyPotato commented 6 years ago

Yeah, I thought something was not right when assigning or retrieving the facing value but I never got to reproduce it to figure out. Facing is not tied to metadata so probably defining only the horizontal states was leaving holes. I'm trying switching from BlockHorizontal to BlockDirectional to have all the directional values defined with no retro-messup. Hopefully it solves.

wormzjl commented 6 years ago

So if I put foamfix on server this crashes the server too...

asiekierka commented 6 years ago

Are you sure it doesn't happen without FoamFix? And is it reproducible?

wormzjl commented 6 years ago

No server crash happened before since I was using spongeforge, such server crashe happens after when I removed sponge. I guess foamfix disables itself when sponge is detected?

asiekierka commented 6 years ago

That is super weird

GlobbyPotato commented 6 years ago

There is an update available if you want to test it. I still don't have full informations on this issue. Does it crashes randomly but generally works or does it crashed always? Does it work creating a new world?

wormzjl commented 6 years ago

Seems to be fixed!