2006
03.30

Things that make me laugh

This is the self titled best resignation letter of all time. Sure, I read BOFH way back when, but this stuff is still funny. :)

2006
03.24

Last night I was in the office when all of a sudden a hysterical wife yells from the bathroom “Help! I just got superglue in my eye! Take me to the hospital!”

I jump up and run in. I have no idea whats going on, and I assume I just misunderstood. After all “superglue” sounds just like “I slipped in the shower and cracked my head open”. I mean, the letters are pretty similar.

I rush in, and theres Kat scooping water out of the sink, into her eye. She turns and looks at me, stricken. Her eye was open, a little red, and very wet. Ok, is it glued open? Her eyes dart back to the sink (so its still mobile) and I tell her to keep rinsing. I grab the tube of glue (it bonds instantly to my thumb).

“What happened?” I ask, while reading what to do in the event you get super glue (warning bonds instantly) in your eye (seek medical attention immediately).

What came out was a tale of a broken nail and a clogged tube of super glue. Evidently one squeezes the tube really hard while inserting a pin into the tube. To make sure the pin is just right, its best to do this procedure while pointing the tube… directly at your eye.

At this point its pretty evident that the ejaculated glue is on her eyelid, not in her eye and that apart from being shaken up, she’ll be ok (and part of her eyelid is glued to her eyebrow). I’m giddy with relief and she’s about crying for joy. So we start scrubbing with acetone (eventually I get unstuck from the tube, then later, the sink) and reminisce about the time I glued myself to the cat…..

After reflecting on all of this and considering the time she broke a wine glass in the bathroom sink (????) and cut up her hand, the time she dropped her grand mothers diamond ring down the drain (I got tools on the way home from work) and now this, I’ve decided that until further notice Kat must wear mittens at all times while in the bathroom. I will remove all abrasive, corrosive, caustic and potentially explosive substances. To further ensure her safety I’ll wrap her in foam padding.

Never a dull moment…

2006
03.21

monday sun problems

Yesterday I spent a while digging to the bottom of a bunch of jni code that was crashing under load when attempting to resolve hostnames. It seemed that while doing a hostname lookup, a malloc would fail and I’d wind up with a segfault and (if I was ‘lucky’) a core file.

