JavaPathfinder v6.0 (rev 652+) - (C) RIACS/NASA Ames Research Center ====================================================== system under test application: Account/Main.java arguments: 7 ====================================================== search started: 26/02/12 11:48 ========potential races======== object id: 235815501 (235815501) field: double Account.Account.amount thread id: 1 (Thread-1) instruction: Account.Account.withdraw(Account.java:19) WRITE [(382)] ] instruction: Account.Account.transfer(Account.java:23) READ [(382)] ] instruction: Account.Account.transfer(Account.java:23) WRITE [(382)] ] instruction: Account.Account.withdraw(Account.java:19) READ [(382)] ] instruction: Account.Account.depsite(Account.java:15) READ [(382)] ] instruction: Account.Account.depsite(Account.java:15) WRITE [(382)] ] thread id: 6 (Thread-6) instruction: Account.Account.transfer(Account.java:31) WRITE [(382, 430)] ] instruction: Account.Account.transfer(Account.java:31) READ [(382, 430)] ] thread id: 7 (Thread-7) instruction: Account.Account.transfer(Account.java:31) WRITE [(382, 437)] ] instruction: Account.Account.transfer(Account.java:31) READ [(382, 437)] ] ============================ monitor id 382 Account.Account monitor id 430 Account.Account monitor id 437 Account.Account object id: 235818582 (235818582) field: double Account.Account.amount thread id: 1 (Thread-1) instruction: Account.Account.transfer(Account.java:31) WRITE [(382, 389)] ] instruction: Account.Account.transfer(Account.java:31) READ [(382, 389)] ] thread id: 2 (Thread-2) instruction: Account.Account.withdraw(Account.java:19) WRITE [(389)] ] instruction: Account.Account.transfer(Account.java:23) READ [(389)] ] instruction: Account.Account.transfer(Account.java:23) WRITE [(389)] ] instruction: Account.Account.withdraw(Account.java:19) READ [(389)] ] instruction: Account.Account.depsite(Account.java:15) READ [(389)] ] instruction: Account.Account.depsite(Account.java:15) WRITE [(389)] ] thread id: 7 (Thread-7) instruction: Account.Account.transfer(Account.java:31) WRITE [(389, 437)] ] instruction: Account.Account.transfer(Account.java:31) READ [(389, 437)] ] ============================ monitor id 382 Account.Account monitor id 389 Account.Account monitor id 437 Account.Account object id: 235820640 (235820640) field: double Account.Account.amount thread id: 2 (Thread-2) instruction: Account.Account.transfer(Account.java:31) WRITE [(389, 416)] ] instruction: Account.Account.transfer(Account.java:31) READ [(389, 416)] ] thread id: 3 (Thread-3) instruction: Account.Account.transfer(Account.java:31) WRITE [(396, 416)] ] instruction: Account.Account.transfer(Account.java:31) READ [(396, 416)] ] thread id: 4 (Thread-4) instruction: Account.Account.withdraw(Account.java:19) WRITE [(416)] ] instruction: Account.Account.transfer(Account.java:23) READ [(416)] ] instruction: Account.Account.transfer(Account.java:23) WRITE [(416)] ] instruction: Account.Account.withdraw(Account.java:19) READ [(416)] ] instruction: Account.Account.depsite(Account.java:15) READ [(416)] ] instruction: Account.Account.depsite(Account.java:15) WRITE [(416)] ] ============================ monitor id 389 Account.Account monitor id 396 Account.Account monitor id 416 Account.Account object id: 235822431 (235822431) field: double Account.Account.amount thread id: 1 (Thread-1) instruction: Account.Account.transfer(Account.java:31) WRITE [(382, 396)] ] instruction: Account.Account.transfer(Account.java:31) READ [(382, 396)] ] thread id: 2 (Thread-2) instruction: Account.Account.transfer(Account.java:31) WRITE [(389, 396)] ] instruction: Account.Account.transfer(Account.java:31) READ [(389, 396)] ] thread id: 3 (Thread-3) instruction: Account.Account.withdraw(Account.java:19) WRITE [(396)] ] instruction: Account.Account.transfer(Account.java:23) READ [(396)] ] instruction: Account.Account.transfer(Account.java:23) WRITE [(396)] ] instruction: Account.Account.withdraw(Account.java:19) READ [(396)] ] instruction: Account.Account.depsite(Account.java:15) READ [(396)] ] instruction: Account.Account.depsite(Account.java:15) WRITE [(396)] ] ============================ monitor id 382 Account.Account monitor id 389 Account.Account monitor id 396 Account.Account object id: 235823995 (235823995) field: double Account.Account.amount thread id: 5 (Thread-5) instruction: Account.Account.transfer(Account.java:31) WRITE [(423, 437)] ] instruction: Account.Account.transfer(Account.java:31) READ [(423, 437)] ] thread id: 6 (Thread-6) instruction: Account.Account.transfer(Account.java:31) WRITE [(430, 437)] ] instruction: Account.Account.transfer(Account.java:31) READ [(430, 437)] ] thread id: 7 (Thread-7) instruction: Account.Account.withdraw(Account.java:19) WRITE [(437)] ] instruction: Account.Account.transfer(Account.java:23) READ [(437)] ] instruction: Account.Account.transfer(Account.java:23) WRITE [(437)] ] instruction: Account.Account.withdraw(Account.java:19) READ [(437)] ] instruction: Account.Account.depsite(Account.java:15) READ [(437)] ] instruction: Account.Account.depsite(Account.java:15) WRITE [(437)] ] ============================ monitor id 423 Account.Account monitor id 430 Account.Account monitor id 437 Account.Account object id: 235827314 (235827314) field: double Account.Account.amount thread id: 4 (Thread-4) instruction: Account.Account.transfer(Account.java:27) WRITE [(416)] ] instruction: Account.Account.transfer(Account.java:27) READ [(416)] ] thread id: 5 (Thread-5) instruction: Account.Account.transfer(Account.java:31) WRITE [(423, 430)] ] instruction: Account.Account.transfer(Account.java:31) READ [(423, 430)] ] thread id: 6 (Thread-6) instruction: Account.Account.withdraw(Account.java:19) WRITE [(430)] ] instruction: Account.Account.transfer(Account.java:23) READ [(430)] ] instruction: Account.Account.transfer(Account.java:23) WRITE [(430)] ] instruction: Account.Account.withdraw(Account.java:19) READ [(430)] ] instruction: Account.Account.depsite(Account.java:15) READ [(430)] ] instruction: Account.Account.depsite(Account.java:15) WRITE [(430)] ] ============================ monitor id 416 Account.Account monitor id 423 Account.Account monitor id 430 Account.Account object id: 235830377 (235830377) field: double Account.Account.amount thread id: 3 (Thread-3) instruction: Account.Account.transfer(Account.java:31) WRITE [(396, 423)] ] instruction: Account.Account.transfer(Account.java:31) READ [(396, 423)] ] thread id: 4 (Thread-4) instruction: Account.Account.transfer(Account.java:27) WRITE [(416)] ] instruction: Account.Account.transfer(Account.java:27) READ [(416)] ] thread id: 5 (Thread-5) instruction: Account.Account.withdraw(Account.java:19) WRITE [(423)] ] instruction: Account.Account.transfer(Account.java:23) READ [(423)] ] instruction: Account.Account.transfer(Account.java:23) WRITE [(423)] ] instruction: Account.Account.withdraw(Account.java:19) READ [(423)] ] instruction: Account.Account.depsite(Account.java:15) READ [(423)] ] instruction: Account.Account.depsite(Account.java:15) WRITE [(423)] ] ============================ monitor id 396 Account.Account monitor id 416 Account.Account monitor id 423 Account.Account ======== sumary ======== 1 >Potential race for field Account.Account.amount write: [Thread-4] Account.Account.transfer read: [Thread-5] Account.Account.transfer < 2 >Potential race for field Account.Account.amount write: [Thread-4] Account.Account.transfer read: [Thread-6] Account.Account.withdraw < 3 >Potential race for field Account.Account.amount write: [Thread-4] Account.Account.transfer read: [Thread-6] Account.Account.depsite < ====================================================== results no errors detected ====================================================== statistics elapsed time: 00:00:05 states: new=7460, visited=11167, backtracked=18552, end=5 search: maxDepth=126, constraints hit=0 choice generators: thread=7459 (signal=0, lock=1411, shared ref=4524), data=0 heap: new=438, released=237, max live=438, gc-cycles=16390 instructions: 154355 max memory: 106MB loaded code: classes=84, methods=1328 ====================================================== search finished: 26/02/12 11:48