Message1639
I think the patch I'm attaching now may fix this. TreeBuilder.java kept a single instance of each node type in a static nodes array, and just passed out the correct instance for each id as it was requested. For JJTNAME, JJTSTRING, and JJTNUM the actual value of the node is stored in the image field of the returned node, so sharing those between threads would cause values to get swapped around. The patch just returns a new node when any of those types come in rather than caching it.
The test failed reliably for me with 50 threads, but doesn't fail at all anymore.
File Added: no_string_node_cache.patch |
|
Date |
User |
Action |
Args |
2008-02-20 17:17:50 | admin | link | issue1735864 messages |
2008-02-20 17:17:50 | admin | create | |
|