Stack: [0x5fa83000,0x5fb04000),  sp=0x5fb02cf0,  free space=511k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libc.so.6+0x5b8a9]  fgets_unlocked+0x29
C  [libnss_files.so.2+0x441c]  _nss_files_gethostbyaddr_r+0x15c
C  [libc.so.6+0xd2366]  gethostbyaddr_r+0x156
C  [libnet.so+0x5311]  Java_java_net_Inet4AddressImpl_getHostByAddr+0x10d
j  java.net.Inet4AddressImpl.getHostByAddr([B)Ljava/lang/String;+0
j  java.net.InetAddress$1.getHostByAddr([B)Ljava/lang/String;+4
j  java.net.InetAddress.getHostFromNameService(Ljava/net/InetAddress;Z)Ljava/lang/String;+7
j  java.net.InetAddress.getHostName(Z)Ljava/lang/String;+10
j  java.net.InetAddress.getHostName()Ljava/lang/String;+2
j  java.net.InetSocketAddress.getHostName()Ljava/lang/String;+23
j  java.net.SocksSocketImpl.connect(Ljava/net/SocketAddress;I)V+118
j  java.net.Socket.connect(Ljava/net/SocketAddress;I)V+165
j  java.net.Socket.connect(Ljava/net/SocketAddress;)V+3
j  java.net.Socket.(Ljava/net/SocketAddress;Ljava/net/SocketAddress;Z)V+95
j  java.net.Socket.(Ljava/lang/String;I)V+38
j  sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(Ljava/lang/String;I)Ljava/net/Socket;+6
j  sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(Ljava/lang/String;I)Ljava/net/Socket;+65
j  sun.rmi.transport.tcp.TCPEndpoint.newSocket()Ljava/net/Socket;+62
j  sun.rmi.transport.tcp.TCPChannel.createConnection()Lsun/rmi/transport/Connection;+22
j  sun.rmi.transport.tcp.TCPChannel.newConnection()Lsun/rmi/transport/Connection;+101
j  sun.rmi.server.UnicastRef.newCall(Ljava/rmi/server/RemoteObject;[Ljava/rmi/server/Operation;IJ)Ljava/rmi/server/RemoteCall;+18
j  sun.rmi.transport.DGCImpl_Stub.dirty([Ljava/rmi/server/ObjID;JLjava/rmi/dgc/Lease;)Ljava/rmi/dgc/Lease;+12
j  sun.rmi.transport.DGCClient$EndpointEntry.makeDirtyCall(Ljava/util/Set;J)V+43
j  sun.rmi.transport.DGCClient$EndpointEntry.access$1600(Lsun/rmi/transport/DGCClient$EndpointEntry;Ljava/util/Set;J)V+3
j  sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run()V+233
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub
V  [libjvm.so+0x25174c]
V  [libjvm.so+0x3f1058]
V  [libjvm.so+0x250fa5]
V  [libjvm.so+0x25103e]
V  [libjvm.so+0x2b67f5]
V  [libjvm.so+0x481773]
V  [libjvm.so+0x3f1b68]
C  [libpthread.so.0+0x5b3c]

The best part of all of this? It seems there’s a subtle interaction between the jvm and glibc which…. this is the best part….

gethostbyaddr_r() and gethostbyname_r() in glibc are unstable under load. Concurrent calls through Inet4AddressImpl methods cause malloc corruption, stack corruption, etc. resulting in a SEGV crash of the JVM.

See discussion thread here for multiple reports and more details:
http://forum.java.sun.com/thread.jspa?threadID=643360
and a bug covering up to and including 1.5.0_06
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6369541

This isn’t the first time Sun has reached into libc and called non-portable functions. I remember at least one other time where a new java releases was needed after a deprecated call was removed from libc when a new version came out. Every other API/application I had at the time was unaffected.

So yeah, yesterday sucked. Today’s going to suck more when I get to sit down with 2 other departments and explain the reasons why we need to update major parts of our entire production cluster OR modify our version of java and run a custom jvm that makes synchronized calls to getLocalHostName().

I thought the entire point of java was to NOT have to dive into gdb, worry about kernel versions and libc upgrades. All I have now are deeper stack traces and a harder time debugging errors. Then again, who am I kidding? Since when was there any truth in marketing? So, there you have it. The next month is going to be spent in gdb, meetings and test planning. I needed a drink so badly last night that I settled for the only thing we had sitting around. Vodka and coke. After the 2nd glass it was fine. :)

2006
03.19

no club tonight

Moving kicked my ass, and since I’m going to go back tomorrow to finish some minor things for mom, I’m just not in the mood to drive down town and deal with crowds of people. I’m feeling old and crochety, so I’m staying home.

2006
03.13

moving mom

I’m still on for moving mom’s office on saturday (the 18th). Evidently a friend of hers is going to be taking over the lease so this means there’s less stuff to move.

*update*

As usual what mom says and what mom means is subject to interpretation. So, this means there’s probably a decent amount more to move than I initially thought. Evidently in her mind, since she’s close to the office that somehow lessens the mass of crap we get to move.

Expect several trips. Timeline hasn’t change. If we can start in the AM, we stand a chance of finishing at a reasonable hour. There’s rumblings of a storage place near by. Not sure what that implies….

Either way, it’ll be a one day affair or I’ll resort to arson :)

*update 2*
The goal is to start moving at around 9AM in bensalem. I’ll send directions to whoever needs them.

2006
03.08

faith

My reading list just expanded to include ‘Misquoting Jesus’. This is a book written by a reformed fundamentalist bible scholar who has… reconsidered the integrity of the bible. This gives me hope that there may yet be a cure for religion. At any rate, for an overview, there’s a fairly in depth article over on the washington post. It intrigues me not because someone lost their faith, but because he can articulate why and they do so in a logical, analytical manner. This is from someone who has done considerably more research than myself.

Personally, it is my opinion that everyone owes it to themselves to create their own religion. Don’t cop out and adopt some silly one word synopsis of your belief system. Force me to get to know you and evaluate your views on the universe and creation in the context of your actions. The alternative is the continued string of misunderstandings we’re all experiencing today. Labels bring with them certain prejudices whether they’re conscious or not.

But what do I know? I’m a heretic.

2006
03.07

Drive by update

I’ll be at the SoM show with Kat. She made a FANTASTIC outfit. I only hope I don’t screw it up by being seen near her :) This will be the first time I’ve seen them. I was supposed to go see them last time they were here (back in 99?), but I was having Silly Girl Problems. At the time it seemed like The End Of The Known Universe.

For those that are willing, I’m helping mom move on the 18th. I’d like to start in the AM, in bensalem and try to get the move finished as quickly as possible. If you can go, drop me a line and I’ll send you time, and directions.

Finally, I had a weird dream I was driving a MINI last night. Obviously I like Kat’s car. This one was a stick, but it had an inverted gear pattern and I had a really hard time controlling my speed. I wound up in a hospital visiting an ex girl friend from a long, long time ago who had a severe spinal injury. Very odd.