Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[With Sponge] Occasional Mars spawn chunk errors #2975

Closed
hugeblank opened this issue Sep 9, 2017 · 22 comments
Closed

[With Sponge] Occasional Mars spawn chunk errors #2975

hugeblank opened this issue Sep 9, 2017 · 22 comments

Comments

@hugeblank
Copy link

Minecraft version: 1.11.2
Galacticraft version: 117
Forge version: 13.20.1.2454

Single player (SSP) or Multiplayer (SMP)?
SMP
Galacticraft add-ons and other mods installed?
ExtraPlanets
Please provide screenshots / crash report / log as needed.
notmars

The issue:
Well... as can be seen by the screen cap, this is definitely not mars. It seems to be generating the spawn chunks using the Tinkers' construct slab blocks. It looks to be a roughly 16x16 chunk area that's bugged out this way. I've tried on three different instances to delete the dimension and it regenerates this way.

@dj3520
Copy link
Contributor

dj3520 commented Sep 9, 2017

Modlist?

@hugeblank
Copy link
Author

@dj3520 Sorry, here. Scroll down a bit, it's there.

@dj3520
Copy link
Contributor

dj3520 commented Sep 9, 2017

Guessing SpongeForge: 1.11.2-2393-6.1.0-BETA-2592 as from your other submitted issues, or am I wrong?Also I'm just aiming to get a bit more information so that someone who actually knows how to fix this doesn't have to ask.

@hugeblank
Copy link
Author

Yes, at info is also on the website too :P the version for sponge is correct, the forge version isn't. I plan on fixing it soon so that it properly represents everything on the server.

@radfast
Copy link
Collaborator

radfast commented Sep 14, 2017

Hi @hugeblank

This appears to be a block ID issue during worldgen. It's likely not a Galacticraft issue at all, but caused by something else in your setup. Obviously, Galacticraft is using its own correct block IDs when generating Mars, and the rest of the planet confirms that.

We can maybe look into this some more, but you will need to help by doing more extensive testing, as the issue is specific to your server.

  1. Does the issue occur on a fresh server with the same modlist?
  2. Does the issue occur on a fresh server with the same modlist without Sponge?
  3. Does the issue occur with only Tinker's Construct and Galacticraft installed, no other mods?

@vsddev
Copy link

vsddev commented Sep 17, 2017

This is an issue I am having as well. Its not any particular mod that has its blocks used either. It can be any number of mods that you have installed along side it. From what I have seen it happens regardless of what mods are installed however I have not tested them all individually yet, just in quarters.

This affects DIM-33 and DIM-29 though possibly by chance as it has affected other galacticraft planets instead on rare occasions. Both sponge and forge are the latest. This also only happens to GalactiCraft dimensions. The corruption is not limited to one chunk but often spanning several 10s to 100s of chunks. This also is not a generation issue as well as it will be fine and then corrupt into what you see in that image after a restart or two and a unlogged shutdown error within forge clearly marked as an error in galacticraftcore.

https://pastebin.com/Rz0XxmyY

Labeling it as not a Galacticraft issue seems to be a bit premature in light of galacticraftcore being specifically named in the error that is the most likely candidate as the source given that the bug appears after a restart and so does that error. It is worth mentioning that the unloading of the nether is NOT the galacticraftcore error as when I include code to disable world unloading that error is gone but galacticraft-plaents and extraplanets still failed to receive their FMLServerStoppedEvent event because galacticraftcore errored on its FMLServerStoppedEvent event. Also there is world duplication of the nether, overworld, and end and it is caused by galacticraft as it only happens when galacticraft is installed, even by its self.

The invisible error
https://pastebin.com/7ipHZ1Ep

The code used to disable unloads (Not for production use as it nukes ids on restart)
https://pastebin.com/iAsAqZZr

@radfast radfast changed the title Mars spawn chunk errors [With Sponge] Occasional Mars spawn chunk errors Oct 1, 2017
@radfast
Copy link
Collaborator

radfast commented Oct 1, 2017

clearly marked as an error in galacticraftcore

