1.3.1 Error

Discussion in 'Bukkit Help' started by wumpyc, Aug 3, 2012.

Thread Status:
Not open for further replies.
  1. Offline

    wumpyc

    This error appears:
    Code:
    2012-08-03 17:04:34 [SEVERE] java.lang.NullPointerException
     
    2012-08-03 17:04:34 [SEVERE]    at net.minecraft.server.ItemTool.a(SourceFile:40)
     
    2012-08-03 17:04:34 [SEVERE]    at net.minecraft.server.ItemStack.a(ItemStack.java:206)
     
    2012-08-03 17:04:34 [SEVERE]    at net.minecraft.server.ItemInWorldManager.breakBlock(ItemInWorldManager.java:286)
     
    2012-08-03 17:04:34 [SEVERE]    at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:87)
     
    2012-08-03 17:04:34 [SEVERE]    at net.minecraft.server.EntityPlayer.h_(EntityPlayer.java:139)
     
    2012-08-03 17:04:34 [SEVERE]    at net.minecraft.server.World.entityJoinedWorld(World.java:1219)
     
    2012-08-03 17:04:34 [SEVERE]    at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:498)
     
    2012-08-03 17:04:34 [SEVERE]    at net.minecraft.server.World.playerJoinedWorld(World.java:1201)
     
    2012-08-03 17:04:34 [SEVERE]    at net.minecraft.server.World.tickEntities(World.java:1106)
     
    2012-08-03 17:04:34 [SEVERE]    at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:543)
     
    2012-08-03 17:04:34 [SEVERE]    at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212)
     
    2012-08-03 17:04:34 [SEVERE]    at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474)
     
    2012-08-03 17:04:34 [SEVERE]    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406)
     
    2012-08-03 17:04:34 [SEVERE]    at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
     
    2012-08-03 17:04:34 [SEVERE] Encountered an unexpected exception NullPointerException
     
    java.lang.NullPointerException
     
        at net.minecraft.server.ItemTool.a(SourceFile:40)
     
        at net.minecraft.server.ItemStack.a(ItemStack.java:206)
     
        at net.minecraft.server.ItemInWorldManager.breakBlock(ItemInWorldManager.java:286)
     
        at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:87)
     
        at net.minecraft.server.EntityPlayer.h_(EntityPlayer.java:139)
     
        at net.minecraft.server.World.entityJoinedWorld(World.java:1219)
     
        at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:498)
     
        at net.minecraft.server.World.playerJoinedWorld(World.java:1201)
     
        at net.minecraft.server.World.tickEntities(World.java:1106)
     
        at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:543)
     
        at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212)
     
        at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474)
     
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406)
     
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
    
     
  2. Offline

    pyraetos

    Moved to proper forum.
     
  3. Offline

    wumpyc

    I didn't really know where to post.. So can you tell me so i will know in future?
     
  4. Offline

    pyraetos

    Right here, in Bukkit Help.
     
  5. Offline

    Recolance

    I want to bump this as I'm getting th exact same thing
     
  6. Offline

    pyraetos

  7. Offline

    Recolance

    Will post a pic of plugin list. About 30 of them. The ones that are .disabled are well.... disabled until a new update for them comes because the clearly caused issues with the dev build.
    http://i.imgur.com/5D7iu.png
    [​IMG]

    I'm assuming once the new RB comes out and plugin authors start updating to 1.3.1 this error will simmer away.
    Of course I run a DevB and there will be issues running DevB, but it is an error that causes a crash report to be generated. I can send you the report if you'd like.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 27, 2016
  8. Offline

    pyraetos

    Having spoken with one of the Bukkit core developers,
    Meaning there could be a plugin screwing up the server by dangerous design. If this is only happening in 1.3, I'd say the best option is to stay up-to-date on CraftBukkit development builds, and update every plugin as often as possible.
     
  9. Offline

    Recolance

    Thank you very much. I will do that.
     
  10. Offline

    wumpyc

    We use pretty much the same plugins. And i think that error causes some kind of crash. After that the chat works fine, but the world just freezes and doesn't unfreeze until restart.. I visited some other server with 1.3.1 DevBuild too. And the error was the same. I just hope you guys will fix that in recommended build. Thank you ;D
     
  11. Offline

    lazertester

    Same error here

    Code:
    2012-08-04 01:26:10 [SEVERE] java.lang.NullPointerException
    2012-08-04 01:26:10 [SEVERE]at net.minecraft.server.ItemTool.a(SourceFile:40)
    2012-08-04 01:26:10 [SEVERE]at net.minecraft.server.ItemStack.a(ItemStack.java:206)
    2012-08-04 01:26:10 [SEVERE]at net.minecraft.server.ItemInWorldManager.breakBlock(ItemInWorldManager.java:286)
    2012-08-04 01:26:10 [SEVERE]at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:87)
    2012-08-04 01:26:10 [SEVERE]at net.minecraft.server.EntityPlayer.h_(EntityPlayer.java:139)
    2012-08-04 01:26:10 [SEVERE]at net.minecraft.server.World.entityJoinedWorld(World.java:1219)
    2012-08-04 01:26:10 [SEVERE]at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:498)
    2012-08-04 01:26:10 [SEVERE]at net.minecraft.server.World.playerJoinedWorld(World.java:1201)
    2012-08-04 01:26:10 [SEVERE]at net.minecraft.server.World.tickEntities(World.java:1106)
    2012-08-04 01:26:10 [SEVERE]at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:543)
    2012-08-04 01:26:10 [SEVERE]at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212)
    2012-08-04 01:26:10 [SEVERE]at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474)
    2012-08-04 01:26:10 [SEVERE]at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406)
    2012-08-04 01:26:10 [SEVERE]at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
    2012-08-04 01:26:10 [SEVERE] Encountered an unexpected exception NullPointerException
    java.lang.NullPointerException
    at net.minecraft.server.ItemTool.a(SourceFile:40)
    at net.minecraft.server.ItemStack.a(ItemStack.java:206)
    at net.minecraft.server.ItemInWorldManager.breakBlock(ItemInWorldManager.java:286)
    at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:87)
    at net.minecraft.server.EntityPlayer.h_(EntityPlayer.java:139)
    at net.minecraft.server.World.entityJoinedWorld(World.java:1219)
    at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:498)
    at net.minecraft.server.World.playerJoinedWorld(World.java:1201)
    at net.minecraft.server.World.tickEntities(World.java:1106)
    at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:543)
    at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212)
    at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
    
    What kind of "Bad things with threads" would cause this exact error on different servers? Many of our plugins are homegrown so I take personal responsibility for the cause of the error if it is my behavior, but I need to know what might cause it so I know where to look...


    EDIT:

    Update, I poked around my code and saw that this happened to my players when they broke a cobweb with a shovel, here's my block listener block break event:

    Code:
     
    @EventHandler (priority = EventPriority.HIGHEST)
        void onBlockBreakEvent( BlockBreakEvent e ) {
    if (e.isCancelled()) {
                return;
            }
     
            Player player = e.getPlayer();
            Block broken = e.getBlock();
            if (((broken.getType().equals(Material.CACTUS)) || (broken.getType().equals(Material.WEB))) && (player != null))
            {
                if (!player.getItemInHand().getType().equals(Material.IRON_SPADE))
                {
                    player.sendMessage(ChatColor.RED + "You need an iron shovel to break " + (broken.getType().name().toLowerCase()));
                    e.setCancelled(true);
                    return;
                }
     
                if(broken.getType().equals(Material.CACTUS)) {
                    e.setCancelled(true);
                    Block newBlock = getHighestCactus(broken);
                    while(broken.getY() <= newBlock.getY()){
                        newBlock.setType(setTypeId(0));
                        newBlock = newBlock.getRelative(BlockFace.DOWN);
                    }
                } else {
                          broken.setTypeId(0);
                          broken.getDrops().clear();
                }
            }
    }
    

    I changed that to the following:


    Code:
     
    @EventHandler (priority = EventPriority.HIGHEST)
        void onBlockBreakEvent( BlockBreakEvent e ) {
    if (e.isCancelled()) {
                return;
            }
     
            Player player = e.getPlayer();
            Block broken = e.getBlock();
            if (((broken.getType().equals(Material.CACTUS)) || (broken.getType().equals(Material.WEB))) && (player != null))
            {
                if (!player.getItemInHand().getType().equals(Material.IRON_SPADE))
                {
                    player.sendMessage(ChatColor.RED + "You need an iron shovel to break " + (broken.getType().name().toLowerCase()));
                    e.setCancelled(true);
                    return;
                }
     
                if(broken.getType().equals(Material.CACTUS)) {
                    e.setCancelled(true);
                    Block newBlock = getHighestCactus(broken);
                    while(broken.getY() <= newBlock.getY()){
                        newBlock.setType(setTypeId(0));
                        newBlock = newBlock.getRelative(BlockFace.DOWN);
                    }
                } else {
                        BlockState bs = broken.getState();
                        bs.setTypeId(0);
                        bs.update();
                        broken.getDrops().clear();
                }
            }
    }
    
    And the error stopped. Is block break somehow being handled on a separate thread now? This was working consistently in the past.
     
    Rytis likes this.
  12. Offline

    MineirosPT

    soo?
    any solution?
     
  13. Offline

    horrorduck123

    thank god am not the only
    Code:
    2012-08-05 02:11:45 [SEVERE] java.lang.NullPointerException
    2012-08-05 02:11:45 [SEVERE]    at net.minecraft.server.ItemTool.a(SourceFile:40)
    2012-08-05 02:11:45 [SEVERE]    at net.minecraft.server.ItemStack.a(ItemStack.java:206)
    2012-08-05 02:11:45 [SEVERE]    at net.minecraft.server.ItemInWorldManager.breakBlock(ItemInWorldManager.java:286)
    2012-08-05 02:11:45 [SEVERE]    at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:87)
    2012-08-05 02:11:45 [SEVERE]    at net.minecraft.server.EntityPlayer.h_(EntityPlayer.java:139)
    2012-08-05 02:11:45 [SEVERE]    at net.minecraft.server.World.entityJoinedWorld(World.java:1239)
    2012-08-05 02:11:45 [SEVERE]    at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:498)
    2012-08-05 02:11:45 [SEVERE]    at net.minecraft.server.World.playerJoinedWorld(World.java:1221)
    2012-08-05 02:11:45 [SEVERE]    at net.minecraft.server.World.tickEntities(World.java:1119)
    2012-08-05 02:11:45 [SEVERE]    at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:567)
    2012-08-05 02:11:45 [SEVERE]    at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212)
    2012-08-05 02:11:45 [SEVERE]    at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:476)
    2012-08-05 02:11:45 [SEVERE]    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:408)
    2012-08-05 02:11:45 [SEVERE]    at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
    2012-08-05 02:11:45 [SEVERE] Encountered an unexpected exception NullPointerException
    java.lang.NullPointerException
        at net.minecraft.server.ItemTool.a(SourceFile:40)
        at net.minecraft.server.ItemStack.a(ItemStack.java:206)
        at net.minecraft.server.ItemInWorldManager.breakBlock(ItemInWorldManager.java:286)
        at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:87)
        at net.minecraft.server.EntityPlayer.h_(EntityPlayer.java:139)
        at net.minecraft.server.World.entityJoinedWorld(World.java:1239)
        at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:498)
        at net.minecraft.server.World.playerJoinedWorld(World.java:1221)
        at net.minecraft.server.World.tickEntities(World.java:1119)
        at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:567)
        at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212)
        at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:476)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:408)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
    one i have the same error :(
     
  14. Offline

    gorbb

    I've been getting the following error when users try to chop trees (using my QwickTree plugin)
    Code:
    Failed to handle packet: java.lang.NullPointerException
    java.lang.NullPointerException
            at net.minecraft.server.ItemTool.a(SourceFile:40)
            at net.minecraft.server.ItemStack.a(ItemStack.java:206)
            at net.minecraft.server.ItemInWorldManager.breakBlock(ItemInWorldManager.java:286)
            at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:205)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:546)
            at net.minecraft.server.Packet14BlockDig.handle(SourceFile:46)
            at net.minecraft.server.NetworkManager.b(NetworkManager.java:281)
            at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:105)
            at net.minecraft.server.ServerConnection.b(SourceFile:35)
            at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30)
            at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:559)
            at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212)
            at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
    The user is then kicked with reason "Internal Server Error"
    Going through the code for my plugin, I narrowed down the cause to the following line:

    Code:
    b.setTypeId(0);
    Reading lazertester's example, I changed that to:

    Code:
    BlockState bs = b.getState();
    bs.setTypeId(0);
    bs.update();
    But upon updating and reloading the server, nothing had changed, and the error was still occurring.
    I have checked both of these suggestions of what can be the cause of it, and with no luck. I'm thinking that this could be something to do with the 1.3.1 update, the code works fine on 1.2.5 versions, and when setting the block ID to 0 on leaves, it works fine, just not with Logs.

    Edit: This error doesn't happen when the player is in creative either
     
Thread Status:
Not open for further replies.

Share This Page