|
| 1 | +Error: IDENTICAL_BRANCHES: |
| 2 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/filter/ssl/SslHandler.java:336: |
| 3 | +identical_branches: The same code is executed regardless of whether "!isOutboundDone()" is true, because the 'then' and 'else' branches are identical. Should one of the branches be modified, or the entire 'if' statement replaced? |
| 4 | +Error: LOCK_EVASION: |
| 5 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java:183: |
| 6 | +thread1_checks_field: Thread1 uses the value read from field "disposing" in the condition "disposing". It sees that the condition is false. Control is switched to Thread2. |
| 7 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java:183: |
| 8 | +thread2_checks_field: Thread2 uses the value read from field "disposing" in the condition "disposing". It sees that the condition is false. |
| 9 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java:187: |
| 10 | +thread2_acquires_lock: Thread2 acquires lock "AbstractPollingIoProcessor.disposalLock". |
| 11 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java:188: |
| 12 | +thread2_modifies_field: Thread2 sets "disposing" to a new value. After Thread2 leaves the critical section, control is switched back to Thread1. |
| 13 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java:187: |
| 14 | +thread1_acquires_lock: Thread1 acquires lock "AbstractPollingIoProcessor.disposalLock". |
| 15 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java:188: |
| 16 | +thread1_overwrites_value_in_field: Thread1 sets "disposing" to a new value. Now the two threads have an inconsistent view of "disposing" and updates to fields correlated with "disposing" may be lost. |
| 17 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java:183: |
| 18 | +use_same_locks_for_read_and_modify: Guard the modification of "disposing" and the read used to decide whether to modify "disposing" with the same set of locks. |
| 19 | +Error: LOCK_EVASION: |
| 20 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:345: |
| 21 | +thread1_acquires_lock: Thread1 acquires lock "Expirer.stateLock". |
| 22 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:347: |
| 23 | +thread1_checks_field: Thread1 uses the value read from field "running" in the condition "running". It sees that the condition is false. Control is switched to Thread2. |
| 24 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:345: |
| 25 | +thread2_acquires_lock: Thread2 acquires lock "Expirer.stateLock". |
| 26 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:347: |
| 27 | +thread2_checks_field: Thread2 uses the value read from field "running" in the condition "running". It sees that the condition is false. |
| 28 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:354: |
| 29 | +thread2_acquires_lock: Thread2 acquires lock "stateLock.writeLock()". |
| 30 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:357: |
| 31 | +thread2_modifies_field: Thread2 sets "running" to a new value. Note that this write can be reordered at runtime to occur before instructions that do not access this field, even into (but not to the other side of) preceding locked regions. Control is switched back to Thread1. |
| 32 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:354: |
| 33 | +thread1_acquires_lock: Thread1 acquires lock "stateLock.writeLock()". |
| 34 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:357: |
| 35 | +thread1_overwrites_value_in_field: Thread1 sets "running" to a new value. Now the two threads have an inconsistent view of "running" and updates to fields correlated with "running" may be lost. |
| 36 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:357: |
| 37 | +use_same_locks_for_read_and_modify: Guard the modification of "running" and the read used to decide whether to modify "running" with the same set of locks. |
| 38 | +Error: LOCK_EVASION: |
| 39 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:345: |
| 40 | +thread1_acquires_lock: Thread1 acquires lock "stateLock.readLock()". |
| 41 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:347: |
| 42 | +thread1_checks_field: Thread1 uses the value read from field "running" in the condition "running". It sees that the condition is false. Control is switched to Thread2. |
| 43 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:345: |
| 44 | +thread2_acquires_lock: Thread2 acquires lock "stateLock.readLock()". |
| 45 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:347: |
| 46 | +thread2_checks_field: Thread2 uses the value read from field "running" in the condition "running". It sees that the condition is false. |
| 47 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:354: |
| 48 | +thread2_acquires_lock: Thread2 acquires lock "Expirer.stateLock". |
| 49 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:357: |
| 50 | +thread2_modifies_field: Thread2 sets "running" to a new value. Note that this write can be reordered at runtime to occur before instructions that do not access this field, even into (but not to the other side of) preceding locked regions. Control is switched back to Thread1. |
| 51 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:354: |
| 52 | +thread1_acquires_lock: Thread1 acquires lock "Expirer.stateLock". |
| 53 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:357: |
| 54 | +thread1_overwrites_value_in_field: Thread1 sets "running" to a new value. Now the two threads have an inconsistent view of "running" and updates to fields correlated with "running" may be lost. |
| 55 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:357: |
| 56 | +use_same_locks_for_read_and_modify: Guard the modification of "running" and the read used to decide whether to modify "running" with the same set of locks. |
| 57 | +Error: LOCK_EVASION: |
| 58 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:345: |
| 59 | +thread1_acquires_lock: Thread1 acquires lock "stateLock.readLock()". |
| 60 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:347: |
| 61 | +thread1_checks_field: Thread1 uses the value read from field "running" in the condition "running". It sees that the condition is false. Control is switched to Thread2. |
| 62 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:345: |
| 63 | +thread2_acquires_lock: Thread2 acquires lock "stateLock.readLock()". |
| 64 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:347: |
| 65 | +thread2_checks_field: Thread2 uses the value read from field "running" in the condition "running". It sees that the condition is false. |
| 66 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:354: |
| 67 | +thread2_acquires_lock: Thread2 acquires lock "stateLock.writeLock()". |
| 68 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:357: |
| 69 | +thread2_modifies_field: Thread2 sets "running" to a new value. Note that this write can be reordered at runtime to occur before instructions that do not access this field, even into (but not to the other side of) preceding locked regions. Control is switched back to Thread1. |
| 70 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:354: |
| 71 | +thread1_acquires_lock: Thread1 acquires lock "stateLock.writeLock()". |
| 72 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:357: |
| 73 | +thread1_overwrites_value_in_field: Thread1 sets "running" to a new value. Now the two threads have an inconsistent view of "running" and updates to fields correlated with "running" may be lost. |
| 74 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/ExpiringMap.java:357: |
| 75 | +use_same_locks_for_read_and_modify: Guard the modification of "running" and the read used to decide whether to modify "running" with the same set of locks. |
| 76 | +Error: LOCK_EVASION: |
| 77 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/core/service/SimpleIoProcessorPool.java:286: |
| 78 | +thread1_checks_field: Thread1 uses the value read from field "disposed" in the condition "disposed". It sees that the condition is false. Control is switched to Thread2. |
| 79 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/core/service/SimpleIoProcessorPool.java:286: |
| 80 | +thread2_checks_field: Thread2 uses the value read from field "disposed" in the condition "disposed". It sees that the condition is false. |
| 81 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/core/service/SimpleIoProcessorPool.java:290: |
| 82 | +thread2_acquires_lock: Thread2 acquires lock "SimpleIoProcessorPool.disposalLock". |
| 83 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/core/service/SimpleIoProcessorPool.java:317: |
| 84 | +thread2_modifies_field: Thread2 sets "disposed" to a new value. After Thread2 leaves the critical section, control is switched back to Thread1. |
| 85 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/core/service/SimpleIoProcessorPool.java:290: |
| 86 | +thread1_acquires_lock: Thread1 acquires lock "SimpleIoProcessorPool.disposalLock". |
| 87 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/core/service/SimpleIoProcessorPool.java:317: |
| 88 | +thread1_overwrites_value_in_field: Thread1 sets "disposed" to a new value. Now the two threads have an inconsistent view of "disposed" and updates to fields correlated with "disposed" may be lost. |
| 89 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/core/service/SimpleIoProcessorPool.java:286: |
| 90 | +use_same_locks_for_read_and_modify: Guard the modification of "disposed" and the read used to decide whether to modify "disposed" with the same set of locks. |
| 91 | +Error: LOCK_EVASION: |
| 92 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/handler/stream/IoSessionInputStream.java:64: |
| 93 | +thread1_checks_field: Thread1 uses the value read from field "closed" in the condition "closed". It sees that the condition is false. Control is switched to Thread2. |
| 94 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/handler/stream/IoSessionInputStream.java:64: |
| 95 | +thread2_checks_field: Thread2 uses the value read from field "closed" in the condition "closed". It sees that the condition is false. |
| 96 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/handler/stream/IoSessionInputStream.java:68: |
| 97 | +thread2_acquires_lock: Thread2 acquires lock "IoSessionInputStream.mutex". |
| 98 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/handler/stream/IoSessionInputStream.java:69: |
| 99 | +thread2_modifies_field: Thread2 sets "closed" to a new value. After Thread2 leaves the critical section, control is switched back to Thread1. |
| 100 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/handler/stream/IoSessionInputStream.java:68: |
| 101 | +thread1_acquires_lock: Thread1 acquires lock "IoSessionInputStream.mutex". |
| 102 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/handler/stream/IoSessionInputStream.java:69: |
| 103 | +thread1_overwrites_value_in_field: Thread1 sets "closed" to a new value. Now the two threads have an inconsistent view of "closed" and updates to fields correlated with "closed" may be lost. |
| 104 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/handler/stream/IoSessionInputStream.java:64: |
| 105 | +use_same_locks_for_read_and_modify: Guard the modification of "closed" and the read used to decide whether to modify "closed" with the same set of locks. |
| 106 | +Error: NULL_RETURNS: |
| 107 | +path:/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/byteaccess/CompositeByteArrayRelativeWriter.java:162: |
| 108 | +cond_true: Condition "autoFlush", taking true branch |
| 109 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/byteaccess/CompositeByteArrayRelativeWriter.java:163: |
| 110 | +returned_null: "getFirst" returns null (checked 0 out of 1 times). |
| 111 | +path:/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/byteaccess/CompositeByteArray.java:109:9: |
| 112 | +cond_true: Condition "bas.isEmpty()", taking true branch |
| 113 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/byteaccess/CompositeByteArray.java:110:13: |
| 114 | +return_null: Explicitly returning null. |
| 115 | +/builddir/build/BUILD/apache-mina-2.0.7/mina-core/src/main/java/org/apache/mina/util/byteaccess/CompositeByteArrayRelativeWriter.java:163: |
| 116 | +null_method_call: Calling a method on null object "cba.getFirst()". |
0 commit comments