The system is not always accurately marking which mod has errored, so this is fairly meaningless.

I'm still having difficulty reproducing this error. I test Galacticraft myself on a Sponge 1.11.2 server, I've played through around 30 hours of gameplay and it is rock solid stable.

Please can you show me the error relating to the FMLServerStoppedEvent event, maybe we can do something about that.

@ryantheleach
Copy link

Current theory is something else might be messing with duplicate dimension id's like the nether, and potentially crashing the save thread.

@MJRLegends
Copy link
Contributor

@radfast Ok i have this problem on my private server,

I have spent 10 hours or so debugging this, it seems that mars and dimension -33 dont seem to be saving, thats why blocks are changing as its corrupted chunks

This is a list of the tests I've tried
Test 1: Deleting all sponge data. Still broken
Test 2: Deleting world. Still broken
Test 3: Deleting mod pack and reinstalling. Still broken
Test 4: Deleting everything redownloading it all. Still broken
Test 5: Made a test server with just Sponge, Galacticraft, ExtraPlanets. Still broken
Test 6: Removed ExtraPlanets from my test server. Worked
Test 7: Removed everything in ExtraPlanets except Planets, Biomes, Moons. Still broken
Test 8: Removed everything in ExtraPlanets except Planets, Biomes. Still broken
Test 9: Removed everything in ExtraPlanets except Biomes, Moons. Worked
Test 9: Removed everything in ExtraPlanets except 4 Planets, Biomes, Moons. Worked
Test 10: Removed everything in ExtraPlanets except 5 Planets, Biomes, Moons. Still broken
Test 11: Removed everything in ExtraPlanets except 5 Planets, Biomes, Moons and changed the 5th dimension id. Still broken

From these tests it seems that it breaks when i add any 5th planet, the 4 planets can be any 4 planets in my addon.

The people over at SpongeForge discord have been helping me with this and can see how this is a issue and are confused as much as me.

We really need your help @radfast with this

@MJRLegends
Copy link
Contributor

MJRLegends commented Nov 28, 2017

@radfast Also it seems that when the server starts with spongeforge that the dimensions get re-registered


