During initialization of ciField it's checks for the accessibility of the holder. It's it's inaccessible at that point, offset is set to -1 with the comment that will link will detect it later. The problem is that because execution may still be continuing the class could become accessible so that will_link will return true. Then it becomes impossible for the user of the ciField to determine that the offset field isn't usuable. The fix is to modify ciField::will_link to check that offset if offset is -1 and return false in that case.
Name: fh87463 Date: 09/22/2004
This causes intermittent asserts in the next Nightly tests on sparc:
runtime/threads/Locking/ClassLock1
runtime/threads/Locking/ClassLock2
runtime/threads/Locking/ClassLock3
runtime/threads/Locking/ClassLock4
runtime/threads/Locking/ClassLock5
======================================================================
Name: fh87463 Date: 09/22/2004
This causes intermittent asserts in the next Nightly tests on sparc:
runtime/threads/Locking/ClassLock1
runtime/threads/Locking/ClassLock2
runtime/threads/Locking/ClassLock3
runtime/threads/Locking/ClassLock4
runtime/threads/Locking/ClassLock5
======================================================================