I’ve been doing Azul’s Java6 port intermixed with working on JavaOne slides and OOPSLA PC reviews.
Today I’m off to Hawthorne, NY to visit IBM for the OOPSLA PC meeting; when I come back I’m off to SFO for JavaOne. I’ve got 3 talks at JavaOne this year; the workload is getting ridiculous! Next time I post I’ll probably have a JavaOne writeup, and maybe post my “Debugging Data Races” BOF slides. But first I gotta write those slides. Fortunately I’ve got some downtime on a plane looming in my future…
If there’s any lessons for me about this whole Non-Blocking Hash Table Extravaganza, it’s this:
The topic is accessible enough, tough enough (interesting enough) and timely enough that a whole lot of very smart people have banged their heads upon this problem and hit upon solutions very near to mine. I keep getting emails from people essentially saying “I did it this way”…. and they are 90% of the way there.
Stupidly, my main debugging-data-races technique amounts to use print statements(!)???
I’m looking over my notes for the talk and much of I have amounts to glorified forms of print statements, or tricks to get the same info as a print statement without getting the time-shift that hides the data-race. I’ve got some notes on why we write dataraces (my armchair psychology) in the first place, and some notes on spotting some of the symptoms that you are about to start creating (and debugging) dataraces But for debugging them, I’m gonna end up recommending some very un-glamorous approaches. I’ll try to get the slides posted before JavaOne, but I suspect they’ll be very fluid up till when the BOF starts.