Player Somehow Mines Air When Punching Another Block

As states the title, a player on a server for which I develop plugins. Every time the player punches a block, the server thinks it is Air and ends up crashing because Air cannot be mined.

Forge: 1.8-
SpongeForge: 1.8-1530-2.1-DEV-774

Please also note that Pixelmon 4.0.8 is used.

I’d upload the crash report but it doesn’t accept the file format extension.
So here’s a copy of the stack trace.

java.lang.IllegalArgumentException: Cannot get property PropertyEnum{name=variant, clazz=class net.minecraft.block.BlockStone$EnumType, values=[stone, granite, smooth_granite, diorite, smooth_diorite, andesite, smooth_andesite]} as it does not exist in BlockState{block=minecraft:air, properties=[]}
    at net.minecraft.block.state.BlockState$StateImplementation.func_177229_b(
    at net.minecraft.block.BlockStone.func_176201_c(SourceFile:54)
    at net.minecraft.block.Block.getHarvestTool(
    at net.minecraftforge.common.ForgeHooks.canHarvestBlock(
    at org.spongepowered.mod.event.SpongeForgeEventFactory.callBlockBreakEvent(
    at org.spongepowered.mod.event.SpongeForgeEventFactory.callForgeEvent(
    at org.spongepowered.mod.event.SpongeModEventManager.postBulk(
    at net.minecraft.server.MinecraftServer.func_71190_q(
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(
    at net.minecraft.server.MinecraftServer.func_71217_p(

I’ve also asked the player causing the problem to stop punching blocks, and since then the server has not crashed.

This was fixed with Sponge build #776 - please go try that build and see if the issue persists, as it seems to be the same problem as here:

We had already tried that version but decided to downgrade because of a different crash…

java.lang.NullPointerException: Exception in server tick loop
    at co.aikar.timings.TimingHistory.lambda$null$5(
    at co.aikar.timings.TimingHistory$$Lambda$181/1132240277.apply(Unknown Source)
    at co.aikar.util.JSONUtil.mapArray(
    at co.aikar.timings.TimingHistory.lambda$new$6(
    at co.aikar.timings.TimingHistory$$Lambda$180/511458439.apply(Unknown Source)
    at co.aikar.util.JSONUtil.mapArrayToObject(
    at co.aikar.timings.TimingHistory.<init>(
    at co.aikar.timings.FullServerTickHandler.stopTiming(
    at net.minecraft.server.MinecraftServer.onTickEnd(
    at net.minecraft.server.MinecraftServer.func_71217_p(

Hmm that’s an interesting crash…
Remove Pixelmon, does it still happen? (Using spongeforge 776)

It’s quite hard to reproduce because the server just crashes randomly, but I’ll try.

OK thanks. A temporary solution would be to disable the timings module. Go into config/sponge/global.conf and in the modules section set timings to false

What do I lose from disabling that?

The timings module (developed by @Aikar for Spigot) allows you to monitor where the server could be lagging by measuring the time it takes to perform different operations.