[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -30
[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -20
[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -21
[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -15
[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -29
[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -13
[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -16
[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -17
[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -31
[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -37
[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -35
[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -34
[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -38
[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -43
[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -32
[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -28
[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -41
[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -33
[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -39
[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -40
[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -42
[22:04:52] [Server thread/INFO] [Galacticraft/galacticraftcore]: Re-registered dimension: -36

@radfast
Copy link
Collaborator

radfast commented Dec 10, 2017

I don't have any insight.

SpongeForge adds many layers of code and complexity to standard Minecraft/Forge dimensions.
A further problem is that SpongeForge's API is not visible to Forge mods, so we cannot even see or control what Sponge does.
A further problem is that a lot is controlled by Sponge dimension configs, which again are not visible to Forge mods. (On your install, it might be worth checking all the dimension configs for your planets.)

I have no clue why ExtraPlanets adding 4 new planets (in addition to Galacticraft's standard 4 dimensions) is OK but 5 new planets breaks things.

To troubleshoot this properly, you'd need to set up an IDE workspace with the full SpongeForge source code as well as Galacticraft source and Extra Planets, and then set breakpoints and watches. I personally have not succeeded to set up SpongeForge sources error-free (even without Galacticraft), and I don't have time to keep trying - maybe you can be smarter or luckier than me and you can get it to work?

The Re-registered dimension message looks to be coming from Sponge, it's not a message contained in Galacticraft code. Again, I think you're seeing this because Sponge is making major changes to Minecraft / Forge dimension handling, probably the message means everything is OK..

@radfast
Copy link
Collaborator

radfast commented Dec 10, 2017

Some things I would maybe look at if trying to guess quickly: dimension ID conflict, some kind of default size limit for a data structure related to the dimensions, or a time-out in the save process (e.g maybe another server tick happens while the map save is still ongoing).

@MJRLegends
Copy link
Contributor

Thanks for the reply, im not sure how i can go about debugging this myself without the help of spongeforge and maybe yourself.

After spending the 10 hours already on this issue, im not sure where to start with it if im honest, the fact that it works with forge confirms in my own head that my dimensions are registered correctly and the fact that me disabling different dimensions still causes the issue.

The questions which im still confused over are:
Why is it specific to Mars and my Dimension of Phobos?
Why does it happen when i disable all planets except 4 but on the 5th which can be any 5th one it breaks?
And finally why with SpongeForge and Not Forge too?

@MJRLegends
Copy link
Contributor

I will see what i can debug further myself and get back to you

@phit
Copy link

phit commented Dec 10, 2017

I personally have not succeeded to set up SpongeForge sources error-free (even without Galacticraft), and I don't have time to keep trying - maybe you can be smarter or luckier than me and you can get it to work?

let me know what the exact issues are, clone spongeforge recursively run setupdecompworkspace like with any other mod
then you should be able to just any mod source as a module in intellij, only annoyance mappings have to match

see here

@MJRLegends
Copy link
Contributor

MJRLegends commented Dec 10, 2017

Ok just ran a quick test with my local server that i made a while ago for my tests posted above,

The tests are did are as followed:
Changed Mars dimension id to -99 in the config: On the save output it showed saving of "Auto-saving chunks for level 'DIM-29'/Mars" But still no saving on my dimension with id -33 and nothing with -99, ummm wtf?

Im even more confused but doing more debuging now

@MJRLegends
Copy link
Contributor

Just tried changing phobos id to -105: and phobos saves now but mars doesnt still

@MJRLegends
Copy link
Contributor

MJRLegends commented Dec 10, 2017

It seems if i change anyone of the dimensions from -29 for mars and -33 for phobos that dimension works

But only one and not both if i change both

@MJRLegends
Copy link
Contributor

1.10.2-2477-5.2.0-BETA-2635 or 1.10.2-2477-5.2.0-BETA-2637 wasnt able to test 1.10.2-2477-5.2.0-BETA-2635 as it didnt even start the server just errored out

1.10.2-2477-5.2.0-BETA-2632 and back works

i wasnt able to find a stable version before build 2632 that worked for everything but this issue so i cant change back to one without bring more issues to the table

Atm im debugging with changing stuff from forge mods side but atm i think this isnt the place i should be looking and its in the spongeforge code i should be looking

@MJRLegends
Copy link
Contributor

i think the problem is there two nethers and two ends, but no mars and phobos
https://gyazo.com/680590661e5ed0edefbc0eb629ed8ce0

@MJRLegends
Copy link
Contributor

And seems to be linked to the issue fixed by SpongePowered/SpongeForge@debfb39

@radfast
Copy link
Collaborator

radfast commented Jan 7, 2018

hey @MJRLegends

I'm closing this as I don't think the issue is on GC's side, but I am still monitoring the discussion here.

Changed Mars dimension id to -99 in the config: On the save output it showed saving of "Auto-saving chunks for level 'DIM-29'/Mars"

This is a possible concern. Bear in mind that the dimension ID in the config is used for both the WorldProvider type ID and the actual Forge dimension number. It's also possible that the folder name DIM-29 is always used for Mars even if the dimension ID changes - it's only a name.

It would be interesting to look at what happens with the same setup without Sponge.

I do not have time to troubleshoot Sponge dimension issues. They can quite easily occur, because Sponge adds a lot of different dimension handling which is aimed at multiverse plugin type dimensions (extra server spawn dimensions etc) but not originally coded with Forge dimensions in mind. Sponge has internal data structures for dimensions which are not even accessible from Forge mods, which is a huge PITA.

In addition Sponge creates a Sponge config file for each of your dimensions. Bear in mind that if you are changing dimension things on Galacticraft's side, you might still be using an old version of the Sponge config file for that dimension, and that might mess with some of your GC changes.


I don't remember the exact issues I had with trying to integrate Sponge with my Galacticraft development environment for debugging Sponge, but I spent a full day on it without success. I suggest you try it yourself, you might not encounter the same issues if I don't "poison" your attempt by telling you what I did...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants