I’m again trying to squeeze in some work on my project during the night here at the summer school. I got up at 7 AM, showered and had breakfast. We had the first set of lectures from 9 AM to about 11:30, then from 2 to 5. At 8 PM, we walked for about two hours. Inbetween, I have managed to call my girlfriend (in case you ever read this: I love you, sweetheart) and do a few debugger runs, although I haven’t found out very much. I also haven’t touched the Apple VM again yet, I was more concerned about the recording not working (recording a bunch of zeros) on the PC, the headless version, and the recording program hanging after it is done.
It actually seems like the zeros and the headless version are connected. When I am launching the headless version from the GUI launcher, sometimes the correct synchronization points are reported. Maybe it’s a speed issue, and the headless version executes too fast. I have no idea why that would be, though, but only the first few sync points are concerned. After that, the schedules match again.
At least I think I have seen the problem with the program deadlocking at the end: I think it’s the same problem we have seen with DrJava on tablet PCs. Using
Runtime.halt instead of
System.exit allows the program to quit. Why? I have no idea. And the headless version is working too, except for the zeros. The RecordLauncher itself isn’t truly headless yet, it just doesn’t make its GUI visible. That’s something I still have to do.
It’s way past bedtime already, and I was supposed to read a paper and prepare a bunch of questions for Cormac Flanagan tomorrow. He has done some work with model checking concurrent Java programs using instrumentation and dynamic partial order reduction make the state space smaller. I hope I’m able to think at all
tomorrow today after four three hours of sleep.