That’s a head scratcher

I’m working on the type of bug that might take me a day, it might take me a week, or it might cause me to give up entirely.

In our system, there is a process of mine (the schedule daemon) that gets events from another process (the event broker) and does some database manipulation. Because the events can come thick and fast, and because I don’t want them stepping on each other, each event causes a separate thread to be spawned, and the thread action is guarded by a global “synchronized” object (this is in Java, by the way). Most of the time, this works fine – if an event happens while another thread is still processing, the second one waits for the first one to relinquish the lock, and it does its thing. The event processing threads generally take 5-15 seconds to run.

But I have a log file I from a customer site, where it appears that one of these event threads started at 04:17, and never finished and never relinquished the lock. So events that happened at 04:51, 05:52 and 06:01 never got processed. And I can’t for the life of me figure out why.

I’ve looked extensively at the code between the last progress message from the 04:17 thread and the progress message it should have printed next. Nothing leaps out at me. And like I said, this code works all over the place, even at this customer site most of the time.

One possibility is that some other program is manipulating the database at the time. I do know that the Playlist that was being retrieved at the time of failure is not present in the next day’s backup, so something may have been deleting it at the time.

I wrote a program that calls the same database method as the one that hung over and over again, and ran that in a continuous loop while doing other stuff to the database including deleting the playlist in question. But while I’ve got my test program to fail with an exception numerous times, it never hangs. (I’m assuming that if a thread dies with an exception, it will release its locks. Something else to investigate, I guess.)

I guess my next step is to step up the tree a bit, and instead of calling the low level query multiple times, try spawning the thread that hung multiple times. Other than that, I’m baffled.

Stupid TiVo, stupid Netgear

Our two TiVos are networked together over our wireless network. This allows us to transfer shows between the two, as well as doing the daily call over the internet. But the wireless dongle on the upstairs TiVo occasionally drops connection. In the past, I’ve just unplugged the dongle and let it cool down a bit, plug it back in, and everything was fine. But twice in the last two days, when I unplug the dongle, the whole TiVo reboots. That’s not good.

I wonder if it’s time to buy a new dongle. Or maybe I should just hold out for the TiVo Series III.

Is this it?

I am convinced that one of these days, my pain will just get to the point where I can’t stand it any more. Having to give up anything that requires mobility, like kayaking, is bad enough. But I worry that I’ll end up having to medicate beyond what is legal for flying, and lose even that outlet. Or worse, I’ll be unable to even think straight, either from the pain or the medication. I don’t know what I’ll do at that point, because my life as a relatively happy and productive member of society will be over. I’ve thought that day was just around the corner for 25 years now, but so far it has been gradual enough that I’ve been able to make adjustments.

But right now my elbows are killing me. On top of my usual knee and hip pain, my elbows have been so sore I haven’t been sleeping well, and I can barely concentrate when I’m awake. And it has been like this since Monday. If it had happened as a result of Friday’s kayaking, I could understand, but I didn’t do anything exceptional on Sunday or Monday that could have triggered this.

Of course, watching the recent episode of “House, M.D.” didn’t help, where the stuff happening in the guy’s brain was putting him in so much pain that even putting him in a coma wasn’t helping. I felt like I was watching my future.

I hope this isn’t it. I’m 45 years old, and I’ve been in near constant pain for 30 years. I just want it to stop.