JavaPathfinder v6.0 (rev 652+) - (C) RIACS/NASA Ames Research Center ====================================================== system under test application: WrongLock/Main.java arguments: 17 1 ====================================================== search started: 26/02/12 23:14 ========potential races======== object id: 161060148 (161060148) field: int WrongLock.Data.value thread id: 1 (Thread-1) instruction: WrongLock.WrongLock.A(WrongLock.java:20) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:20) WRITE [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:19) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:22) READ [(325)] ] thread id: 2 (Thread-2) instruction: WrongLock.WrongLock.A(WrongLock.java:20) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:20) WRITE [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:19) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:22) READ [(325)] ] thread id: 3 (Thread-3) instruction: WrongLock.WrongLock.A(WrongLock.java:20) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:20) WRITE [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:19) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:22) READ [(325)] ] thread id: 4 (Thread-4) instruction: WrongLock.WrongLock.A(WrongLock.java:20) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:20) WRITE [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:19) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:22) READ [(325)] ] thread id: 5 (Thread-5) instruction: WrongLock.WrongLock.A(WrongLock.java:20) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:20) WRITE [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:19) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:22) READ [(325)] ] thread id: 6 (Thread-6) instruction: WrongLock.WrongLock.A(WrongLock.java:20) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:20) WRITE [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:19) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:22) READ [(325)] ] thread id: 7 (Thread-7) instruction: WrongLock.WrongLock.A(WrongLock.java:20) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:20) WRITE [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:19) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:22) READ [(325)] ] thread id: 8 (Thread-8) instruction: WrongLock.WrongLock.A(WrongLock.java:20) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:20) WRITE [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:19) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:22) READ [(325)] ] thread id: 9 (Thread-9) instruction: WrongLock.WrongLock.A(WrongLock.java:20) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:20) WRITE [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:19) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:22) READ [(325)] ] thread id: 10 (Thread-10) instruction: WrongLock.WrongLock.A(WrongLock.java:20) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:20) WRITE [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:19) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:22) READ [(325)] ] thread id: 11 (Thread-11) instruction: WrongLock.WrongLock.A(WrongLock.java:20) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:20) WRITE [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:19) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:22) READ [(325)] ] thread id: 12 (Thread-12) instruction: WrongLock.WrongLock.A(WrongLock.java:20) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:20) WRITE [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:19) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:22) READ [(325)] ] thread id: 13 (Thread-13) instruction: WrongLock.WrongLock.A(WrongLock.java:20) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:20) WRITE [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:19) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:22) READ [(325)] ] thread id: 14 (Thread-14) instruction: WrongLock.WrongLock.A(WrongLock.java:20) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:20) WRITE [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:19) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:22) READ [(325)] ] thread id: 15 (Thread-15) instruction: WrongLock.WrongLock.A(WrongLock.java:20) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:20) WRITE [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:19) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:22) READ [(325)] ] thread id: 16 (Thread-16) instruction: WrongLock.WrongLock.A(WrongLock.java:20) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:20) WRITE [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:19) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:22) READ [(325)] ] thread id: 17 (Thread-17) instruction: WrongLock.WrongLock.A(WrongLock.java:20) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:20) WRITE [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:19) READ [(325)] ] instruction: WrongLock.WrongLock.A(WrongLock.java:22) READ [(325)] ] thread id: 18 (Thread-18) instruction: WrongLock.WrongLock.B(WrongLock.java:31) READ [(329)] ] instruction: WrongLock.WrongLock.B(WrongLock.java:31) WRITE [(329)] ] ============================ monitor id 325 WrongLock.Data monitor id 329 WrongLock.WrongLock object id: 203621888 (203621888) field: WrongLock.WrongLock WrongLock.TClass1.wl thread id: 0 (main) instruction: WrongLock.TClass1.(TClass1.java:10) WRITE [()] ] thread id: 1 (Thread-1) instruction: WrongLock.TClass1.run(TClass1.java:14) READ [()] ] thread id: 2 (Thread-2) instruction: WrongLock.TClass1.run(TClass1.java:14) READ [()] ] thread id: 3 (Thread-3) instruction: WrongLock.TClass1.run(TClass1.java:14) READ [()] ] thread id: 4 (Thread-4) instruction: WrongLock.TClass1.run(TClass1.java:14) READ [()] ] thread id: 5 (Thread-5) instruction: WrongLock.TClass1.run(TClass1.java:14) READ [()] ] thread id: 6 (Thread-6) instruction: WrongLock.TClass1.run(TClass1.java:14) READ [()] ] thread id: 7 (Thread-7) instruction: WrongLock.TClass1.run(TClass1.java:14) READ [()] ] thread id: 8 (Thread-8) instruction: WrongLock.TClass1.run(TClass1.java:14) READ [()] ] thread id: 9 (Thread-9) instruction: WrongLock.TClass1.run(TClass1.java:14) READ [()] ] thread id: 10 (Thread-10) instruction: WrongLock.TClass1.run(TClass1.java:14) READ [()] ] thread id: 11 (Thread-11) instruction: WrongLock.TClass1.run(TClass1.java:14) READ [()] ] thread id: 12 (Thread-12) instruction: WrongLock.TClass1.run(TClass1.java:14) READ [()] ] thread id: 13 (Thread-13) instruction: WrongLock.TClass1.run(TClass1.java:14) READ [()] ] thread id: 14 (Thread-14) instruction: WrongLock.TClass1.run(TClass1.java:14) READ [()] ] thread id: 15 (Thread-15) instruction: WrongLock.TClass1.run(TClass1.java:14) READ [()] ] thread id: 16 (Thread-16) instruction: WrongLock.TClass1.run(TClass1.java:14) READ [()] ] thread id: 17 (Thread-17) instruction: WrongLock.TClass1.run(TClass1.java:14) READ [()] ] ============================ object id: 203621890 (203621890) field: WrongLock.WrongLock WrongLock.TClass2.wl thread id: 0 (main) instruction: WrongLock.TClass2.(TClass2.java:10) WRITE [()] ] thread id: 18 (Thread-18) instruction: WrongLock.TClass2.run(TClass2.java:14) READ [()] ] ============================ ======== sumary ======== 1 >Potential race for field WrongLock.Data.value write: [Thread-1] WrongLock.WrongLock.A read: [Thread-18] WrongLock.WrongLock.B < 2 >Potential race for field WrongLock.TClass1.wl write: [main] WrongLock.TClass1. read: [Thread-1] WrongLock.TClass1.run < 3 >Potential race for field WrongLock.TClass2.wl write: [main] WrongLock.TClass2. read: [Thread-18] WrongLock.TClass2.run < ====================================================== results no errors detected ====================================================== statistics elapsed time: 00:00:05 states: new=2420, visited=10597, backtracked=12984, end=12 search: maxDepth=38, constraints hit=0 choice generators: thread=2420 (signal=0, lock=2, shared ref=0), data=0 heap: new=471, released=52111, max live=432, gc-cycles=13017 instructions: 398210 max memory: 106MB loaded code: classes=84, methods=1329 ====================================================== search finished: 26/02/12 23:15