Fear and Loathing in Java Land

Sep 08, 2006 15:59

Hmm, my first post since I started working for the hallowed Ell Jay nearly two weeks ago. Two weeks that have seen me nose deep in obscure research documents and frequently looking at various stats about the number of users, posts and comments on the system, doing some back of the paper calculations and then blanching deeply before taking a long slug from my hip flask and staring dispondently off into space.

LJ is big. Big. BIG even. Like really big. To paraphrase Douglas Adam - you just won't believe how vastly hugely mind-bogglingly big it is. I mean, you may think that your hard drive has a lot of pr0n on it, but that's just peanuts compared to the amount of data on LJ. Let alone thinking about including Vox.

It's enough to make a transplanted English geek turn to drink.

Oh. Wait.

The code is starting to come together though. Part of it is in Java. Don't ask. I'm hoping it won't stay that way very long because, trust me, I don't like it any more than you do. Strings are so HEAVY. Really heavy. You think that ...

... anyway, so part of it's in Java. I'd forgotten how verbose Java and un-DWIMish it is and how much the library system sucks but, oddly, a night of crippling insomnia (staring into the black holes that are used to store LJs databases will do that to you) actually seems to have helped me get over that. My latest problem was RMI which was giving me some really odd errors

java.io.StreamCorruptedException: Unexpected blockData
at java.io.ObjectInputStream.readObject() (/usr/lib64/libgcj.so.5.0.0)
at gnu.java.rmi.server.RMIObjectInputStream.readValue(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0)
at gnu.java.rmi.server.UnicastServerRef.incomingMessageCall(gnu.java.rmi.server.UnicastConnection, int, long) (/usr/lib64/libgcj.so.5.0.0)
at gnu.java.rmi.server.UnicastServer.incomingMessageCall(gnu.java.rmi.server.UnicastConnection) (/usr/lib64/libgcj.so.5.0.0)
at gnu.java.rmi.server.UnicastServer.dispatch(gnu.java.rmi.server.UnicastConnection) (/usr/lib64/libgcj.so.5.0.0)
at gnu.java.rmi.server.UnicastConnection.run() (/usr/lib64/libgcj.so.5.0.0)
at java.lang.Thread.run() (/usr/lib64/libgcj.so.5.0.0)
at _Jv_ThreadRun(java.lang.Thread) (/usr/lib64/libgcj.so.5.0.0)
at GC_start_routine (/usr/lib64/libgcj.so.5.0.0)
at __clone (/lib64/tls/libc-2.3.4.so)
Couldn't search java.io.StreamCorruptedException: Unexpected blockData

I mean ... WTF?

For future reference the answer turned out tobe in the /usr/lib64/libgcj.so.5.0.0 bit. GIJ (The GNU interpreter for Java) just seems to plain suck. Switching to Sun Java fixed that problem and a bunch of other oddities.

And there ends the first lesson^W post. Have fun slumbering Londonites - I'll be back drinking with you horrible shower in a couple of weeks.

programming, java, big, rmi, more than you ever wanted to know, bugs, lj, gij

Previous post Next post
Up