"co cannot be cast to oj" - help

Discussion in 'Bukkit Help' started by Jdbye, Oct 20, 2011.

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

    Jdbye

    Now this is a client error, but this thread I found on google says it's a server side issue: http://www.dawncraftmc.com/showthread.php?tid=424&pid=929#pid929
    That's also the only information I can find about the error on Google (possibly because of obfuscation changes), so I thought someone here might be of help. No idea if it happens on vanilla servers or only on Bukkit.

    The full error is:
    co=BlockStone and oj=BlockChest, so this error is confusing, and I have no idea how to solve it, but it's a big problem because it's happening at the nether spawn so anyone already there or anyone who goes there is unable to play, and I'm getting desperate to solve it. I'm hoping someone else here has had the same problem and found out how to solve it or at least that someone might have some idea of how to solve it based on the error.
    There's nothing out of the ordinary in the server console. I have however experienced this error happen once before at complete random (with a nice pink screen) and it didn't happen again the next time I logged in.

    Edit: Probably not important for this specific error, but I'm running Bukkit b1318.
    Edit2: Seems I was wrong about the deobfuscated names for co and oj (was looking at the wrong client version), but still confused about how I can solve this without using WorldEdit to remove all chests near the spawn within 2 seconds of logging in before I crash (and I'm unsure if even that will help). I'm guessing the error is related to the 1.8 chest orientation bug, and that a chest is inside a stone block because of it, which causes the error, but that's just a wild guess.

    Edit3: I ended up just removing chests near the spawn and it solved it. Still interested in knowing about any better solutions in case this happens again.
     
  2. Offline

    c0mp

    I'm seeing this as well. We have 7 worlds on our server, you can get to any world, from any world. The only exception is from our main world to our survival world, or vice versa.

    The client screen blanks out in a light-gray color, but keeps the cursor captive for several seconds. Then the cursor is released, the screen goes black, and the client needs to be restarted. It all dies with this output to the console:

    Code:
    java.lang.ClassCastException: co cannot be cast to oj
        at aby.a(SourceFile:32)
        at aby.a(SourceFile:17)
        at vx.a(SourceFile:107)
        at vx.a(SourceFile:100)
        at i.a(SourceFile:356)
        at ZRG.a(ZRG.java:32)
        at iw.a(SourceFile:887)
        at iw.b(SourceFile:756)
        at ZER.b(ZER.java:15)
        at net.minecraft.client.Minecraft.run(SourceFile:689)
        at java.lang.Thread.run(Unknown Source)
    Stopping!
    
    SoundSystem shutting down...
    AL lib: alBuffer.c:1081: exit(): deleting 3 Buffer(s)
        Author: Paul Lamb, www.paulscode.com
    
    Exception in thread "Minecraft main thread" org.lwjgl.LWJGLException: X Error - disp: 0x7ff7f4049140 serial: 127923 error: BadWindow (invalid Window parameter) request_code: 2 minor_code: 0
        at org.lwjgl.opengl.LinuxDisplay.globalErrorHandler(LinuxDisplay.java:268)
        at org.lwjgl.opengl.LinuxKeyboard.nSetDetectableKeyRepeat(Native Method)
        at org.lwjgl.opengl.LinuxKeyboard.setDetectableKeyRepeat(LinuxKeyboard.java:152)
        at org.lwjgl.opengl.LinuxKeyboard.destroy(LinuxKeyboard.java:163)
        at org.lwjgl.opengl.LinuxDisplay.destroyKeyboard(LinuxDisplay.java:1015)
        at org.lwjgl.input.Keyboard.destroy(Keyboard.java:349)
        at net.minecraft.client.Minecraft.d(SourceFile:506)
        at net.minecraft.client.Minecraft.run(SourceFile:750)
        at java.lang.Thread.run(Unknown Source)
    
    Nice part is, when you log back in, it brings you to where you were heading, and from there you can go about your business in that world, and travel from that world to any other world, except the one other. To work around it, I've temporarily rigged up an intermediary portal in a third world that sits between the main and the survival worlds' portals in either direction, so you always make a pitstop in another world first, and then hit your destination without a client-crash.

    Along the same thread as your chest-fix, I noticed that by using WorldEdit to //cut and then //paste the chests, it automagically fixes their orientation, leaving their contents intact. Unfortunately the WorldEdit //cut command only supports an argument for blocks to leave when the selection is cut, we would need an argument for blocks to be cut, and subsequently pasted, to fix them on a larger scale.

    I may just start selecting areas or chunks and using //cut and //paste to remove/replace everything, including the chests. The only problem with that would be server memory usage, and number blocks that are being modified at a time. It can choke the server and crash it mid-operation, leaving an unusably corrupt map at worst, or a gaping hole in the world at best.

    There's got to be a more elegant solution out there, it just hasn't slapped me in the face yet. Anyone else know of a better way to mass-reorient chests?

    No one else is getting this, or has any thoughts on mass-chest-reorientation?

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

    marvinej

    im getting it. only when we do worldedit undo commands
     
Thread Status:
Not open for further replies.

Share This Page