Log in

No account? Create an account
The Mad Schemes of Dr. Tectonic [entries|archive|friends|userinfo]

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Feh, I say, feh. [Dec. 10th, 2005|01:45 am]
Yesterday I finally tracked down this one very quirky bug in my program. Sometimes when you finally figure out what's wrong, it's this great transformational moment when you suddenly discard your false hypothesis and see the whole problem from a new perspective where it all makes sense, and it's really cool.

And sometimes, you just plod along until you reach a conclusion, and you sort of go, "oh. Is THAT what it is? How annoying."

This was one of the latter. (For the record: dialog popups in swing block, and block the whole thread, including sockets. Which means that somebody not clicking on the "OK" button can make the server come to a halt, even when the server is on another machine, because the server has to wait for it to unblock to be able to write to the socket.)

I was at work for almost 14 hours today, because after working on fixing this thing for a while, I quickly realized that it was one of those changes where I couldn't stop in the middle or I would completely lose track of everything and have to start all over. I fixed it, but the chain of secondary changes that it set off is not quite finished. I'm pretty sure I just forgot to clear a flag, and once I do that, it'll all be great, but until then, it's just annoyingly not quite there.

Happily, it's now the weekend and I'm going to ignore it utterly until Monday.


[User Picture]From: nematsakis
2005-12-10 06:11 am (UTC)
Why was your networking code in the same thread as your GUI in the first place?
(Reply) (Thread)
[User Picture]From: bikerbearmark
2005-12-10 07:50 am (UTC)
Exactly. Bad, Bad Evil Scientist!
(Reply) (Parent) (Thread)
[User Picture]From: dr_tectonic
2005-12-10 08:13 am (UTC)
Not my fault! It's supposed to be on its own thread, but Swing is the devil!
(Reply) (Parent) (Thread)
[User Picture]From: dr_tectonic
2005-12-10 08:12 am (UTC)
It's not! We went through all kinds of acrobatics to get all the GUI code on its own thread, and it's STILL not playing nicely, because SWING SUCKS!
(Reply) (Parent) (Thread)