11.02.2005

Stupid Tiles

Today was solidly in the category of not-good days.

So, I get to the lab, and check to see if my demo is still running on any of the tiles. Of course, its not. Most of the tiles, the network connections have just timed out (stupid network), and it has properly crashed on two of them.

***TECH ALERT***
So, for the past week and a half, I have spent all of my research energy trying to track down this damn segmentation fault. (A segmentation fault happens when a program tries to get at memory outside of its little sandbox).

My program crashes in a blaze on 2 out of 6 tiles. And it only crashes in a blaze after about twenty minutes (better than it was ... it used to be two minutes). However, the long crash time is VERY ANNOYING because every time I make a change, I have to wait half an hour to figure out if something broke again.

I have also spent a significant amount of time trying to get the gosh-darn tiles to core dump, when they crash in a blaze. Gdb (debugging program) doesn't run on the tiles (or, we don't have a version for the tiles). So, when the program crashes, that's it. No more information than that. I have been trying to produce core dumps to run through gdb at a later time. First, I put in handlers to catch SIGSEGV and SIGBUS and abort. No core dumps.

This afternoon, I figured out that I needed to change the limit of the size of the coredumps, in order for them to happen. Yay! I got two cores. I try to put it through normal gdb, and it doesn't know what I am talking about. Go figure -- the core was produced on a different architecture. So, I dig around and I try to find a gdb for the tiles, or at least a cross debugger, analagous to our cross-compiler. I do, in fact, find such a program, called arm-linux-gdb. Hurray!

UNFORTUNATELY I did not realize that I had not compiled the stupid program with -g, so there was no debugging information in the core. SO, I recompile the damn thing with the right flags and set it running remotely, from my laptop, during MythBusters / the Celtics game.

Throughout the game, I am tapping my laptop, looking at the terminal to see if the thing crashed. It hasn't. "Oh good" I think to myself. "If I compile it with the debugging flags it won't crash." After MythBusters, I pick up my computer and try to kill the program on the tile. The gosh darn terminal is hung (network problems) and, what's WORSE, I can't get back into the tile to see if I got a core dump! ARRGH!
***END TECH ALERT***

One of the tiles, mysteriously, will not even power on. I open it up to find a crispy, blackened power connector. Good thing it won't power on, it would cause a fire!

Well, to top of my ills for the day, I got a bad grade on my test. :-( Which was all the more disheartening because I walked out of the test thinking I had it in the bag. Almost every point I lost, I could attribute to my own silly mis-reading the problem statement. This was most irritating.

On top of THIS, I have been trying to beat this ... thing. This affliction of mine. Since I had surgery, two months ago now (already two months?) I have been tired tired tired all the time. I can't keep my eyes open before 1 pm. This is above and beyond my normal -- being a night owl. I do not know what is wrong. I'm just tired tired tired.

So, I felt sad because of my test, discouraged because of the tiles, and I felt crummy because I am mysteriously ill or something. So I induced Michael to skip the gym with me, and we ordered Chinese.

I hope today is a better day -- I have interviews with two of the companies on my short list!!

0 Comments:

Post a Comment

<< Home