[Checkers] Checkers are still crashing on FreePastry

Mahmood Ali mahmood at MIT.EDU
Mon Mar 17 20:20:43 EDT 2008


Hi Mike,

I am actually having a problem reproducing the problem in my  
workspace.  I have been able to compile pastry with the interned  
checker without a crash.

I changed the path of the compiler in build.xml without the class path  
insertion.

Can you please inform me of which version you are using? The  
development release?

Thanks,
Mahmood

On Mar 17, 2008, at 7:13 PM, Michael Ernst wrote:

> Matt and Mahmood-
>
> The distributed version of FreePastry contains only a subset of all  
> the
> files that the developers compile daily.
>
> The Interned checker (and possibly others?) fails on the full  
> FreePastry
> codebase.  I'd like to correct this in order to proceed with our case
> study.
>
> Here are three steps to reproduce the problem:
>
> # 1. Create a "pastry" directory
> svn co https://svn.mpi-sb.mpg.de/DS/freepastry/trunk/pastry
>
> # 2. Edit pastry/build.xml to fix the hard-coded paths in the  
> "interned"
> # target.  (They would probably accept a patch that cleaned up the
> # buildfile...)
>
> # 3. Run interned checker
> ant interned
>
> The output appears at the end of this message.
>
>                    -Mike
>
>
> Here is a replacement for the target currently in the build.xml  
> file, but
> it still has hard-coded paths.
>
>
>  <property environment="env"/>
>  <!-- The classpath -->
>  <path id="interned.classpath">
>    <fileset dir="${lib.dir}">
>      <include name="**/*.jar"/>
>    </fileset>
>    <fileset dir="/DS/home-0/mernst/research/typequals/annotations/ 
> checkers">
>      <include name="checkers.jar"/>
>    </fileset>
>    <pathelement path="${build.dir}"/>
>  </path>
>  <property name="jsr308.javac" value="/DS/home-0/mernst/research/ 
> typequals/annotations/langtools/dist/bin/javac"/>
>  <!-- "clean" target is necessary or else this won't re-compile  
> if .class
>  files already exist.
>  "executable" and "fork" fields ensure we call an external program,  
> not
>  just run javac via a Java method call. -->
>  <target name="interned" depends="clean,init">
>    <javac srcdir="${src.dir}"
> 	   destdir="${build.dir}"
> 	   classpathref="interned.classpath"
> 	   includes="**/*.java"
> 	   deprecation="no"
> 	   debuglevel="lines,vars,source"
> 	   fork="yes"
> 	   executable="${jsr308.javac}"
> 	   debug="true">
>      <compilerarg value="-version"/>
>      <compilerarg line="-processor  
> checkers.interned.InternedChecker"/>
>    </javac>
>  </target>
>
>
> Here is the output when Mike ran "ant interned":
>
>
> -*- mode: compilation; default-directory: "~/tmp/try-freepastry/ 
> pastry/" -*-
> Compilation started at Tue Mar 18 00:05:18
>
> ant interned
>
> Buildfile: build.xml
>
> clean:
>
> init:
>    [mkdir] Created dir: /DS/home-0/mernst/tmp/try-freepastry/pastry/ 
> classes
>
> interned:
>    [javac] Compiling 1082 source files to /DS/home-0/mernst/tmp/try- 
> freepastry/pastry/classes
>    [javac] javac 1.7.0-jsr308-dev-20080314
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/filetransfer/FileTransferImpl.java:271: comparison  
> requires two @Interned types
>    [javac]     if (wrapper != messageThatIsBeingWritten) throw new  
> IllegalArgumentException("Wrapper:"+wrapper+"  
> messageThatIsBeingWritten:"+messageThatIsBeingWritten);
>    [javac]                 ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/testing/transportlayer/MagicNumberTest.java:386:  
> comparison requires two @Interned types
>    [javac]     assertTrue(sentList.get(0) == handle); // it is the  
> buffer we sent
>    [javac]                                ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/testing/transportlayer/MagicNumberTest.java:387:  
> comparison requires two @Interned types
>    [javac]     assertTrue(handle.getMessage() == sentBuffer); // it  
> is the buffer we sent
>    [javac]                                    ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/testing/transportlayer/TLTest.java:393: comparison  
> requires two @Interned types
>    [javac]     assertTrue(sentList.get(0) == handle); // it is the  
> buffer we sent
>    [javac]                                ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/testing/transportlayer/TLTest.java:394: comparison  
> requires two @Interned types
>    [javac]     assertTrue("handle.getMessage():"+handle.getMessage() 
> +" sentBuffer:"+sentBuffer,handle.getMessage() == sentBuffer); // it  
> is the buffer we sent
>     
> [javac 
> ]                                                                                                         ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/testing/transportlayer/TLTest.java:447: comparison  
> requires two @Interned types
>    [javac]     assertTrue(failedList.get(0) == cancellable);
>    [javac]                                  ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/testing/transportlayer/TLTest.java:448: comparison  
> requires two @Interned types
>    [javac]     assertTrue(cancellable.getMessage() == sentBuffer);
>    [javac]                                         ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/commonapi/CommonAPITransportLayerImpl.java:198:  
> comparison requires two @Interned types
>    [javac]             if (handle.getSubCancellable() != null &&  
> msg != handle.getSubCancellable()) throw new RuntimeException("msg ! 
> = cancellable.getSubCancellable() (indicates a bug in the code)  
> msg:"+msg+" sub:"+handle.getSubCancellable());
>    [javac]                                                           ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/commonapi/CommonAPITransportLayerImpl.java:210:  
> comparison requires two @Interned types
>    [javac]             if (handle.getSubCancellable() != null &&  
> msg != handle.getSubCancellable()) throw new RuntimeException("msg ! 
> = cancellable.getSubCancellable() (indicates a bug in the code)  
> msg:"+msg+" sub:"+handle.getSubCancellable());
>    [javac]                                                           ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/direct/DirectAppSocket.java:154: comparison  
> requires two @Interned types
>    [javac]         if (byteDeliveries.getFirst() == EOF) {
>    [javac]                                       ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/direct/DirectAppSocket.java:269: comparison  
> requires two @Interned types
>    [javac]           if (msg == EOF) {
>    [javac]                   ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/identity/IdentityImpl.java:759: comparison  
> requires two @Interned types
>    [javac]               if (ret.getSubCancellable() != null && msg ! 
> = ret.getSubCancellable())
>    [javac]                                                          ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/identity/IdentityImpl.java:766: comparison  
> requires two @Interned types
>    [javac]               if (ret.getSubCancellable() != null && msg ! 
> = ret.getSubCancellable())
>    [javac]                                                          ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/liveness/LivenessTransportLayerImpl.java:324:  
> comparison requires two @Interned types
>    [javac]         if (handle.getSubCancellable() != null && msg !=  
> handle.getSubCancellable()) throw new RuntimeException("msg !=  
> handle.getSubCancelable() (indicates a bug in the code) msg:"+msg+"  
> sub:"+handle.getSubCancellable());
>    [javac]                                                       ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/liveness/LivenessTransportLayerImpl.java:328:  
> comparison requires two @Interned types
>    [javac]         if (handle.getSubCancellable() != null && msg !=  
> handle.getSubCancellable()) throw new RuntimeException("msg !=  
> handle.getSubCancelable() (indicates a bug in the code) msg:"+msg+"  
> sub:"+handle.getSubCancellable());
>    [javac]                                                       ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/liveness/LivenessTransportLayerImpl.java:1100:  
> comparison requires two @Interned types
>    [javac]               if (livenessCheckerTimer == this)  
> livenessCheckerTimer = null;
>    [javac]                                        ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/multiaddress/ 
> MultiInetAddressTransportLayerImpl.java:150: comparison requires two  
> @Interned types
>    [javac]         if (handle.getSubCancellable() != null && c !=  
> handle.getSubCancellable()) throw new RuntimeException("c !=  
> cancellable.getSubCancellable() (indicates a bug in the code) c:"+c 
> +" sub:"+handle.getSubCancellable());
>    [javac]                                                     ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/multiaddress/ 
> MultiInetAddressTransportLayerImpl.java:191: comparison requires two  
> @Interned types
>    [javac]         if (handle.getSubCancellable() != null && c !=  
> handle.getSubCancellable()) throw new RuntimeException("c !=  
> cancellable.getSubCancellable() (indicates a bug in the code) c:"+c 
> +" sub:"+handle.getSubCancellable());
>    [javac]                                                     ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/multiaddress/ 
> MultiInetAddressTransportLayerImpl.java:269: comparison requires two  
> @Interned types
>    [javac]             if (handle.getSubCancellable() != null &&  
> msg != handle.getSubCancellable()) throw new RuntimeException("msg ! 
> = cancellable.getSubCancellable() (indicates a bug in the code)  
> msg:"+msg+" sub:"+handle.getSubCancellable());
>    [javac]                                                           ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/multiaddress/ 
> MultiInetAddressTransportLayerImpl.java:274: comparison requires two  
> @Interned types
>    [javac]             if (handle.getSubCancellable() != null &&  
> msg != handle.getSubCancellable()) throw new RuntimeException("msg ! 
> = cancellable.getSubCancellable() (indicates a bug in the code)  
> msg:"+msg+" sub:"+handle.getSubCancellable());
>    [javac]                                                           ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/peerreview/Verifier.java:645: comparison  
> requires two @Interned types
>    [javac]       if (callback != eventCallback.get(eventType)) throw  
> new IllegalStateException("Event #"+eventType+" registered twice");
>    [javac]                    ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/peerreview/Verifier.java:932: incompatible types.
>    [javac] found   :  java.lang.Class[@checkers.quals.Interned ]
>    [javac] required: @checkers.quals.Interned java.lang.Class
>    [javac]         Constructor ctor =  
> c.getConstructor(parameterTypes);
>    [javac]                                             ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/peerreview/Verifier.java:940: incompatible types.
>    [javac] found   :  java.lang.Class[@checkers.quals.Interned ]
>    [javac] required: @checkers.quals.Interned java.lang.Class
>    [javac]           Constructor ctor = c.getConstructor(new  
> Class[0]);
>    [javac]                                               ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/peerreview/replay/playback/ReplaySocket.java: 
> 105: comparison requires two @Interned types
>    [javac]         if (writer != receiver) throw new  
> IllegalStateException("Already registered "+writer+" for writing,  
> you can't register "+receiver+" for writing as well!");
>    [javac]                    ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/peerreview/replay/playback/ReplaySocket.java: 
> 111: comparison requires two @Interned types
>    [javac]         if (reader != receiver) throw new  
> IllegalStateException("Already registered "+reader+" for reading,  
> you can't register "+receiver+" for reading as well!");
>    [javac]                    ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/peerreview/replay/playback/ReplaySocket.java: 
> 126: comparison requires two @Interned types
>    [javac]       if (writer != reader) throw new  
> IllegalStateException("weader != writer canRead:"+canRead+"  
> canWrite:"+canWrite);
>    [javac]                  ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/peerreview/replay/playback/ReplaySocket.java: 
> 180: comparison requires two @Interned types
>    [javac]       if (writer == reader) {
>    [javac]                  ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/priority/PriorityTransportLayerImpl.java:156:  
> comparison requires two @Interned types
>    [javac]         if (socket != s) throw new  
> IllegalArgumentException("Sockets not equal!!! s:"+s+"  
> socket:"+socket);
>    [javac]                    ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/priority/PriorityTransportLayerImpl.java:232:  
> comparison requires two @Interned types
>    [javac]         if (handle.getSubCancellable() != null && s !=  
> handle.getSubCancellable()) throw new IllegalArgumentException("s !=  
> handle.getSubCancellable() must be a bug. s:"+s+"  
> sub:"+handle.getSubCancellable());
>    [javac]                                                     ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/priority/PriorityTransportLayerImpl.java:504:  
> comparison requires two @Interned types
>    [javac]       if (logger.level <= Logger.FINER)  
> logger.logException("closeMe("+socket+"):"+(socket == writingSocket) 
> +","+messageThatIsBeingWritten, new Exception("Stack Trace"));
>     
> [javac 
> ]                                                                                            ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/priority/PriorityTransportLayerImpl.java:505:  
> comparison requires two @Interned types
>    [javac]       if (socket == writingSocket) {
>    [javac]                  ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/priority/PriorityTransportLayerImpl.java:536:  
> comparison requires two @Interned types
>    [javac]           if (receipt == pendingSocket) {
>    [javac]                       ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/priority/PriorityTransportLayerImpl.java:661:  
> comparison requires two @Interned types
>    [javac]             if (handle.getSubCancellable() != null && s ! 
> = handle.getSubCancellable()) throw new IllegalArgumentException(
>    [javac]                                                         ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/priority/PriorityTransportLayerImpl.java:781:  
> comparison requires two @Interned types
>    [javac]       if (socket == writingSocket) {
>    [javac]                  ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/priority/PriorityTransportLayerImpl.java:790:  
> comparison requires two @Interned types
>    [javac]       if (socket != writingSocket) {
>    [javac]                  ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/priority/PriorityTransportLayerImpl.java:823:  
> comparison requires two @Interned types
>    [javac]         if (handle == pendingSocket) {
>    [javac]                    ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/priority/PriorityTransportLayerImpl.java:969:  
> comparison requires two @Interned types
>    [javac]       if (wrapper != messageThatIsBeingWritten) throw new  
> IllegalArgumentException("Wrapper:"+wrapper+"  
> messageThatIsBeingWritten:"+messageThatIsBeingWritten);
>    [javac]                   ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/priority/PriorityTransportLayerImpl.java:979:  
> comparison requires two @Interned types
>    [javac]       if (closeWritingSocket == writingSocket) {
>    [javac]                              ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/priority/PriorityTransportLayerImpl.java:989:  
> comparison requires two @Interned types
>    [javac]       if (wrapper != messageThatIsBeingWritten) throw new  
> IllegalArgumentException("Wrapper:"+wrapper+"  
> messageThatIsBeingWritten:"+messageThatIsBeingWritten);
>    [javac]                   ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/priority/PriorityTransportLayerImpl.java:1062:  
> comparison requires two @Interned types
>    [javac]         if (this.socket != null && this.socket != socket) {
>    [javac]                                                ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/sourceroute/Forwarder.java:88: comparison  
> requires two @Interned types
>    [javac]         if (socket != from) throw new  
> IOException("Expected to read from "+from+" got "+socket);
>    [javac]                    ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/sourceroute/Forwarder.java:100: comparison  
> requires two @Interned types
>    [javac]           if (socket != to) throw new  
> IOException("Expected to write to "+to+" got "+socket);
>    [javac]                      ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/sourceroute/SourceRouteTransportLayerImpl.java: 
> 154: comparison requires two @Interned types
>    [javac]         if (handle.getSubCancellable() != null && c !=  
> handle.getSubCancellable()) throw new RuntimeException("c !=  
> handle.getSubCancellable() (indicates a bug in the code) c:"+c+"  
> sub:"+handle.getSubCancellable());
>    [javac]                                                     ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/sourceroute/SourceRouteTransportLayerImpl.java: 
> 354: comparison requires two @Interned types
>    [javac]             if (handle.getSubCancellable() != null &&  
> msg != handle.getSubCancellable()) throw new RuntimeException("msg ! 
> = handle.getSubCancellable() (indicates a bug in the code) msg:"+msg 
> +" sub:"+handle.getSubCancellable());
>    [javac]                                                           ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/sourceroute/SourceRouteTransportLayerImpl.java: 
> 358: comparison requires two @Interned types
>    [javac]             if (handle.getSubCancellable() != null &&  
> msg != handle.getSubCancellable()) throw new RuntimeException("msg ! 
> = handle.getSubCancellable() (indicates a bug in the code) msg:"+msg 
> +" sub:"+handle.getSubCancellable());
>    [javac]                                                           ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/sourceroute/manager/SourceRouteManagerImpl.java: 
> 527: comparison requires two @Interned types
>    [javac]           if (handle.getSubCancellable() != null && msg ! 
> = handle.getSubCancellable()) throw new RuntimeException("msg !=  
> cancellable.getSubCancellable() (indicates a bug in the code)  
> msg:"+msg+" sub:"+handle.getSubCancellable());
>    [javac]                                                         ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/sourceroute/manager/SourceRouteManagerImpl.java: 
> 532: comparison requires two @Interned types
>    [javac]           if (handle.getSubCancellable() != null && msg ! 
> = handle.getSubCancellable()) throw new RuntimeException("msg !=  
> cancellable.getSubCancellable() (indicates a bug in the code)  
> msg:"+msg+" sub:"+handle.getSubCancellable());
>    [javac]                                                         ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/util/SocketWrapperSocket.java:93: comparison  
> requires two @Interned types
>    [javac]       if (reader != null && reader != receiver) throw new  
> IllegalStateException("Already registered "+reader+" for reading.  
> Can't register "+receiver);
>    [javac]                                    ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/util/SocketWrapperSocket.java:97: comparison  
> requires two @Interned types
>    [javac]       if (writer != null && writer != receiver) throw new  
> IllegalStateException("Already registered "+reader+" for writing.  
> Can't register "+receiver);
>    [javac]                                    ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/util/SocketWrapperSocket.java:123: comparison  
> requires two @Interned types
>    [javac]     if (canRead && canWrite && (reader == writer)) {
>    [javac]                                        ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/util/SocketWrapperSocket.java:158: comparison  
> requires two @Interned types
>    [javac]       if (writer == reader) {
>    [javac]                  ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/util/SocketWrapperSocket.java:191: comparison  
> requires two @Interned types
>    [javac]     if (getIdentifier() == socket.getIdentifier()) return  
> socket.toString();
>    [javac]                         ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/wire/SocketManager.java:250: comparison  
> requires two @Interned types
>    [javac]         if (writer == reader) {
>    [javac]                    ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/wire/SocketManager.java:377: comparison  
> requires two @Interned types
>    [javac]         if (writer != receiver) {
>    [javac]                    ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/wire/SocketManager.java:392: comparison  
> requires two @Interned types
>    [javac]         if (reader != receiver) throw new  
> IllegalStateException("Already registered "+reader+" for reading,  
> you can't register "+receiver+" for reading as well!");
>    [javac]                    ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/wire/magicnumber/MagicNumberTransportLayer.java: 
> 155: comparison requires two @Interned types
>    [javac]         if (cancellable.getSubCancellable() != null && c ! 
> = cancellable.getSubCancellable()) throw new RuntimeException("c !=  
> cancellable.getSubCancellable() (indicates a bug in the code) c:"+c 
> +" sub:"+cancellable.getSubCancellable());
>    [javac]                                                          ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/wire/magicnumber/MagicNumberTransportLayer.java: 
> 187: comparison requires two @Interned types
>    [javac]         if (cancellable.getSubCancellable() != null && c ! 
> = cancellable.getSubCancellable()) throw new RuntimeException("c !=  
> cancellable.getSubCancellable() (indicates a bug in the code) c:"+c 
> +" sub:"+cancellable.getSubCancellable());
>    [javac]                                                          ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/wire/magicnumber/MagicNumberTransportLayer.java: 
> 218: comparison requires two @Interned types
>    [javac]             if (cancellable.getSubCancellable() != null  
> && msg != cancellable.getSubCancellable()) throw new  
> RuntimeException("msg != cancellable.getSubCancellable() (indicates  
> a bug in the code) msg:"+msg+" sub:"+cancellable.getSubCancellable());
>     
> [javac 
> ]                                                                ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/org/ 
> mpisws/p2p/transport/wire/magicnumber/MagicNumberTransportLayer.java: 
> 225: comparison requires two @Interned types
>    [javac]             if (cancellable.getSubCancellable() != null  
> && msg != cancellable.getSubCancellable()) throw new  
> RuntimeException("msg != cancellable.getSubCancellable() (indicates  
> a bug in the code) msg:"+msg+" sub:"+cancellable.getSubCancellable());
>     
> [javac 
> ]                                                                ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/ 
> email/proxy/imap/ImapState.java:173: comparison requires two  
> @Interned types
>    [javac]       if (states[i] != this)
>    [javac]                     ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/ 
> email/proxy/imap/commands/fetch/MessagePropertyPart.java:186:  
> comparison requires two @Interned types
>    [javac]       if (contentHeader == "NIL")
>    [javac]                         ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/ 
> email/proxy/util/FileResource.java:87: incompatible types.
>    [javac] found   :  java.lang.Class[@checkers.quals.Interned ]
>    [javac] required: @checkers.quals.Interned java.lang.Class<?>
>    [javac]                 o.getClass().getMethod("close", new  
> Class[] {}).invoke(
>    [javac]                                                 ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> past/testing/PastRegrTest.java:90: comparison requires two @Interned  
> types
>    [javac]     if (PROTOCOL == PROTOCOL_DIRECT) {
>    [javac]                  ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> past/testing/PastRegrTest.java:426: comparison requires two  
> @Interned types
>    [javac]     while (tmp == remote1) {
>    [javac]                ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> past/testing/RawPastRegrTest.java:91: comparison requires two  
> @Interned types
>    [javac]     if (PROTOCOL == PROTOCOL_DIRECT) {
>    [javac]                  ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> past/testing/RawPastRegrTest.java:452: comparison requires two  
> @Interned types
>    [javac]     while (tmp == remote1) {
>    [javac]                ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> scribe/ScribeImpl.java:510: comparison requires two @Interned types
>    [javac]         if (set.size() > 1 && set.getHandle(1) ==  
> localHandle) {
>    [javac]                                                ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> scribe/ScribeImpl.java:523: comparison requires two @Interned types
>    [javac]       if (set.size() > 1 && set.getHandle(1) ==  
> localHandle) {
>    [javac]                                              ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> scribe/testing/ScribeRegrTest.java:401: comparison requires two  
> @Interned types
>    [javac]         if (scribes[i].getParent(topics.get(0)) ==  
> scribes[i].getParent(topics.get(1))) {
>    [javac]                                                 ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/RedBlackMap.java:289: comparison requires two @Interned types
>    [javac]             if (c == comparator || (c != null &&  
> c.equals(comparator))) {
>    [javac]                   ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/RedBlackMap.java:355: comparison requires two @Interned types
>    [javac]                     while (parent != null && ch ==  
> parent.right) {
>    [javac]                                                 ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/RedBlackMap.java:388: comparison requires two @Interned types
>    [javac]                     while (parent != null && ch ==  
> parent.left) {
>    [javac]                                                 ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/RedBlackMap.java:1406: comparison requires two @Interned types
>    [javac]             while (p != null && ch == p.right) {
>    [javac]                                    ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/RedBlackMap.java:1453: comparison requires two @Interned types
>    [javac]         else if (p.parent.left == p)
>    [javac]                                ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/RedBlackMap.java:1469: comparison requires two @Interned types
>    [javac]         else if (p.parent.right == p)
>    [javac]                                 ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/RedBlackMap.java:1481: comparison requires two @Interned types
>    [javac]         while (x != null && x != root && x.parent.color  
> == RED) {
>    [javac]                               ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/RedBlackMap.java:1482: comparison requires two @Interned types
>    [javac]             if (parentOf(x) ==  
> leftOf(parentOf(parentOf(x)))) {
>    [javac]                             ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/RedBlackMap.java:1490: comparison requires two @Interned types
>    [javac]                     if (x == rightOf(parentOf(x))) {
>    [javac]                           ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/RedBlackMap.java:1507: comparison requires two @Interned types
>    [javac]                     if (x == leftOf(parentOf(x))) {
>    [javac]                           ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/RedBlackMap.java:1545: comparison requires two @Interned types
>    [javac]             else if (p == p.parent.left)
>    [javac]                        ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/RedBlackMap.java:1563: comparison requires two @Interned types
>    [javac]                 if (p == p.parent.left)
>    [javac]                       ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/RedBlackMap.java:1565: comparison requires two @Interned types
>    [javac]                 else if (p == p.parent.right)
>    [javac]                            ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/RedBlackMap.java:1576: comparison requires two @Interned types
>    [javac]         while (x != root && colorOf(x) == BLACK) {
>    [javac]                  ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/RedBlackMap.java:1577: comparison requires two @Interned types
>    [javac]             if (x == leftOf(parentOf(x))) {
>    [javac]                   ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/StringCache.java:298: comparison requires two @Interned types
>    [javac]       return (v1 == v2 || (v1 != null && v1.equals(v2)));
>    [javac]                  ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:469: incompatible types.
>    [javac] found   :  java.lang.Class[@checkers.quals.Interned ]
>    [javac] required: @checkers.quals.Interned java.lang.Class
>    [javac]           meth = defCl.getDeclaredMethod("readResolve",  
> new Class[0]);
>    [javac]                                                         ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:518: incompatible types.
>    [javac] found   :  java.lang.Class[@checkers.quals.Interned ]
>    [javac] required: @checkers.quals.Interned java.lang.Class
>    [javac]         Method method =  
> cl.getDeclaredMethod("readObject", new Class[]  
> {ObjectInputStream.class});
>     
> [javac]                                                            ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:548: incompatible types.
>    [javac] found   :  java.lang.Class[@checkers.quals.Interned ]
>    [javac] required: @checkers.quals.Interned java.lang.Class
>    [javac]     Constructor cons = initCl.getDeclaredConstructor(new  
> Class[0]);
>    [javac]                                                      ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:569: incompatible types.
>    [javac] found   :  java.lang.Class[@checkers.quals.Interned ]
>    [javac] required: @checkers.quals.Interned java.lang.Class
>    [javac]           cons = c.getDeclaredConstructor(new Class[0]);
>    [javac]                                           ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1086: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]     if (c.equals(Integer.TYPE)) {
>    [javac]                 ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1088: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]     } else if (c.equals(Boolean.TYPE)) {
>    [javac]                        ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1090: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]     } else if (c.equals(Byte.TYPE)) {
>    [javac]                        ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1092: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]     } else if (c.equals(Character.TYPE)) {
>    [javac]                        ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1094: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]     } else if (c.equals(Double.TYPE)) {
>    [javac]                        ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1096: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]     } else if (c.equals(Float.TYPE)) {
>    [javac]                        ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1098: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]     } else if (c.equals(Long.TYPE)) {
>    [javac]                        ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1100: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]     } else if (c.equals(Short.TYPE)) {
>    [javac]                        ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1185: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]     if (f.getType().equals(Integer.TYPE)) {
>    [javac]                           ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1187: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]     } else if (f.getType().equals(Boolean.TYPE)) {
>    [javac]                                  ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1189: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]     } else if (f.getType().equals(Byte.TYPE)) {
>    [javac]                                  ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1191: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]     } else if (f.getType().equals(Character.TYPE)) {
>    [javac]                                  ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1193: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]     } else if (f.getType().equals(Double.TYPE)) {
>    [javac]                                  ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1195: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]     } else if (f.getType().equals(Float.TYPE)) {
>    [javac]                                  ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1197: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]     } else if (f.getType().equals(Long.TYPE)) {
>    [javac]                                  ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1199: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]     } else if (f.getType().equals(Short.TYPE)) {
>    [javac]                                  ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1229: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       if (c.equals(Integer.TYPE))
>    [javac]                   ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1231: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       else if (c.equals(Boolean.TYPE))
>    [javac]                        ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1233: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       else if (c.equals(Byte.TYPE))
>    [javac]                        ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1235: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       else if (c.equals(Character.TYPE))
>    [javac]                        ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1237: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       else if (c.equals(Double.TYPE))
>    [javac]                        ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1239: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       else if (c.equals(Float.TYPE))
>    [javac]                        ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1241: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       else if (c.equals(Long.TYPE))
>    [javac]                        ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectInputStream.java:1243: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       else if (c.equals(Short.TYPE))
>    [javac]                        ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:490: incompatible types.
>    [javac] found   :  java.lang.Class[@checkers.quals.Interned ]
>    [javac] required: @checkers.quals.Interned java.lang.Class
>    [javac]         meth = defCl.getDeclaredMethod("writeReplace",  
> new Class[0]);
>    [javac]                                                        ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:536: incompatible types.
>    [javac] found   :  java.lang.Class[@checkers.quals.Interned ]
>    [javac] required: @checkers.quals.Interned java.lang.Class
>    [javac]         Method method =  
> cl.getDeclaredMethod("writeObject", new Class[]  
> {ObjectOutputStream.class});
>     
> [javac]                                                             ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:649: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       if (c.getSuperclass().equals((new  
> Object()).getClass()))
>    [javac]                                   ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:656: invalid type, type need to be a  
> supertype of the required type.
>    [javac] found   : java.lang.Class
>    [javac] required: @checkers.quals.Interned java.lang.Class
>    [javac]     return (Class[]) v.toArray(new Class[0]);
>    [javac]                  ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:656: incompatible types.
>    [javac] found   :  java.lang.Class[@checkers.quals.Interned ]
>    [javac] required:  java.lang.Object[]
>    [javac]     return (Class[]) v.toArray(new Class[0]);
>    [javac]                                ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:851: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]         if (c.equals(Integer.TYPE)) {
>    [javac]                     ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:853: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]         } else if (c.equals(Boolean.TYPE)) {
>    [javac]                            ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:855: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]         } else if (c.equals(Byte.TYPE)) {
>    [javac]                            ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:857: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]         } else if (c.equals(Character.TYPE)) {
>    [javac]                            ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:859: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]         } else if (c.equals(Double.TYPE)) {
>    [javac]                            ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:861: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]         } else if (c.equals(Float.TYPE)) {
>    [javac]                            ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:863: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]         } else if (c.equals(Long.TYPE)) {
>    [javac]                            ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:1047: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       if (primitive.getClass().equals(Integer.class)) {
>    [javac]                                      ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:1049: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       } else if  
> (primitive.getClass().equals(Boolean.class)) {
>    [javac]                                             ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:1051: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       } else if (primitive.getClass().equals(Byte.class)) {
>    [javac]                                             ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:1053: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       } else if  
> (primitive.getClass().equals(Character.class)) {
>    [javac]                                             ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:1055: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       } else if  
> (primitive.getClass().equals(Double.class)) {
>    [javac]                                             ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:1057: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       } else if  
> (primitive.getClass().equals(Float.class)) {
>    [javac]                                             ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:1059: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       } else if (primitive.getClass().equals(Long.class)) {
>    [javac]                                             ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:1061: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       } else if  
> (primitive.getClass().equals(Short.class)) {
>    [javac]                                             ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:1088: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       if (f.getType().equals(Integer.TYPE)) {
>    [javac]                             ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:1090: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       } else if (f.getType().equals(Boolean.TYPE)) {
>    [javac]                                    ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:1092: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       } else if (f.getType().equals(Byte.TYPE)) {
>    [javac]                                    ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:1094: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       } else if (f.getType().equals(Character.TYPE)) {
>    [javac]                                    ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:1096: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       } else if (f.getType().equals(Double.TYPE)) {
>    [javac]                                    ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:1098: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       } else if (f.getType().equals(Float.TYPE)) {
>    [javac]                                    ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:1100: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       } else if (f.getType().equals(Long.TYPE)) {
>    [javac]                                    ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:1102: warning: use of .equals can be  
> safely replaced by ==/!=
>    [javac]       } else if (f.getType().equals(Short.TYPE)) {
>    [javac]                                    ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/XMLObjectOutputStream.java:1379: comparison requires two  
> @Interned types
>    [javac]       return (((Reference) o).object == object);
>    [javac]                                      ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/testing/RedBlackMapUnit.java:223: comparison requires two  
> @Interned types
>    [javac]       if (next != sorted[count])
>    [javac]                ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/testing/RedBlackMapUnit.java:243: comparison requires two  
> @Interned types
>    [javac]       if (next != sorted[count])
>    [javac]                ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/testing/RedBlackMapUnit.java:263: comparison requires two  
> @Interned types
>    [javac]       if (next != sorted[count])
>    [javac]                ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/testing/RedBlackMapUnit.java:284: comparison requires two  
> @Interned types
>    [javac]       if (next != sorted[count])
>    [javac]                ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/testing/StringCacheUnit.java:86: comparison requires two  
> @Interned types
>    [javac]     if (Arrays.equals(test_2, s.toCharArray()) && (s ==  
> s_2)) {
>    [javac]                                                      ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/testing/StringCacheUnit.java:111: comparison requires two  
> @Interned types
>    [javac]             if (other != t) {
>    [javac]                       ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/testing/XMLObjectStreamUnit.java:223: warning: use of .equals  
> can be safely replaced by ==/!=
>    [javac]          
> o1 
> .getClass 
> ().getComponentType().equals(o2.getClass().getComponentType())) {
>    [javac]                                                ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/testing/XMLObjectStreamUnit.java:228: warning: use of .equals  
> can be safely replaced by ==/!=
>    [javac]         if (c.equals(Integer.TYPE)) {
>    [javac]                     ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/testing/XMLObjectStreamUnit.java:230: warning: use of .equals  
> can be safely replaced by ==/!=
>    [javac]         } else if (c.equals(Boolean.TYPE)) {
>    [javac]                            ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/testing/XMLObjectStreamUnit.java:232: warning: use of .equals  
> can be safely replaced by ==/!=
>    [javac]         } else if (c.equals(Byte.TYPE)) {
>    [javac]                            ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/testing/XMLObjectStreamUnit.java:234: warning: use of .equals  
> can be safely replaced by ==/!=
>    [javac]         } else if (c.equals(Character.TYPE)) {
>    [javac]                            ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/testing/XMLObjectStreamUnit.java:236: warning: use of .equals  
> can be safely replaced by ==/!=
>    [javac]         } else if (c.equals(Double.TYPE)) {
>    [javac]                            ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/testing/XMLObjectStreamUnit.java:238: warning: use of .equals  
> can be safely replaced by ==/!=
>    [javac]         } else if (c.equals(Float.TYPE)) {
>    [javac]                            ^
>    [javac] /DS/home-0/mernst/tmp/try-freepastry/pastry/src/rice/p2p/ 
> util/testing/XMLObjectStreamUnit.java:240: warning: use of .equals  
> can be safely replaced by ==/!=
>    [javac]         } else if (c.equals(Long.TYPE)) {
>    [javac]                            ^
>
>
>    [javac] An annotation processor threw an uncaught exception.
>    [javac] Consult the following stack trace for details.
>    [javac] java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
>    [javac] 	at java.util.LinkedList.entry(LinkedList.java:382)
>    [javac] 	at java.util.LinkedList.get(LinkedList.java:332)
>    [javac] 	at java.util.Collections 
> $UnmodifiableList.get(Collections.java:1170)
>    [javac] 	at  
> checkers.util.AnnotatedTypes.subst(AnnotatedTypes.java:248)
>    [javac] 	at  
> checkers.util.AnnotatedTypes.asMemberOf(AnnotatedTypes.java:223)
>    [javac] 	at  
> checkers.basetype.BaseTypeVisitor.visitMethod(BaseTypeVisitor.java: 
> 193)
>    [javac] 	at com.sun.tools.javac.tree.JCTree 
> $JCMethodDecl.accept(JCTree.java:681)
>    [javac] 	at  
> com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:67)
>    [javac] 	at  
> com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:80)
>    [javac] 	at com.sun.source.util.TreeScanner.scan(TreeScanner.java: 
> 90)
>    [javac] 	at  
> com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:98)
>    [javac] 	at  
> com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:132)
>    [javac] 	at  
> checkers.basetype.BaseTypeVisitor.visitClass(BaseTypeVisitor.java:129)
>    [javac] 	at com.sun.tools.javac.tree.JCTree 
> $JCClassDecl.accept(JCTree.java:604)
>    [javac] 	at  
> com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:67)
>    [javac] 	at  
> com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:80)
>    [javac] 	at  
> com.sun.source.util.TreeScanner.visitNewClass(TreeScanner.java:276)
>    [javac] 	at  
> checkers.basetype.BaseTypeVisitor.visitNewClass(BaseTypeVisitor.java: 
> 281)
>    [javac] 	at com.sun.tools.javac.tree.JCTree 
> $JCNewClass.accept(JCTree.java:1369)
>    [javac] 	at  
> com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:67)
>    [javac] 	at  
> com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:80)
>    [javac] 	at com.sun.source.util.TreeScanner.scan(TreeScanner.java: 
> 90)
>    [javac] 	at  
> com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:98)
>    [javac] 	at  
> com 
> .sun.source.util.TreeScanner.visitMethodInvocation(TreeScanner.java: 
> 267)
>    [javac] 	at  
> checkers 
> .basetype.BaseTypeVisitor.visitMethodInvocation(BaseTypeVisitor.java: 
> 245)
>    [javac] 	at  
> checkers 
> .interned.InternedVisitor.visitMethodInvocation(InternedVisitor.java: 
> 88)
>    [javac] 	at  
> checkers 
> .interned.InternedVisitor.visitMethodInvocation(InternedVisitor.java: 
> 27)
>    [javac] 	at com.sun.tools.javac.tree.JCTree 
> $JCMethodInvocation.accept(JCTree.java:1315)
>    [javac] 	at  
> com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:67)
>    [javac] 	at com.sun.source.util.TreeScanner.scan(TreeScanner.java: 
> 90)
>    [javac] 	at  
> com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:98)
>    [javac] 	at  
> com 
> .sun.source.util.TreeScanner.visitMethodInvocation(TreeScanner.java: 
> 267)
>    [javac] 	at  
> checkers 
> .basetype.BaseTypeVisitor.visitMethodInvocation(BaseTypeVisitor.java: 
> 245)
>    [javac] 	at  
> checkers 
> .interned.InternedVisitor.visitMethodInvocation(InternedVisitor.java: 
> 88)
>    [javac] 	at  
> checkers 
> .interned.InternedVisitor.visitMethodInvocation(InternedVisitor.java: 
> 27)
>    [javac] 	at com.sun.tools.javac.tree.JCTree 
> $JCMethodInvocation.accept(JCTree.java:1315)
>    [javac] 	at  
> com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:67)
>    [javac] 	at  
> com 
> .sun 
> .source.util.TreeScanner.visitExpressionStatement(TreeScanner.java: 
> 239)
>    [javac] 	at com.sun.tools.javac.tree.JCTree 
> $JCExpressionStatement.accept(JCTree.java:1155)
>    [javac] 	at  
> com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:67)
>    [javac] 	at  
> com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:80)
>    [javac] 	at com.sun.source.util.TreeScanner.scan(TreeScanner.java: 
> 90)
>    [javac] 	at  
> com.sun.source.util.TreeScanner.visitBlock(TreeScanner.java:159)
>    [javac] 	at com.sun.tools.javac.tree.JCTree 
> $JCBlock.accept(JCTree.java:781)
>    [javac] 	at  
> com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:67)
>    [javac] 	at  
> com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:80)
>    [javac] 	at  
> com.sun.source.util.TreeScanner.visitMethod(TreeScanner.java:143)
>    [javac] 	at  
> checkers.basetype.BaseTypeVisitor.visitMethod(BaseTypeVisitor.java: 
> 197)
>    [javac] 	at com.sun.tools.javac.tree.JCTree 
> $JCMethodDecl.accept(JCTree.java:681)
>    [javac] 	at  
> com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:67)
>    [javac] 	at  
> com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:80)
>    [javac] 	at com.sun.source.util.TreeScanner.scan(TreeScanner.java: 
> 90)
>    [javac] 	at  
> com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:98)
>    [javac] 	at  
> com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:132)
>    [javac] 	at  
> checkers.basetype.BaseTypeVisitor.visitClass(BaseTypeVisitor.java:129)
>    [javac] 	at com.sun.tools.javac.tree.JCTree 
> $JCClassDecl.accept(JCTree.java:604)
>    [javac] 	at  
> com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:49)
>    [javac] 	at  
> checkers.source.SourceChecker.process(SourceChecker.java:191)
>    [javac] 	at  
> com 
> .sun 
> .tools 
> .javac 
> .processing 
> .JavacProcessingEnvironment 
> .callProcessor(JavacProcessingEnvironment.java:733)
>    [javac] 	at  
> com 
> .sun 
> .tools 
> .javac 
> .processing 
> .JavacProcessingEnvironment 
> .discoverAndRunProcs(JavacProcessingEnvironment.java:662)
>    [javac] 	at  
> com 
> .sun 
> .tools 
> .javac 
> .processing 
> .JavacProcessingEnvironment 
> .doProcessing(JavacProcessingEnvironment.java:807)
>    [javac] 	at  
> com 
> .sun 
> .tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java: 
> 995)
>    [javac] 	at  
> com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:741)
>    [javac] 	at com.sun.tools.javac.main.Main.compile(Main.java:380)
>    [javac] 	at com.sun.tools.javac.main.Main.compile(Main.java:306)
>    [javac] 	at com.sun.tools.javac.main.Main.compile(Main.java:297)
>    [javac] 	at com.sun.tools.javac.Main.compile(Main.java:82)
>    [javac] 	at com.sun.tools.javac.Main.main(Main.java:67)
>
> BUILD FAILED
> /DS/home-0/mernst/tmp/try-freepastry/pastry/build.xml:104: Compile  
> failed; see the compiler error output for details.
>
> Total time: 36 seconds
>
> Compilation exited abnormally with code 1 at Tue Mar 18 00:05:55
>
> _______________________________________________
> checkers mailing list
> checkers at lists.csail.mit.edu
> https://lists.csail.mit.edu/mailman/listinfo/checkers




More information about the checkers mailing list