[SEVERE] java.lang.IllegalStateException: TickNextTick list out of synch

Discussion in 'Bukkit Help' started by Nox13last, Jul 2, 2011.

Thread Status:
Not open for further replies.
  1. So. I've had this issue for over a month now. I alternated between crossing my fingers that a new Bukkit build would fix it, to trying to learn about the problem myself. I've searched this forumn and couldn't find any relevant information, and Google just came up with three pages worth of PasteBins and Pasties, none of which are helpful in the least.
    So I'm hoping people here can help if I send a fresh thread in. Sorry if there was a solution to this problem that I missed. Point me in the right direction if it exists.

    OS: Windows 7 Ultimate​
    Architecture: 64-bit (Quad-core AMD processor. 4GB RAM)​
    Java version/arch: java version "1.6.0_26"​
    Java(TM) SE Runtime Environment (build 1.6.0_26-b03)​
    Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)​
    CB Version: b953 (MC 1.7.2)​
    Opening command: java -Xmx1024M -Xms1024M -Xincgc -jar craftbukkit-0.0.1-SNAPSHOT.jar | Also use server GUI. No discrepancy​
    Plugins (green plugins were added after error, orange plugins were quarantined at the time of error): BukkitVote, CraftBukkitUpToDate, ChairCraft, CreativeGates, Elevators, EpicZones, Essentials, GroupManager, EssentialsSpawn, HeroChat, HeroicDeath, Lockette, MCTelnet, MidiBanks, MinecartManiaCore, MinecartManiaSignCommands, MinecartManiaStation, MinecartManiaTeleport, MobileAdmin, MultiVerse, NoWeather, obuShutTheHellUp, PorteCoulissante, QuickBelt, RedstoneChips, RetractableBridge, SensorLibrary, ShelfSpeak, SpeedSign, SpyerAdminCommands, SpyerConfig, StealthLogin, WorldEdit, BasicCircuits, Permissions, MinecartManiaAdminControls, MinecartManiaAutocart, MinecartManiaAutomations, MinecartManiaChestControl, SpyerAdmin, dynmap
    Server.log:
    Code:
    2011-06-14 19:55:37 [SEVERE] java.lang.IllegalStateException: TickNextTick list out of synch
    2011-06-14 19:55:37 [SEVERE]     at net.minecraft.server.World.a(World.java:1851)
    2011-06-14 19:55:37 [SEVERE]     at net.minecraft.server.World.doTick(World.java:1616)
    2011-06-14 19:55:37 [SEVERE]     at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:389)
    2011-06-14 19:55:37 [SEVERE]     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309)
    2011-06-14 19:55:37 [SEVERE]     at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    2011-06-14 19:55:37 [SEVERE] Unexpected exception
    java.lang.IllegalStateException: TickNextTick list out of synch
        at net.minecraft.server.World.a(World.java:1851)
        at net.minecraft.server.World.doTick(World.java:1616)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:389)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Previous steps taken: Server was stripped back to base, plugins added incrementally. Error was too sporadic for a reliable test, though. Everything was updated, Every plugin is within one recommended generation of Recommended Build.​
    Wrapper used: MC Server GUI 9.5 (dumptruckman). Though TickNextTick has appeared with just console.​

    Additional diagnostic notes: Take these with a grain of salt, or whatever.
    • It's not a Chunk corruption. I used a utility to scan the region files and they came out fine.
    • It doesn't appear on Vanilla Bukkit (Bukkit with no plugins) and it doesn't appear on the Vanilla Minecraft Server (from minecraft.net).
    • Despite the fact that it's (apparently) a sync issue, it's not exacerbated if the host machine is working hard (on the server or elsewhere).
    • Along with the above issue, the '[WARNING] Can't keep up!' error is not related. Nor is it related to the '[WARNING] Time went backwards!' error.
    • It's not fixed with Bukkit updates. And it's not fixed with downgrades. So there's no such thing as escaping to an earlier build where it didn't happen. (Besides, it's pointless due to incompatibility with the Client.)
    • It happens regardless of the amount of players or activity on the server.
    • Due to the nature of the error, it's possible that the problem is with timer-related plugins. Like Bukkitvote's /vote eternal___ or RedstoneChips overall. The former is not responsible, though. I got the error despite quarantining it. It also gave me a false positive for Portecoulissante, something I fear insulted the plugin's author when I asked.
    • Process of elimination (adding plugins in until the error shows) is unreliable diagnosis. It can take seconds, hours, or days to manifest. That's what makes it particularly irritating to debug.
    I'm prepared to answer any questions that might help result in a solution.
     
  2. Offline

    DoomBunnyPwn

    So it has never occurred in vanilla bukkit? Or have you just not run vanilla bukkit long enough?
    I would post a bug report.
     
    Nox13last likes this.
  3. Bug reports for if it appears in Vanilla Bukkit. I am quite confident that I ran the system long enough to string out any errors, so the error is related to plugins.

    But you raise a good point, my doomy leporid passer-by. I will have a duplicate Control Group bukkit running beside it, port muddled (to avoid conflict), and localhost access only (so nobody gets there by mistake.) It will have no plugins, but it will have the world directories.

    I'll report my findings later. Thanks for actually responding. Have a Like, for refreshing my mind. :)

    • Edit: But now that I think about this again. If this were a Vanilla Bukkit error, wouldn't there be an outbreak of this error?
    ---
    On a diagnostic note, the last Time Between Failures was 25 hours. This pushes the MTBF up to about 13 hours.

    [Bumpdate]

    The control group server is still doing fine. It's been running for about 15.5 hours as of writing, and I can't see
    any reason why it would stop any time soon. The normal server, on the other hand, has crashed three times since my last post.

    I think it's safe to conclude that the issue is related to the plugins, as I had concluded before. There is no need to write a bug report at leaky.bukkit.
    ----
    NEW ONE! Man, I should collect these buggers. Does anyone have a bingo sheet for this error? Obviously, quarantining HeroChat screwed things up slightly differently...
    Code:
    2011-07-05 05:09:27 [SEVERE] java.lang.IllegalStateException: TickNextTick list out of synch
    2011-07-05 05:09:27 [SEVERE] at net.minecraft.server.World.a(World.java:1944)
    2011-07-05 05:09:27 [SEVERE] at net.minecraft.server.World.doTick(World.java:1705)
    2011-07-05 05:09:27 [SEVERE] at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:441)
    2011-07-05 05:09:27 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    2011-07-05 05:09:27 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    2011-07-05 05:09:27 [SEVERE] Unexpected exception
    java.lang.IllegalStateException: TickNextTick list out of synch
    at net.minecraft.server.World.a(World.java:1944)
    at net.minecraft.server.World.doTick(World.java:1705)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:441)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422) 
    (Note the line numbers at the end of each line.)

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

    K S

    I'm getting the same thing on a "vanilla bukkit" (no plugins)… I posted here (not sure if it was the right place or not seeing it is a closed issue): http://leaky.bukkit.org/issues/425 — I'm thinking it is a specific sequence of redstone/piston events that precede the illegalstateexception
     
  5. The last reply in that ticket (Before yours) was five months ago. I would have made a new ticket. Tickets are made by one person for one person. As soon as their problem is solved, the ticket is closed. You also did not state what version of Bukkit you have. Open the server and type version. There's a number towards the end that looks like -b953jnks. That's the build number (build 953). I've noticed that people generally get cranky when you don't provide at least that part.

    Regardless of all that, I can state with strong verity that my vanilla bukkit does have no problems (although my last error and your current error are identical, except for your second error box, that I didn't have).
     
  6. Offline

    Raphfrk

    Are both the control and test server running with the same load?

    You could try removing 50% of the plugins and running the control server again. Assuming that it is 1 plugin, then after log2(number of plugins), you will have isolated it.

    A TickNextTick error is usually caused by other threads accessing the main thread at the wrong time.

    If you get the source code for the plugins, you could search for getScheduler(). The should be using the sync calls to access Bukkit rather than the async calls.
     
    ne0nx3r0 likes this.
  7. Well, you see. The Control Group server was running without any plugins, addons, wrappers, et cetera. This proves (or disproves) my conclusion that the error is not innate to CraftBukkit. The server ran on a closed port with localhost-only access, so even players are removed as a confounding variable.

    Meanwhile, the play server (what everyone plays on) is also being diagnosed. I started with all the plugins attached. And every time I got the error, I would remove one plugin. If the error occurred again, it'd demonstrate that the plugin was not responsible, and I'd move on to the next one.
    Yeah, it's not a terrific plan, but I need my server to be up as much as possible with a minimum of functionality loss. You can look at my plugin list in the OP for progress.

    Also, I'm aware of the whole Sync > aSync business. But I'm not a plugin developer and I have almost no knowledge of Java. Frankly, telling me to find something in the source code is not something you should waste your breath on.

    -------------
    Diagnostic note: The readme file for Lockette reports that "This plugin has been tested and shown to be working for many builds of CraftBucket though a number of the more recent builds had a serious issue". This is worth investigation. Since quarantining this plugin 14 hours ago, there has been no issues.
    • Edit: The server survived for just over 30 hours before the TNT error occurred. Seems to not be the problem. Keep searching.
     
  8. Final update:
    Found the problem. MidiBanks.
    Thanks for helpi-- Oh, wait. Nobody even tried. I can say that my skepticism was pretty well-placed.

    Good day to you all.
     
  9. Offline

    Teldelariel

    so how did you go about fixing the issue withe midi banks as I am finding myself with this error now, thanks in advance Tel
     
  10. (Apologies if I sound sarcastic. This topic left a bad taste in my mouth.)
    Since you asked nicely, I can tell let you in on that secret.

    First, I removed MidiBanks because this was obviously a gamebreaking glitch. Obviously. And I waited.
    Unfortunately, the developer hasn't signed in since about the 21st of August, or something. Fortunately, someone made a fix, that someone else posted an unofficial fix. As far as I know, it works exactly as it did before 1060.

    Here you go. Share the wealth, bro.
    https://github.com/downloads/zhuowei/zhuowei.github.com/midibankstest.jar

    Make sure you delete the old MidiBanks, and replace it with this, and rename this, and so on.

    Enjoy.
     
  11. Offline

    Teldelariel

    Thank you very much hope it goes better for us all
     
  12. Offline

    Ne0nx3r0

    Thanks for this comment, it's helped me fix a bug I was dealing with!
     
  13. Offline

    Raphfrk

    Glad to help, was a pretty old post :).
     
Thread Status:
Not open for further replies.

Share This Page