Stack Frame Crashes

I was just thinking about the representation again. I think the representation with the two hash maps is right, but now I’m worried about inconsistencies between the data I keep and the data I get from JPDA. Right now, I update my data in the hash maps. Maybe I should always replace my data with fresh, guaranteed-to-be-accurate data from JPDA whenever I get it. I think for now I’ll just add a few assertions to find out if inconsistencies occur.

While I was mulling this over, I had an idea why getting the stack frames of the threads may crash the VM after I’ve added in instrumentation of synchronized blocks: Whenever I instrument synchronized blocks, I change bytecode in a lot of places. Maybe I change the line number information that goes along with the bytecode incorrectly? I know that I do attempt to change it, but I should definitely go over it again.


About Mathias

Software development engineer. Principal developer of DrJava. Recent Ph.D. graduate from the Department of Computer Science at Rice University.
This entry was posted in Concurrent Unit Testing. Bookmark the permalink.

Leave a Reply