mojira.dev

skyrising

Assigned

No issues.

Reported

MC-255173 Nether portal teleportation is inaccurate at large coordinate values Fixed MC-254634 POIs are not created properly when upgrading worlds Fixed MC-254535 Nether portals cannot replace snow layers Fixed MCL-19799 Modern TLS cipher suites not supported on older Windows versions Fixed MC-211601 Entities are loaded after scheduled ticks are processed causing detector rails, pressure plates, etc. to turn off Fixed MC-202246 Drowned navigation causes memory leak/performance degredation Fixed MC-176901 Statistics freeze at signed 32 bit integer limit Confirmed MC-139935 Infinite loop when a raid is searching for a spawn position Fixed

Comments

Specifically this happens because BeePollinateGoal.findNearestBlock prefers blocks on the layer below the bee over blocks on the same layer and then after the remainingCooldownBeforeLocatingNewFlower expires the bee will not have moved from its original position and find the same flower again, endlessly trying to get to the bottom flower without success.

After some code digging I think I tracked down the line(s) where the issue happens. It's in FancyTrunkPlacer::placeTrunk and looks something like this (local variable names are unknown, so I came up with some guesses):

double branchBaseTemp = branchPos.getY() - Math.sqrt(distX * distX + distZ * distZ) * 0.381;
int branchBase = branchBaseTemp > branchCutoff ? branchCutoff : branchBaseTemp;

Here (int)branchBaseTemp rounds towards 0, which leads to branches generating 2 blocks above the sapling, instead of 3, so they are not prevented by the height limiter.

If you move the height limiter of the "positive" setup up one block you can see the difference:

[media]

I also had a similar crash with the relevant line being

at aej.a(SourceFile:453) -> ServerLevel.tickChunks

Seems like the ServerLevel.random is the instance accessed from multiple threads.

Yeah, the issue is the event registered in MinecraftServer::registerJFRHooks which keeps a reference to this (the server) through the Runnable.
The fix would be to store the Runnable in a field and call FlightRecorder::removePeriodicEvent when the server shuts down.

This is caused by StrongholdPiece::generateSmallDoorChildLeft and StrongholdPiece::generateSmallDoorChildRight having duplicate switch branches.

Using a different setup that also moves a lot of blocks (Comparable to the one in MC-192845) I got similar numbers:
1.12.2: 18-20 FPS
1.15.2: 13-17 FPS
1.16.1: 0 FPS
1.16.2-pre3 / 1.16.2-rc1: 5-10 FPS

Results from code digging:
the static field MinecraftServer.DEMO_SETTINGS now loads WorldGenSettings.DEMO_SETTINGS,
WorldGenSettings loads FlatLevelGeneratorSettings which loads structures/features.

As a result of that things are initialized in the wrong order because all of this happens before Bootstrap.bootStrap() in main()

TwistingVinesFeature::placeTwistingVines loops as long as the block below isAir but since void_air is air it never terminates

Nevermind, I probably made a mistake while restarting the server

Still seems to happen in 20w10a

This is probably caused by the use of a Int2ObjectOpenHashMap instead of a List for storing the entities of a ServerWorld (fabric name) which means the processing of entities happens in a seemingly random order instead of the order they were created.

Hopper and chest minecarts seem to overshoot the curve if accelerated by at least 2 powered rails.

As seen in the picture they can also activate detector rails while the bounding box is off track.