-
Bug
-
Resolution: Cannot Reproduce
-
Major
-
3.2.4, 3.3.3
-
None
-
Workaround Exists
-
-
We have rather simple test that starts some amount of threads which in turn simultaneously obtain lock through LockService#getLock then perform lock and unlock.
Each thread works during some time.
After couple of seconds of work some threads just hang up in Locking$ClientLock(Object).wait() called indirectly from LockService$LockImpl.tryLock().
Here is stack trace:
Thread [Thread-ClientImitation-1] (Suspended)
Object.wait(long) line: not available [native method]
Locking$ClientLock(Object).wait() line: 485
Locking$ClientLock.acquireTryLock(long, boolean) line: 1010
Locking$ClientLock.tryLock() line: 896
CENTRAL_LOCK(Locking).down(Event) line: 152
ProtocolStack.down(Event) line: 1025
JChannel.down(Event) line: 718
LockService$LockImpl.tryLock() line: 102
LockServiceStabilityTestCase$ClientImitation.run() line: 167
Thread.run() line: 662
- is related to
-
JGRP-1679 tryLock with (and without) timeout allows simultaneous concurrent access to not thread-safe data to more then one client
- Resolved