From jboss-remoting-commits at lists.jboss.org Sun Feb 21 10:55:26 2010 Content-Type: multipart/mixed; boundary="===============7771323427322281107==" MIME-Version: 1.0 From: jboss-remoting-commits at lists.jboss.org To: jboss-remoting-commits at lists.jboss.org Subject: [jboss-remoting-commits] JBoss Remoting SVN: r5752 - remoting2/branches/2.2/src/etc. Date: Sun, 21 Feb 2010 10:55:26 -0500 Message-ID: <201002211555.o1LFtQJN028212@svn01.web.mwc.hst.phx2.redhat.com> --===============7771323427322281107== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: ron.sigal(a)jboss.com Date: 2010-02-21 10:55:26 -0500 (Sun, 21 Feb 2010) New Revision: 5752 Added: remoting2/branches/2.2/src/etc/findbugs.html Log: JBREM-1161: Checking in current findbugs report. Added: remoting2/branches/2.2/src/etc/findbugs.html =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- remoting2/branches/2.2/src/etc/findbugs.html (r= ev 0) +++ remoting2/branches/2.2/src/etc/findbugs.html 2010-02-21 15:55:26 UTC (r= ev 5752) @@ -0,0 +1,4792 @@ + + + +FindBugs Report + + + + +

+FindBugs Report

+

Project Information

+

Project: = +

+

FindBugs version: 1.3.9

+

Code analyzed:

+ +

+
+
+

+

Metrics

+

28277 lines of code analyzed, + in 550 classes, = + in 84 packages.

+ + + + + + + + + + + + + + + + + + + + + +
MetricTotalDensity*
High Priority Warnings411.45
Medium Priority Warnings2358.31
+Total Warnings + +276 + +9.76 +
+

+(* Defects per Thousand lines of non-commenting source statements) +

+

+
+
+

+

Contents

+ +

Summary

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Warning TypeNumber
+Bad practice Warnings +39
+Correctness Warnings +30
+Experimental Warnings +3
+Malicious code vulnerability Warnings= +51
+Multithreaded correctness Warnings +29
+Performance Warnings +95
+Dodgy Warnings +29
+Total + +276 +
+

Warnings

+

Click on a warning row to see full context information.

+

+Bad practice Warnings +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CodeWarning
+BC +Random object created and used only once in org.jboss.remoting.transpo= rt.PortUtil.getRandomStartingPort()
+ +

+Bug type DMI_RANDOM_USED_ONLY_ONCE = (click for details) +
In class org.jboss.remoting.transport.PortUtil
In method org.jbos= s.remoting.transport.PortUtil.getRandomStartingPort()
Called method jav= a.util.Random.nextInt(int)
At PortUtil.java:[line 153]

+
+BC +Random object created and used only once in org.jboss.remoting.transpo= rter.DefaultLoadBalancer.selectServer(ArrayList)
+ +

+Bug type DMI_RANDOM_USED_ONLY_ONCE = (click for details) +
In class org.jboss.remoting.transporter.DefaultLoadBalancer
In me= thod org.jboss.remoting.transporter.DefaultLoadBalancer.selectServer(ArrayL= ist)
Called method java.util.Random.nextInt(int)
At DefaultLoadBala= ncer.java:[line 20]

+
+Dm +new org.jboss.remoting.samples.chat.client.Chat(String[]) invokes Syst= em.exit(...), which shuts down the entire virtual machine
+ +

+Bug type DM_EXIT (click for details) +
In class org.jboss.remoting.samples.chat.client.Chat
In method ne= w org.jboss.remoting.samples.chat.client.Chat(String[])
At Chat.java:[l= ine 54]

+
+Dm +new org.jboss.remoting.samples.chat.server.ChatManager() invokes Syste= m.exit(...), which shuts down the entire virtual machine
+ +

+Bug type DM_EXIT (click for details) +
In class org.jboss.remoting.samples.chat.server.ChatManager
In me= thod new org.jboss.remoting.samples.chat.server.ChatManager()
At ChatMa= nager.java:[line 51]

+
+Dm +org.jboss.remoting.samples.chat.server.ChatManager.initialize() invoke= s System.exit(...), which shuts down the entire virtual machine
+ +

+Bug type DM_EXIT (click for details) +
In class org.jboss.remoting.samples.chat.server.ChatManager
In me= thod org.jboss.remoting.samples.chat.server.ChatManager.initialize()
At= ChatManager.java:[line 72]
Another occurrence at ChatManager.java:[lin= e 76]

+
+Dm +org.jboss.remoting.samples.chat.server.ChatManagerLauncher.launchButto= n_actionPerformed(ActionEvent) invokes System.exit(...), which shuts down t= he entire virtual machine
+ +

+Bug type DM_EXIT (click for details) +
In class org.jboss.remoting.samples.chat.server.ChatManagerLauncherIn method org.jboss.remoting.samples.chat.server.ChatManagerLauncher.lau= nchButton_actionPerformed(ActionEvent)
At ChatManagerLauncher.java:[lin= e 102]

+
+Dm +org.jboss.remoting.samples.multiplex.PrimeScenarioExampleClient.runPri= meScenario() invokes System.exit(...), which shuts down the entire virtual = machine
+ +

+Bug type DM_EXIT (click for details) +
In class org.jboss.remoting.samples.multiplex.PrimeScenarioExampleCli= ent
In method org.jboss.remoting.samples.multiplex.PrimeScenarioExample= Client.runPrimeScenario()
At PrimeScenarioExampleClient.java:[line 66]<= /p> +

+Dm +org.jboss.remoting.samples.multiplex.PrimeScenarioExampleClient$Asynch= ronousThread.run() invokes System.exit(...), which shuts down the entire vi= rtual machine
+ +

+Bug type DM_EXIT (click for details) +
In class org.jboss.remoting.samples.multiplex.PrimeScenarioExampleCli= ent$AsynchronousThread
In method org.jboss.remoting.samples.multiplex.P= rimeScenarioExampleClient$AsynchronousThread.run()
At PrimeScenarioExam= pleClient.java:[line 102]

+
+Dm +org.jboss.remoting.samples.multiplex.PrimeScenarioExampleServer.runPri= meScenario() invokes System.exit(...), which shuts down the entire virtual = machine
+ +

+Bug type DM_EXIT (click for details) +
In class org.jboss.remoting.samples.multiplex.PrimeScenarioExampleSer= ver
In method org.jboss.remoting.samples.multiplex.PrimeScenarioExample= Server.runPrimeScenario()
At PrimeScenarioExampleServer.java:[line 74]<= /p> +

+Dm +org.jboss.remoting.samples.multiplex.PrimeScenarioExampleServer$Asynch= ronousThread.run() invokes System.exit(...), which shuts down the entire vi= rtual machine
+ +

+Bug type DM_EXIT (click for details) +
In class org.jboss.remoting.samples.multiplex.PrimeScenarioExampleSer= ver$AsynchronousThread
In method org.jboss.remoting.samples.multiplex.P= rimeScenarioExampleServer$AsynchronousThread.run()
At PrimeScenarioExam= pleServer.java:[line 110]

+
+DP +org.jboss.remoting.MicroRemoteClientInvoker.invoke(InvocationRequest) = creates a org.jboss.remoting.loading.RemotingClassLoader classloader, which= should be performed within a doPrivileged block
+ +

+Bug type DP_CREATE= _CLASSLOADER_INSIDE_DO_PRIVILEGED (click for details) +
In class org.jboss.remoting.MicroRemoteClientInvoker
In method or= g.jboss.remoting.MicroRemoteClientInvoker.invoke(InvocationRequest)
In = class org.jboss.remoting.loading.RemotingClassLoader
At MicroRemoteClie= ntInvoker.java:[line 100]
Another occurrence at MicroRemoteClientInvoke= r.java:[line 104]

+
+ES +Comparison of String objects using =3D=3D or !=3D in org.jboss.remotin= g.transport.multiplex.MultiplexServerInvoker.rule2(String, int)
+ +

+Bug type ES_COMPARING_STRINGS_WI= TH_EQ (click for details) +
In class org.jboss.remoting.transport.multiplex.MultiplexServerInvoke= r
In method org.jboss.remoting.transport.multiplex.MultiplexServerInvok= er.rule2(String, int)
Actual type String
At MultiplexServerInvoker.= java:[line 977]

+
+HE +org.jboss.remoting.InvokerRegistry$ClientInvokerHolder defines equals = and uses Object.hashCode()
+ +

+Bug type HE_EQUALS_USE_HASHCODE (click= for details) +
In class org.jboss.remoting.InvokerRegistry$ClientInvokerHolder
I= n method org.jboss.remoting.InvokerRegistry$ClientInvokerHolder.equals(Obje= ct)
At InvokerRegistry.java:[lines 759-777]

+
+HE +org.jboss.remoting.samples.http.ComplexObject defines equals and uses = Object.hashCode()
+ +

+Bug type HE_EQUALS_USE_HASHCODE (click= for details) +
In class org.jboss.remoting.samples.http.ComplexObject
In method = org.jboss.remoting.samples.http.ComplexObject.equals(Object)
At Complex= Object.java:[lines 72-86]

+
+Nm +Class org.jboss.remoting.samples.transporter.complex.NoDoctorAvailable= Exception is not derived from an Exception, even though it is named as such=
+ +

+Bug type NM_CLASS_NOT_EXCEPTION (click= for details) +
In class org.jboss.remoting.samples.transporter.complex.NoDoctorAvail= ableException
At NoDoctorAvailableException.java:[lines 10-11]

+
+NP +org.jboss.remoting.network.NetworkInstance.equals(Object) does not che= ck for null argument
+ +

+Bug type NP_EQUALS_SHOU= LD_HANDLE_NULL_ARGUMENT (click for details) +
In class org.jboss.remoting.network.NetworkInstance
In method org= .jboss.remoting.network.NetworkInstance.equals(Object)
Local variable n= amed obj
At NetworkInstance.java:[line 104]

+
+NP +org.jboss.remoting.transport.socket.ServerAddress.equals(Object) does = not check for null argument
+ +

+Bug type NP_EQUALS_SHOU= LD_HANDLE_NULL_ARGUMENT (click for details) +
In class org.jboss.remoting.transport.socket.ServerAddress
In met= hod org.jboss.remoting.transport.socket.ServerAddress.equals(Object)
Lo= cal variable named obj
At ServerAddress.java:[lines 109-140]

+
+OS +org.jboss.remoting.samples.chat.utility.Parameters.getSecondaryParamet= erSources() may fail to close stream
+ +

+Bug type OS_OPEN_STREAM (click for details) +
In class org.jboss.remoting.samples.chat.utility.Parameters
In me= thod org.jboss.remoting.samples.chat.utility.Parameters.getSecondaryParamet= erSources()
Need to close java.io.InputStream
At Parameters.java:[= line 108]

+
+RR +org.jboss.remoting.transport.multiplex.MultiplexingInputStream.read() = ignores result of org.jboss.remoting.transport.multiplex.MultiplexingInputS= tream.skip(long)
+ +

+Bug type SR_NOT_CHECKED (click for details) +
In class org.jboss.remoting.transport.multiplex.MultiplexingInputStre= am
In method org.jboss.remoting.transport.multiplex.MultiplexingInputSt= ream.read()
Called method org.jboss.remoting.transport.multiplex.Multip= lexingInputStream.skip(long)
At MultiplexingInputStream.java:[line 157]=

+
+RR +org.jboss.remoting.transport.multiplex.MultiplexingInputStream.read(by= te[], int, int) ignores result of org.jboss.remoting.transport.multiplex.Mu= ltiplexingInputStream.skip(long)
+ +

+Bug type SR_NOT_CHECKED (click for details) +
In class org.jboss.remoting.transport.multiplex.MultiplexingInputStre= am
In method org.jboss.remoting.transport.multiplex.MultiplexingInputSt= ream.read(byte[], int, int)
Called method org.jboss.remoting.transport.= multiplex.MultiplexingInputStream.skip(long)
At MultiplexingInputStream= .java:[line 219]

+
+RV +org.jboss.remoting.ident.Identity.createId(MBeanServer) ignores except= ional return value of java.io.File.createNewFile()
+ +

+Bug type RV_RETURN_VALUE= _IGNORED_BAD_PRACTICE (click for details) +
In class org.jboss.remoting.ident.Identity
In method org.jboss.re= moting.ident.Identity.createId(MBeanServer)
Called method java.io.File.= createNewFile()
At Identity.java:[line 292]

+
+RV +org.jboss.remoting.ident.Identity.createId(MBeanServer) ignores except= ional return value of java.io.File.mkdirs()
+ +

+Bug type RV_RETURN_VALUE= _IGNORED_BAD_PRACTICE (click for details) +
In class org.jboss.remoting.ident.Identity
In method org.jboss.re= moting.ident.Identity.createId(MBeanServer)
Called method java.io.File.= mkdirs()
At Identity.java:[line 237]
Another occurrence at Identity= .java:[line 252]

+
+RV +org.jboss.remoting.loading.ClassByteClassLoader.clean(ClassByteClassLo= ader$MyRef) ignores exceptional return value of java.io.File.delete()
+ +

+Bug type RV_RETURN_VALUE= _IGNORED_BAD_PRACTICE (click for details) +
In class org.jboss.remoting.loading.ClassByteClassLoader
In metho= d org.jboss.remoting.loading.ClassByteClassLoader.clean(ClassByteClassLoade= r$MyRef)
Called method java.io.File.delete()
At ClassByteClassLoade= r.java:[line 107]

+
+RV +org.jboss.remoting.loading.ClassByteClassLoader.finalize() ignores exc= eptional return value of java.io.File.delete()
+ +

+Bug type RV_RETURN_VALUE= _IGNORED_BAD_PRACTICE (click for details) +
In class org.jboss.remoting.loading.ClassByteClassLoader
In metho= d org.jboss.remoting.loading.ClassByteClassLoader.finalize()
Called met= hod java.io.File.delete()
At ClassByteClassLoader.java:[line 148]

+
+RV +org.jboss.remoting.samples.stream.StreamingServer$TestStreamInvocation= Handler.handleStream(InputStream, InvocationRequest) ignores exceptional re= turn value of java.io.File.createNewFile()
+ +

+Bug type RV_RETURN_VALUE= _IGNORED_BAD_PRACTICE (click for details) +
In class org.jboss.remoting.samples.stream.StreamingServer$TestStream= InvocationHandler
In method org.jboss.remoting.samples.stream.Streaming= Server$TestStreamInvocationHandler.handleStream(InputStream, InvocationRequ= est)
Called method java.io.File.createNewFile()
At StreamingServer.= java:[line 125]

+
+Se +Class org.jboss.remoting.marshal.encryption.EncryptingMarshaller defin= es non-transient non-serializable instance field cipher
+ +

+Bug type SE_BAD_FIELD (click for details) +
In class org.jboss.remoting.marshal.encryption.EncryptingMarshallerField org.jboss.remoting.marshal.encryption.EncryptingMarshaller.cipher<= br/>In EncryptingMarshaller.java

+
+Se +Class org.jboss.remoting.marshal.encryption.EncryptingUnMarshaller def= ines non-transient non-serializable instance field cipher
+ +

+Bug type SE_BAD_FIELD (click for details) +
In class org.jboss.remoting.marshal.encryption.EncryptingUnMarshaller=
Field org.jboss.remoting.marshal.encryption.EncryptingUnMarshaller.cip= her
In EncryptingUnMarshaller.java

+
+Se +Class org.jboss.remoting.marshal.serializable.SerializableUnMarshaller= defines non-transient non-serializable instance field customClassLoader +
+ +

+Bug type SE_BAD_FIELD (click for details) +
In class org.jboss.remoting.marshal.serializable.SerializableUnMarsha= ller
Field org.jboss.remoting.marshal.serializable.SerializableUnMarsha= ller.customClassLoader
In SerializableUnMarshaller.java

+
+Se +org.jboss.remoting.samples.chat.utility.ReadWriteArrayList$Gate is ser= ializable and an inner class
+ +

+Bug type SE_INNER_CLASS (click for details) +
In class org.jboss.remoting.samples.chat.utility.ReadWriteArrayList$G= ate
At ReadWriteArrayList.java:[lines 90-139]

+
+Se +Class org.jboss.remoting.socketfactory.CreationListenerServerSocketFac= tory defines non-transient non-serializable instance field listener
+ +

+Bug type SE_BAD_FIELD (click for details) +
In class org.jboss.remoting.socketfactory.CreationListenerServerSocke= tFactory
Field org.jboss.remoting.socketfactory.CreationListenerServerS= ocketFactory.listener
In CreationListenerServerSocketFactory.java

+
+Se +Class org.jboss.remoting.socketfactory.CreationListenerSocketFactory d= efines non-transient non-serializable instance field listener
+ +

+Bug type SE_BAD_FIELD (click for details) +
In class org.jboss.remoting.socketfactory.CreationListenerSocketFacto= ry
Field org.jboss.remoting.socketfactory.CreationListenerSocketFactory= .listener
In CreationListenerSocketFactory.java

+
+Se +Class org.jboss.remoting.transport.multiplex.MasterServerSocket define= s non-transient non-serializable instance field ss
+ +

+Bug type SE_BAD_FIELD (click for details) +
In class org.jboss.remoting.transport.multiplex.MasterServerSocketField org.jboss.remoting.transport.multiplex.MasterServerSocket.ss
In= MasterServerSocket.java

+
+Se +Class org.jboss.remoting.transport.multiplex.MasterServerSocket define= s non-transient non-serializable instance field ssc
+ +

+Bug type SE_BAD_FIELD (click for details) +
In class org.jboss.remoting.transport.multiplex.MasterServerSocketField org.jboss.remoting.transport.multiplex.MasterServerSocket.ssc
I= n MasterServerSocket.java

+
+Se +Class org.jboss.remoting.transport.multiplex.VirtualServerSocket defin= es non-transient non-serializable instance field actualSocket
+ +

+Bug type SE_BAD_FIELD (click for details) +
In class org.jboss.remoting.transport.multiplex.VirtualServerSocketField org.jboss.remoting.transport.multiplex.VirtualServerSocket.actualS= ocket
In VirtualServerSocket.java

+
+Se +Class org.jboss.remoting.transport.multiplex.VirtualServerSocket defin= es non-transient non-serializable instance field cis
+ +

+Bug type SE_BAD_FIELD (click for details) +
In class org.jboss.remoting.transport.multiplex.VirtualServerSocketField org.jboss.remoting.transport.multiplex.VirtualServerSocket.cis
In VirtualServerSocket.java

+
+Se +Class org.jboss.remoting.transport.multiplex.VirtualServerSocket defin= es non-transient non-serializable instance field dummySocket
+ +

+Bug type SE_BAD_FIELD (click for details) +
In class org.jboss.remoting.transport.multiplex.VirtualServerSocketField org.jboss.remoting.transport.multiplex.VirtualServerSocket.dummySo= cket
In VirtualServerSocket.java

+
+Se +Class org.jboss.remoting.transport.multiplex.VirtualServerSocket defin= es non-transient non-serializable instance field is
+ +

+Bug type SE_BAD_FIELD (click for details) +
In class org.jboss.remoting.transport.multiplex.VirtualServerSocketField org.jboss.remoting.transport.multiplex.VirtualServerSocket.is
= In VirtualServerSocket.java

+
+Se +Class org.jboss.remoting.transport.multiplex.VirtualServerSocket defin= es non-transient non-serializable instance field manager
+ +

+Bug type SE_BAD_FIELD (click for details) +
In class org.jboss.remoting.transport.multiplex.VirtualServerSocketField org.jboss.remoting.transport.multiplex.VirtualServerSocket.manager=
In VirtualServerSocket.java

+
+Se +Class org.jboss.remoting.transport.multiplex.VirtualServerSocket defin= es non-transient non-serializable instance field protocol
+ +

+Bug type SE_BAD_FIELD (click for details) +
In class org.jboss.remoting.transport.multiplex.VirtualServerSocketField org.jboss.remoting.transport.multiplex.VirtualServerSocket.protoco= l
In VirtualServerSocket.java

+
+

+Correctness Warnings +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CodeWarning
+MF +Field HTTPSServerInvoker.serverSocketFactory masks field in superclass= org.jboss.remoting.ServerInvoker
+ +

+Bug type MF_CLASS_MASKS_FIELD (click for= details) +
In class org.jboss.remoting.transport.http.ssl.HTTPSServerInvoker
Masking field org.jboss.remoting.transport.http.ssl.HTTPSServerInvoker.ser= verSocketFactory
Masked field org.jboss.remoting.ServerInvoker.serverSo= cketFactory
At HTTPSServerInvoker.java:[lines 52-160]

+
+MF +Field MultiplexClientInvoker.clientSocketClassName masks field in supe= rclass org.jboss.remoting.transport.socket.MicroSocketClientInvoker
+ +

+Bug type MF_CLASS_MASKS_FIELD (click for= details) +
In class org.jboss.remoting.transport.multiplex.MultiplexClientInvoke= r
Masking field org.jboss.remoting.transport.multiplex.MultiplexClientI= nvoker.clientSocketClassName
Masked field org.jboss.remoting.transport.= socket.MicroSocketClientInvoker.clientSocketClassName
At MultiplexClien= tInvoker.java:[lines 53-567]

+
+NP +callback could be null and is guaranteed to be dereferenced in org.jbo= ss.remoting.callback.ServerInvokerCallbackHandler.handleCallback(Callback, = boolean, boolean)
+ +

+Bug type NP_GUARANTEED_DEREF (click for d= etails) +
In class org.jboss.remoting.callback.ServerInvokerCallbackHandler
In method org.jboss.remoting.callback.ServerInvokerCallbackHandler.handleC= allback(Callback, boolean, boolean)
Value loaded from callback
Dere= ferenced at ServerInvokerCallbackHandler.java:[line 835]
Dereferenced a= t ServerInvokerCallbackHandler.java:[line 829]
Known null at ServerInvo= kerCallbackHandler.java:[line 795]

+
+NP +Possible null pointer dereference of Client$ConnectionValidatorKey.met= adata in org.jboss.remoting.Client$ConnectionValidatorKey.equals(Object) +
+ +

+Bug type NP_NULL_ON_SOME_PATH (click for= details) +
In class org.jboss.remoting.Client$ConnectionValidatorKey
In meth= od org.jboss.remoting.Client$ConnectionValidatorKey.equals(Object)
Valu= e contained in org.jboss.remoting.Client$ConnectionValidatorKey.metadataDereferenced at Client.java:[line 2073]
Known null at Client.java:[li= ne 2073]

+
+NP +Possible null pointer dereference of domainNodes in org.jboss.remoting= .detection.AbstractDetector.setConfiguration(Element)
+ +

+Bug type NP_NULL_ON_SOME_PATH (click for= details) +
In class org.jboss.remoting.detection.AbstractDetector
In method = org.jboss.remoting.detection.AbstractDetector.setConfiguration(Element)
Value loaded from domainNodes
Dereferenced at AbstractDetector.java:[l= ine 316]
Known null at AbstractDetector.java:[line 311]

+
+NP +Possible null pointer dereference of Detection.serverInvokers in org.j= boss.remoting.detection.Detection.getLocators()
+ +

+Bug type NP_NULL_ON_SOME_PATH (click for= details) +
In class org.jboss.remoting.detection.Detection
In method org.jbo= ss.remoting.detection.Detection.getLocators()
Value contained in org.jb= oss.remoting.detection.Detection.serverInvokers
Dereferenced at Detecti= on.java:[line 98]
Known null at Detection.java:[line 97]

+
+NP +Possible null pointer dereference of ident in org.jboss.remoting.ident= .Identity.setDomain(String)
+ +

+Bug type NP_NULL_ON_SOME_PATH (click for= details) +
In class org.jboss.remoting.ident.Identity
In method org.jboss.re= moting.ident.Identity.setDomain(String)
Value loaded from ident
Der= eferenced at Identity.java:[line 89]
Known null at Identity.java:[line = 85]

+
+NP +Possible null pointer dereference of customer in org.jboss.remoting.sa= mples.transporter.basic.CustomerProcessorImpl.processCustomer(Customer)
+ +

+Bug type NP_NULL_ON_SOME_PATH (click for= details) +
In class org.jboss.remoting.samples.transporter.basic.CustomerProcess= orImpl
In method org.jboss.remoting.samples.transporter.basic.CustomerP= rocessorImpl.processCustomer(Customer)
Value loaded from customer
D= ereferenced at CustomerProcessorImpl.java:[line 49]
Known null at Custo= merProcessorImpl.java:[line 45]

+
+NP +Possible null pointer dereference of customer in org.jboss.remoting.sa= mples.transporter.multiple.CustomerProcessorImpl.processCustomer(Customer)<= /td> +
+ +

+Bug type NP_NULL_ON_SOME_PATH (click for= details) +
In class org.jboss.remoting.samples.transporter.multiple.CustomerProc= essorImpl
In method org.jboss.remoting.samples.transporter.multiple.Cus= tomerProcessorImpl.processCustomer(Customer)
Value loaded from customer=
Dereferenced at CustomerProcessorImpl.java:[line 26]
Known null at= CustomerProcessorImpl.java:[line 22]

+
+NP +Possible null pointer dereference of customerProxy in org.jboss.remoti= ng.samples.transporter.proxy.CustomerProcessorImpl.processCustomer(Customer= ) on exception path
+ +

+Bug type NP_NULL_ON_SOME_PATH_= EXCEPTION (click for details) +
In class org.jboss.remoting.samples.transporter.proxy.CustomerProcess= orImpl
In method org.jboss.remoting.samples.transporter.proxy.CustomerP= rocessorImpl.processCustomer(Customer)
Value loaded from customerProxy<= br/>Dereferenced at CustomerProcessorImpl.java:[line 64]
Known null at = CustomerProcessorImpl.java:[line 61]

+
+NP +Possible null pointer dereference of handler in org.jboss.remoting.Ser= verInvoker.removeCallbackListener(String, InvokerCallbackHandler)
+ +

+Bug type NP_NULL_ON_SOME_PATH (click for= details) +
In class org.jboss.remoting.ServerInvoker
In method org.jboss.rem= oting.ServerInvoker.removeCallbackListener(String, InvokerCallbackHandler)<= br/>Value loaded from handler
Dereferenced at ServerInvoker.java:[line = 989]
Known null at ServerInvoker.java:[line 984]

+
+NP +Possible null pointer dereference of proxyTypeClass in org.jboss.remot= ing.transport.http.HTTPClientInvoker.createURLConnection(String, Map)
+ +

+Bug type NP_NULL_ON_SOME_PATH (click for= details) +
In class org.jboss.remoting.transport.http.HTTPClientInvoker
In m= ethod org.jboss.remoting.transport.http.HTTPClientInvoker.createURLConnecti= on(String, Map)
Value loaded from proxyTypeClass
Dereferenced at HT= TPClientInvoker.java:[line 754]
Known null at HTTPClientInvoker.java:[l= ine 743]

+
+NP +Possible null pointer dereference of configuration in new org.jboss.re= moting.transport.multiplex.MultiplexingManager(InetSocketAddress, int, Map)=
+ +

+Bug type NP_NULL_ON_SOME_PATH (click for= details) +
In class org.jboss.remoting.transport.multiplex.MultiplexingManagerIn method new org.jboss.remoting.transport.multiplex.MultiplexingManager= (InetSocketAddress, int, Map)
Value loaded from configuration
Deref= erenced at MultiplexingManager.java:[line 391]
Known null at Multiplexi= ngManager.java:[line 389]

+
+NP +Possible null pointer dereference of configuration in new org.jboss.re= moting.transport.multiplex.MultiplexingManager(Map)
+ +

+Bug type NP_NULL_ON_SOME_PATH (click for= details) +
In class org.jboss.remoting.transport.multiplex.MultiplexingManagerIn method new org.jboss.remoting.transport.multiplex.MultiplexingManager= (Map)
Value loaded from configuration
Dereferenced at MultiplexingM= anager.java:[line 353]
Known null at MultiplexingManager.java:[line 351= ]

+
+NP +Possible null pointer dereference of org.jboss.remoting.AbstractInvoke= r.configuration in org.jboss.remoting.transport.multiplex.MultiplexServerIn= voker.getParameters()
+ +

+Bug type NP_NULL_ON_SOME_PATH (click for= details) +
In class org.jboss.remoting.transport.multiplex.MultiplexServerInvoke= r
In method org.jboss.remoting.transport.multiplex.MultiplexServerInvok= er.getParameters()
Value contained in org.jboss.remoting.AbstractInvoke= r.configuration
Dereferenced at MultiplexServerInvoker.java:[line 1148]=
Known null at MultiplexServerInvoker.java:[line 1145]

+
+RCN +Nullcheck of locator at line 116 of value previously dereferenced in n= ew org.jboss.remoting.AbstractInvoker(InvokerLocator, Map)
+ +

+Bug type RCN_RE= DUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE (click for details) +
In class org.jboss.remoting.AbstractInvoker
In method new org.jbo= ss.remoting.AbstractInvoker(InvokerLocator, Map)
Value loaded from loca= tor
At AbstractInvoker.java:[line 100]
Redundant null check at Abst= ractInvoker.java:[line 116]

+
+RCN +Nullcheck of locator at line 328 of value previously dereferenced in o= rg.jboss.remoting.marshal.MarshalFactory.getMarshaller(InvokerLocator, Clas= sLoader, Map)
+ +

+Bug type RCN_RE= DUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE (click for details) +
In class org.jboss.remoting.marshal.MarshalFactory
In method org.= jboss.remoting.marshal.MarshalFactory.getMarshaller(InvokerLocator, ClassLo= ader, Map)
Value loaded from locator
At MarshalFactory.java:[line 3= 26]
Redundant null check at MarshalFactory.java:[line 328]

+
+RCN +Nullcheck of locator at line 479 of value previously dereferenced in o= rg.jboss.remoting.marshal.MarshalFactory.getUnMarshaller(InvokerLocator, Cl= assLoader, Map)
+ +

+Bug type RCN_RE= DUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE (click for details) +
In class org.jboss.remoting.marshal.MarshalFactory
In method org.= jboss.remoting.marshal.MarshalFactory.getUnMarshaller(InvokerLocator, Class= Loader, Map)
Value loaded from locator
At MarshalFactory.java:[line= 477]
Redundant null check at MarshalFactory.java:[line 479]

+
+RCN +Nullcheck of configuration at line 429 of value previously dereference= d in org.jboss.remoting.MicroRemoteClientInvoker.establishLease(String, Map= , long)
+ +

+Bug type RCN_RE= DUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE (click for details) +
In class org.jboss.remoting.MicroRemoteClientInvoker
In method or= g.jboss.remoting.MicroRemoteClientInvoker.establishLease(String, Map, long)=
Value loaded from configuration
At MicroRemoteClientInvoker.java:[= line 426]
Redundant null check at MicroRemoteClientInvoker.java:[line 4= 29]

+
+RCN +Nullcheck of Client2Server1.client at line 122 of value previously der= eferenced in org.jboss.remoting.samples.multiplex.invoker.Client2Server1.te= arDown()
+ +

+Bug type RCN_RE= DUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE (click for details) +
In class org.jboss.remoting.samples.multiplex.invoker.Client2Server1<= br/>In method org.jboss.remoting.samples.multiplex.invoker.Client2Server1.t= earDown()
Value loaded from field org.jboss.remoting.samples.multiplex.= invoker.Client2Server1.client
At Client2Server1.java:[line 113]
Red= undant null check at Client2Server1.java:[line 122]

+
+RCN +Nullcheck of Client2Server2.client at line 122 of value previously der= eferenced in org.jboss.remoting.samples.multiplex.invoker.Client2Server2.te= arDown()
+ +

+Bug type RCN_RE= DUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE (click for details) +
In class org.jboss.remoting.samples.multiplex.invoker.Client2Server2<= br/>In method org.jboss.remoting.samples.multiplex.invoker.Client2Server2.t= earDown()
Value loaded from field org.jboss.remoting.samples.multiplex.= invoker.Client2Server2.client
At Client2Server2.java:[line 113]
Red= undant null check at Client2Server2.java:[line 122]

+
+RCN +Nullcheck of Client3Server1.client at line 120 of value previously der= eferenced in org.jboss.remoting.samples.multiplex.invoker.Client3Server1.te= arDown()
+ +

+Bug type RCN_RE= DUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE (click for details) +
In class org.jboss.remoting.samples.multiplex.invoker.Client3Server1<= br/>In method org.jboss.remoting.samples.multiplex.invoker.Client3Server1.t= earDown()
Value loaded from field org.jboss.remoting.samples.multiplex.= invoker.Client3Server1.client
At Client3Server1.java:[line 111]
Red= undant null check at Client3Server1.java:[line 120]

+
+RCN +Nullcheck of Server2Client1.client at line 114 of value previously der= eferenced in org.jboss.remoting.samples.multiplex.invoker.Server2Client1.te= arDown()
+ +

+Bug type RCN_RE= DUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE (click for details) +
In class org.jboss.remoting.samples.multiplex.invoker.Server2Client1<= br/>In method org.jboss.remoting.samples.multiplex.invoker.Server2Client1.t= earDown()
Value loaded from field org.jboss.remoting.samples.multiplex.= invoker.Server2Client1.client
At Server2Client1.java:[line 105]
Red= undant null check at Server2Client1.java:[line 114]

+
+RCN +Nullcheck of Server2Client2.client at line 112 of value previously der= eferenced in org.jboss.remoting.samples.multiplex.invoker.Server2Client2.te= arDown()
+ +

+Bug type RCN_RE= DUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE (click for details) +
In class org.jboss.remoting.samples.multiplex.invoker.Server2Client2<= br/>In method org.jboss.remoting.samples.multiplex.invoker.Server2Client2.t= earDown()
Value loaded from field org.jboss.remoting.samples.multiplex.= invoker.Server2Client2.client
At Server2Client2.java:[line 103]
Red= undant null check at Server2Client2.java:[line 112]

+
+RCN +Nullcheck of Server3Client1.client at line 114 of value previously der= eferenced in org.jboss.remoting.samples.multiplex.invoker.Server3Client1.te= arDown()
+ +

+Bug type RCN_RE= DUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE (click for details) +
In class org.jboss.remoting.samples.multiplex.invoker.Server3Client1<= br/>In method org.jboss.remoting.samples.multiplex.invoker.Server3Client1.t= earDown()
Value loaded from field org.jboss.remoting.samples.multiplex.= invoker.Server3Client1.client
At Server3Client1.java:[line 105]
Red= undant null check at Server3Client1.java:[line 114]

+
+RCN +Nullcheck of MicroSocketClientInvoker.pool at line 341 of value previo= usly dereferenced in org.jboss.remoting.transport.socket.MicroSocketClientI= nvoker.flushConnectionPool()
+ +

+Bug type RCN_RE= DUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE (click for details) +
In class org.jboss.remoting.transport.socket.MicroSocketClientInvoker=
In method org.jboss.remoting.transport.socket.MicroSocketClientInvoker= .flushConnectionPool()
Value loaded from field org.jboss.remoting.trans= port.socket.MicroSocketClientInvoker.pool
At MicroSocketClientInvoker.j= ava:[line 339]
Redundant null check at MicroSocketClientInvoker.java:[l= ine 341]

+
+RCN +Nullcheck of ServerThread.invoker at line 840 of value previously dere= ferenced in org.jboss.remoting.transport.socket.ServerThread.processNewSock= et()
+ +

+Bug type RCN_RE= DUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE (click for details) +
In class org.jboss.remoting.transport.socket.ServerThread
In meth= od org.jboss.remoting.transport.socket.ServerThread.processNewSocket()
= Value loaded from field org.jboss.remoting.transport.socket.ServerThread.in= voker
At ServerThread.java:[line 834]
Redundant null check at Serve= rThread.java:[line 840]

+
+USELESS_STRING +Invocation of toString on bytes in org.jboss.remoting.loading.ClassByt= eClassLoader.loadClass(String, ClassBytes[])
+ +

+Bug type DMI_INVOKING_TOSTRING= _ON_ARRAY (click for details) +
In class org.jboss.remoting.loading.ClassByteClassLoader
In metho= d org.jboss.remoting.loading.ClassByteClassLoader.loadClass(String, ClassBy= tes[])
Local variable named bytes
At ClassByteClassLoader.java:[lin= e 163]

+
+USELESS_STRING +Invocation of toString on ClassBytes.classBytes in org.jboss.remoting.= loading.ClassBytes.toString()
+ +

+Bug type DMI_INVOKING_TOSTRING= _ON_ARRAY (click for details) +
In class org.jboss.remoting.loading.ClassBytes
In method org.jbos= s.remoting.loading.ClassBytes.toString()
Value loaded from field org.jb= oss.remoting.loading.ClassBytes.classBytes
At ClassBytes.java:[line 44]=

+
+USELESS_STRING +Invocation of toString on params in org.jboss.remoting.ServerInvoker.h= andleInternalInvocation(InternalInvocation, InvocationRequest, ServerInvoca= tionHandler)
+ +

+Bug type DMI_INVOKING_TOSTRING= _ON_ARRAY (click for details) +
In class org.jboss.remoting.ServerInvoker
In method org.jboss.rem= oting.ServerInvoker.handleInternalInvocation(InternalInvocation, Invocation= Request, ServerInvocationHandler)
Local variable named params
At Se= rverInvoker.java:[line 1567]

+
+

+Experimental Warnings +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
CodeWarning
+OBL +Method org.jboss.remoting.ident.Identity.createId(MBeanServer) may fai= l to clean up java.io.OutputStream
+ +

+Bug type OBL_UNSATISFIED_OBLIGATIO= N (click for details) +
In class org.jboss.remoting.ident.Identity
In method org.jboss.re= moting.ident.Identity.createId(MBeanServer)
Reference type java.io.Outp= utStream
1 instances of obligation remaining
Obligation to clean up= resource created at Identity.java:[line 294] is not discharged
Path co= ntinues at Identity.java:[line 295]
Path continues at Identity.java:[li= ne 296]
Path continues at Identity.java:[line 303]
Path continues a= t Identity.java:[line 307]
Path continues at Identity.java:[line 310]Path continues at Identity.java:[line 312]
Path continues at Identit= y.java:[line 314]
Path continues at Identity.java:[line 316]
Path c= ontinues at Identity.java:[line 317]
Remaining obligations: {OutputStre= am x 1}

+
+OBL +Method org.jboss.remoting.samples.chat.utility.Parameters.getSecondary= ParameterSources() may fail to clean up java.io.InputStream
+ +

+Bug type OBL_UNSATISFIED_OBLIGATIO= N (click for details) +
In class org.jboss.remoting.samples.chat.utility.Parameters
In me= thod org.jboss.remoting.samples.chat.utility.Parameters.getSecondaryParamet= erSources()
Reference type java.io.InputStream
1 instances of oblig= ation remaining
Obligation to clean up resource created at Parameters.j= ava:[line 108] is not discharged
Path continues at Parameters.java:[lin= e 109]
Path continues at Parameters.java:[line 110]
Path continues = at Parameters.java:[line 111]
Path continues at Parameters.java:[line 1= 13]
Path continues at Parameters.java:[line 130]
Path continues at = Parameters.java:[line 132]
Path continues at Parameters.java:[line 134]=
Path continues at Parameters.java:[line 147]
Path continues at Par= ameters.java:[line 148]
Path continues at Parameters.java:[line 153]Remaining obligations: {InputStream x 1}

+
+OBL +Method org.jboss.remoting.samples.stream.StreamingServer$TestStreamInv= ocationHandler.handleStream(InputStream, InvocationRequest) may fail to cle= an up java.io.OutputStream
+ +

+Bug type OBL_UNSATISFIED_OBLIGATIO= N (click for details) +
In class org.jboss.remoting.samples.stream.StreamingServer$TestStream= InvocationHandler
In method org.jboss.remoting.samples.stream.Streaming= Server$TestStreamInvocationHandler.handleStream(InputStream, InvocationRequ= est)
Reference type java.io.OutputStream
1 instances of obligation = remaining
Obligation to clean up resource created at StreamingServer.ja= va:[line 128] is not discharged
Path continues at StreamingServer.java:= [line 130]
Path continues at StreamingServer.java:[line 133]
Path c= ontinues at StreamingServer.java:[line 148]
Path continues at Streaming= Server.java:[line 150]
Path continues at StreamingServer.java:[line 151= ]
Path continues at StreamingServer.java:[line 154]
Path continues = at StreamingServer.java:[line 156]
Path continues at StreamingServer.ja= va:[line 161]
Path continues at StreamingServer.java:[line 162]
Pat= h continues at StreamingServer.java:[line 163]
Remaining obligations: {= OutputStream x! 1}

+
+

+Malicious code vulnerability Warnings<= /a> +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CodeWarning
+EI +org.jboss.remoting.detection.Detection.getServerInvokers() may expose = internal representation by returning Detection.serverInvokers
+ +

+Bug type EI_EXPOSE_REP (click for details) +
In class org.jboss.remoting.detection.Detection
In method org.jbo= ss.remoting.detection.Detection.getServerInvokers()
Field org.jboss.rem= oting.detection.Detection.serverInvokers
At Detection.java:[line 114] +

+EI +org.jboss.remoting.detection.ServerInvokerMetadata.getSubSystems() may= expose internal representation by returning ServerInvokerMetadata.subSyste= ms
+ +

+Bug type EI_EXPOSE_REP (click for details) +
In class org.jboss.remoting.detection.ServerInvokerMetadata
In me= thod org.jboss.remoting.detection.ServerInvokerMetadata.getSubSystems()
Field org.jboss.remoting.detection.ServerInvokerMetadata.subSystems
At= ServerInvokerMetadata.java:[line 54]

+
+EI +org.jboss.remoting.invocation.NameBasedInvocation.getSignature() may e= xpose internal representation by returning NameBasedInvocation.sig
+ +

+Bug type EI_EXPOSE_REP (click for details) +
In class org.jboss.remoting.invocation.NameBasedInvocation
In met= hod org.jboss.remoting.invocation.NameBasedInvocation.getSignature()
Fi= eld org.jboss.remoting.invocation.NameBasedInvocation.sig
At NameBasedI= nvocation.java:[line 71]

+
+EI +org.jboss.remoting.invocation.RemoteInvocation.getParameters() may exp= ose internal representation by returning RemoteInvocation.params
+ +

+Bug type EI_EXPOSE_REP (click for details) +
In class org.jboss.remoting.invocation.RemoteInvocation
In method= org.jboss.remoting.invocation.RemoteInvocation.getParameters()
Field o= rg.jboss.remoting.invocation.RemoteInvocation.params
At RemoteInvocatio= n.java:[line 53]

+
+EI +org.jboss.remoting.loading.ClassBytes.getClassBytes() may expose inter= nal representation by returning ClassBytes.classBytes
+ +

+Bug type EI_EXPOSE_REP (click for details) +
In class org.jboss.remoting.loading.ClassBytes
In method org.jbos= s.remoting.loading.ClassBytes.getClassBytes()
Field org.jboss.remoting.= loading.ClassBytes.classBytes
At ClassBytes.java:[line 54]

+
+EI +org.jboss.remoting.network.NetworkInstance.getLocators() may expose in= ternal representation by returning NetworkInstance.locators
+ +

+Bug type EI_EXPOSE_REP (click for details) +
In class org.jboss.remoting.network.NetworkInstance
In method org= .jboss.remoting.network.NetworkInstance.getLocators()
Field org.jboss.r= emoting.network.NetworkInstance.locators
At NetworkInstance.java:[line = 70]

+
+EI +org.jboss.remoting.network.NetworkInstance.getServerInvokers() may exp= ose internal representation by returning NetworkInstance.serverInvokers
+ +

+Bug type EI_EXPOSE_REP (click for details) +
In class org.jboss.remoting.network.NetworkInstance
In method org= .jboss.remoting.network.NetworkInstance.getServerInvokers()
Field org.j= boss.remoting.network.NetworkInstance.serverInvokers
At NetworkInstance= .java:[line 93]

+
+EI +org.jboss.remoting.network.NetworkNotification.getLocator() may expose= internal representation by returning NetworkNotification.locators
+ +

+Bug type EI_EXPOSE_REP (click for details) +
In class org.jboss.remoting.network.NetworkNotification
In method= org.jboss.remoting.network.NetworkNotification.getLocator()
Field org.= jboss.remoting.network.NetworkNotification.locators
At NetworkNotificat= ion.java:[line 87]

+
+EI +org.jboss.remoting.network.NetworkNotification.getServerInvokers() may= expose internal representation by returning NetworkNotification.serverInvo= kers
+ +

+Bug type EI_EXPOSE_REP (click for details) +
In class org.jboss.remoting.network.NetworkNotification
In method= org.jboss.remoting.network.NetworkNotification.getServerInvokers()
Fie= ld org.jboss.remoting.network.NetworkNotification.serverInvokers
At Net= workNotification.java:[line 109]

+
+EI +org.jboss.remoting.samples.chat.client.ChatInfo.get_origin() may expos= e internal representation by returning ChatInfo.origin
+ +

+Bug type EI_EXPOSE_REP (click for details) +
In class org.jboss.remoting.samples.chat.client.ChatInfo
In metho= d org.jboss.remoting.samples.chat.client.ChatInfo.get_origin()
Field or= g.jboss.remoting.samples.chat.client.ChatInfo.origin
At ChatInfo.java:[= line 31]

+
+EI +org.jboss.remoting.serialization.impl.java.JavaMarshalledValue.toByteA= rray() may expose internal representation by returning JavaMarshalledValue.= serializedForm
+ +

+Bug type EI_EXPOSE_REP (click for details) +
In class org.jboss.remoting.serialization.impl.java.JavaMarshalledVal= ue
In method org.jboss.remoting.serialization.impl.java.JavaMarshalledV= alue.toByteArray()
Field org.jboss.remoting.serialization.impl.java.Jav= aMarshalledValue.serializedForm
At JavaMarshalledValue.java:[line 106]<= /p> +

+EI +org.jboss.remoting.stream.StreamCallPayload.getParams() may expose int= ernal representation by returning StreamCallPayload.paramArray
+ +

+Bug type EI_EXPOSE_REP (click for details) +
In class org.jboss.remoting.stream.StreamCallPayload
In method or= g.jboss.remoting.stream.StreamCallPayload.getParams()
Field org.jboss.r= emoting.stream.StreamCallPayload.paramArray
At StreamCallPayload.java:[= line 81]

+
+EI +org.jboss.remoting.transport.multiplex.SocketId.toByteArray() may expo= se internal representation by returning SocketId.bytes
+ +

+Bug type EI_EXPOSE_REP (click for details) +
In class org.jboss.remoting.transport.multiplex.SocketId
In metho= d org.jboss.remoting.transport.multiplex.SocketId.toByteArray()
Field o= rg.jboss.remoting.transport.multiplex.SocketId.bytes
At SocketId.java:[= line 128]

+
+EI +org.jboss.remoting.transport.multiplex.utility.ShrinkableByteArrayOutp= utStream.toByteArray(int) may expose internal representation by returning S= hrinkableByteArrayOutputStream.buf
+ +

+Bug type EI_EXPOSE_REP (click for details) +
In class org.jboss.remoting.transport.multiplex.utility.ShrinkableByt= eArrayOutputStream
In method org.jboss.remoting.transport.multiplex.uti= lity.ShrinkableByteArrayOutputStream.toByteArray(int)
Field org.jboss.r= emoting.transport.multiplex.utility.ShrinkableByteArrayOutputStream.buf
At ShrinkableByteArrayOutputStream.java:[line 140]

+
+EI2 +new org.jboss.remoting.detection.Detection(Identity, ServerInvokerMeta= data[]) may expose internal representation by storing an externally mutable= object into Detection.serverInvokers
+ +

+Bug type EI_EXPOSE_REP2 (click for details) +
In class org.jboss.remoting.detection.Detection
In method new org= .jboss.remoting.detection.Detection(Identity, ServerInvokerMetadata[])
= Field org.jboss.remoting.detection.Detection.serverInvokers
Local varia= ble named serverInvokers
At Detection.java:[line 46]

+
+EI2 +new org.jboss.remoting.detection.ServerInvokerMetadata(InvokerLocator,= String[]) may expose internal representation by storing an externally muta= ble object into ServerInvokerMetadata.subSystems
+ +

+Bug type EI_EXPOSE_REP2 (click for details) +
In class org.jboss.remoting.detection.ServerInvokerMetadata
In me= thod new org.jboss.remoting.detection.ServerInvokerMetadata(InvokerLocator,= String[])
Field org.jboss.remoting.detection.ServerInvokerMetadata.sub= Systems
Local variable named supportedSubsystems
At ServerInvokerMe= tadata.java:[line 44]

+
+EI2 +new org.jboss.remoting.invocation.NameBasedInvocation(String, Object[]= , String[]) may expose internal representation by storing an externally mut= able object into NameBasedInvocation.sig
+ +

+Bug type EI_EXPOSE_REP2 (click for details) +
In class org.jboss.remoting.invocation.NameBasedInvocation
In met= hod new org.jboss.remoting.invocation.NameBasedInvocation(String, Object[],= String[])
Field org.jboss.remoting.invocation.NameBasedInvocation.sig<= br/>Local variable named sig
At NameBasedInvocation.java:[line 66]

+
+EI2 +new org.jboss.remoting.invocation.RemoteInvocation(String, Object[]) m= ay expose internal representation by storing an externally mutable object i= nto RemoteInvocation.params
+ +

+Bug type EI_EXPOSE_REP2 (click for details) +
In class org.jboss.remoting.invocation.RemoteInvocation
In method= new org.jboss.remoting.invocation.RemoteInvocation(String, Object[])
F= ield org.jboss.remoting.invocation.RemoteInvocation.params
Local variab= le named params
At RemoteInvocation.java:[line 43]

+
+EI2 +new org.jboss.remoting.loading.ClassBytes(String, byte[]) may expose i= nternal representation by storing an externally mutable object into ClassBy= tes.classBytes
+ +

+Bug type EI_EXPOSE_REP2 (click for details) +
In class org.jboss.remoting.loading.ClassBytes
In method new org.= jboss.remoting.loading.ClassBytes(String, byte[])
Field org.jboss.remot= ing.loading.ClassBytes.classBytes
Local variable named data
At Clas= sBytes.java:[line 39]

+
+EI2 +new org.jboss.remoting.network.NetworkInstance(Identity, InvokerLocato= r[]) may expose internal representation by storing an externally mutable ob= ject into NetworkInstance.locators
+ +

+Bug type EI_EXPOSE_REP2 (click for details) +
In class org.jboss.remoting.network.NetworkInstance
In method new= org.jboss.remoting.network.NetworkInstance(Identity, InvokerLocator[])
Field org.jboss.remoting.network.NetworkInstance.locators
Local variab= le named locators
At NetworkInstance.java:[line 48]

+
+EI2 +new org.jboss.remoting.network.NetworkInstance(Identity, ServerInvoker= Metadata[]) may expose internal representation by storing an externally mut= able object into NetworkInstance.serverInvokers
+ +

+Bug type EI_EXPOSE_REP2 (click for details) +
In class org.jboss.remoting.network.NetworkInstance
In method new= org.jboss.remoting.network.NetworkInstance(Identity, ServerInvokerMetadata= [])
Field org.jboss.remoting.network.NetworkInstance.serverInvokers
Local variable named serverInvokers
At NetworkInstance.java:[line 58]<= /p> +

+EI2 +new org.jboss.remoting.network.NetworkNotification(ObjectName, String,= Identity, InvokerLocator[]) may expose internal representation by storing = an externally mutable object into NetworkNotification.locators
+ +

+Bug type EI_EXPOSE_REP2 (click for details) +
In class org.jboss.remoting.network.NetworkNotification
In method= new org.jboss.remoting.network.NetworkNotification(ObjectName, String, Ide= ntity, InvokerLocator[])
Field org.jboss.remoting.network.NetworkNotifi= cation.locators
Local variable named locators
At NetworkNotificatio= n.java:[line 65]

+
+EI2 +new org.jboss.remoting.network.NetworkNotification(ObjectName, String,= Identity, ServerInvokerMetadata[]) may expose internal representation by s= toring an externally mutable object into NetworkNotification.serverInvokers=
+ +

+Bug type EI_EXPOSE_REP2 (click for details) +
In class org.jboss.remoting.network.NetworkNotification
In method= new org.jboss.remoting.network.NetworkNotification(ObjectName, String, Ide= ntity, ServerInvokerMetadata[])
Field org.jboss.remoting.network.Networ= kNotification.serverInvokers
Local variable named serverInvokers
At= NetworkNotification.java:[line 56]

+
+EI2 +new org.jboss.remoting.samples.chat.client.ChatInfo(String, String, Ch= atMember, Date, int, int) may expose internal representation by storing an = externally mutable object into ChatInfo.origin
+ +

+Bug type EI_EXPOSE_REP2 (click for details) +
In class org.jboss.remoting.samples.chat.client.ChatInfo
In metho= d new org.jboss.remoting.samples.chat.client.ChatInfo(String, String, ChatM= ember, Date, int, int)
Field org.jboss.remoting.samples.chat.client.Cha= tInfo.origin
Local variable named origin
At ChatInfo.java:[line 13]=

+
+EI2 +org.jboss.remoting.samples.chat.client.ChatInfo.set_origin(Date) may e= xpose internal representation by storing an externally mutable object into = ChatInfo.origin
+ +

+Bug type EI_EXPOSE_REP2 (click for details) +
In class org.jboss.remoting.samples.chat.client.ChatInfo
In metho= d org.jboss.remoting.samples.chat.client.ChatInfo.set_origin(Date)
Fiel= d org.jboss.remoting.samples.chat.client.ChatInfo.origin
Local variable= named origin
At ChatInfo.java:[line 32]

+
+EI2 +org.jboss.remoting.samples.http.ComplexObject.setBytes(byte[]) may exp= ose internal representation by storing an externally mutable object into Co= mplexObject.bytes
+ +

+Bug type EI_EXPOSE_REP2 (click for details) +
In class org.jboss.remoting.samples.http.ComplexObject
In method = org.jboss.remoting.samples.http.ComplexObject.setBytes(byte[])
Field or= g.jboss.remoting.samples.http.ComplexObject.bytes
Local variable named = bytes
At ComplexObject.java:[line 57]

+
+EI2 +org.jboss.remoting.stream.StreamCallPayload.setParams(Object[]) may ex= pose internal representation by storing an externally mutable object into S= treamCallPayload.paramArray
+ +

+Bug type EI_EXPOSE_REP2 (click for details) +
In class org.jboss.remoting.stream.StreamCallPayload
In method or= g.jboss.remoting.stream.StreamCallPayload.setParams(Object[])
Field org= .jboss.remoting.stream.StreamCallPayload.paramArray
Local variable name= d params
At StreamCallPayload.java:[line 71]

+
+EI2 +new org.jboss.remoting.transport.multiplex.SocketId(byte[]) may expose= internal representation by storing an externally mutable object into Socke= tId.bytes
+ +

+Bug type EI_EXPOSE_REP2 (click for details) +
In class org.jboss.remoting.transport.multiplex.SocketId
In metho= d new org.jboss.remoting.transport.multiplex.SocketId(byte[])
Field org= .jboss.remoting.transport.multiplex.SocketId.bytes
Local variable named= bytes
At SocketId.java:[line 109]

+
+MS +org.jboss.remoting.ident.Identity.DEFAULT_DOMAIN isn't final but shoul= d be
+ +

+Bug type MS_SHOULD_BE_FINAL (click for det= ails) +
In class org.jboss.remoting.ident.Identity
Field org.jboss.remoti= ng.ident.Identity.DEFAULT_DOMAIN
At Identity.java:[line 52]

+
+MS +org.jboss.remoting.InvokerLocator.legacyParsingFlag should be package = protected
+ +

+Bug type MS_PKGPROTECT (click for details) +
In class org.jboss.remoting.InvokerLocator
Field org.jboss.remoti= ng.InvokerLocator.legacyParsingFlag
In InvokerLocator.java

+
+MS +org.jboss.remoting.InvokerLocator.log isn't final but should be
+ +

+Bug type MS_SHOULD_BE_FINAL (click for det= ails) +
In class org.jboss.remoting.InvokerLocator
Field org.jboss.remoti= ng.InvokerLocator.log
At InvokerLocator.java:[line 74]

+
+MS +org.jboss.remoting.loading.ObjectInputStreamWithClassLoader.clearMetho= d isn't final but should be
+ +

+Bug type MS_SHOULD_BE_FINAL (click for det= ails) +
In class org.jboss.remoting.loading.ObjectInputStreamWithClassLoader<= br/>Field org.jboss.remoting.loading.ObjectInputStreamWithClassLoader.clear= Method
At ObjectInputStreamWithClassLoader.java:[line 53]

+
+MS +org.jboss.remoting.samples.config.factories.FactoryConfigSample.log is= n't final but should be
+ +

+Bug type MS_SHOULD_BE_FINAL (click for det= ails) +
In class org.jboss.remoting.samples.config.factories.FactoryConfigSam= ple
Field org.jboss.remoting.samples.config.factories.FactoryConfigSamp= le.log
At FactoryConfigSample.java:[line 76]

+
+MS +org.jboss.remoting.samples.detection.jndi.SimpleDetectorServer.port sh= ould be package protected
+ +

+Bug type MS_PKGPROTECT (click for details) +
In class org.jboss.remoting.samples.detection.jndi.SimpleDetectorServ= er
Field org.jboss.remoting.samples.detection.jndi.SimpleDetectorServer= .port
At SimpleDetectorServer.java:[line 30]

+
+MS +org.jboss.remoting.samples.detection.jndi.SimpleDetectorServer.transpo= rt should be package protected
+ +

+Bug type MS_PKGPROTECT (click for details) +
In class org.jboss.remoting.samples.detection.jndi.SimpleDetectorServ= er
Field org.jboss.remoting.samples.detection.jndi.SimpleDetectorServer= .transport
At SimpleDetectorServer.java:[line 28]

+
+MS +org.jboss.remoting.samples.detection.jndi.SimpleDetectorServer.host is= n't final but should be
+ +

+Bug type MS_SHOULD_BE_FINAL (click for det= ails) +
In class org.jboss.remoting.samples.detection.jndi.SimpleDetectorServ= er
Field org.jboss.remoting.samples.detection.jndi.SimpleDetectorServer= .host
At SimpleDetectorServer.java:[line 29]

+
+MS +org.jboss.remoting.samples.transporter.clustered.server.SocketServer.l= ocatorURI isn't final but should be
+ +

+Bug type MS_SHOULD_BE_FINAL (click for det= ails) +
In class org.jboss.remoting.samples.transporter.clustered.server.Sock= etServer
Field org.jboss.remoting.samples.transporter.clustered.server.= SocketServer.locatorURI
At SocketServer.java:[line 34]

+
+MS +org.jboss.remoting.samples.transporter.complex.server.Server.locatorUR= I isn't final but should be
+ +

+Bug type MS_SHOULD_BE_FINAL (click for det= ails) +
In class org.jboss.remoting.samples.transporter.complex.server.Server=
Field org.jboss.remoting.samples.transporter.complex.server.Server.loc= atorURI
At Server.java:[line 34]

+
+MS +org.jboss.remoting.samples.transporter.custom.server.SocketServer.loca= torURI isn't final but should be
+ +

+Bug type MS_SHOULD_BE_FINAL (click for det= ails) +
In class org.jboss.remoting.samples.transporter.custom.server.SocketS= erver
Field org.jboss.remoting.samples.transporter.custom.server.Socket= Server.locatorURI
At SocketServer.java:[line 22]

+
+MS +org.jboss.remoting.transport.coyote.CoyoteInvoker.receivedInvocationRe= quest isn't final but should be
+ +

+Bug type MS_SHOULD_BE_FINAL (click for det= ails) +
In class org.jboss.remoting.transport.coyote.CoyoteInvoker
Field = org.jboss.remoting.transport.coyote.CoyoteInvoker.receivedInvocationRequest=
At CoyoteInvoker.java:[line 74]

+
+MS +org.jboss.remoting.transport.rmi.RemotingRMIClientSocketFactory.config= Maps isn't final but should be
+ +

+Bug type MS_SHOULD_BE_FINAL (click for det= ails) +
In class org.jboss.remoting.transport.rmi.RemotingRMIClientSocketFact= ory
Field org.jboss.remoting.transport.rmi.RemotingRMIClientSocketFacto= ry.configMaps
At RemotingRMIClientSocketFactory.java:[line 80]

+
+MS +org.jboss.remoting.transport.rmi.RemotingRMIClientSocketFactory.log is= n't final but should be
+ +

+Bug type MS_SHOULD_BE_FINAL (click for det= ails) +
In class org.jboss.remoting.transport.rmi.RemotingRMIClientSocketFact= ory
Field org.jboss.remoting.transport.rmi.RemotingRMIClientSocketFacto= ry.log
At RemotingRMIClientSocketFactory.java:[line 79]

+
+MS +org.jboss.remoting.transport.rmi.RemotingRMIClientSocketFactory.socket= Factories isn't final but should be
+ +

+Bug type MS_SHOULD_BE_FINAL (click for det= ails) +
In class org.jboss.remoting.transport.rmi.RemotingRMIClientSocketFact= ory
Field org.jboss.remoting.transport.rmi.RemotingRMIClientSocketFacto= ry.socketFactories
At RemotingRMIClientSocketFactory.java:[line 81]

+
+MS +org.jboss.remoting.transport.socket.MicroSocketClientInvoker.getSocket= Time should be package protected
+ +

+Bug type MS_PKGPROTECT (click for details) +
In class org.jboss.remoting.transport.socket.MicroSocketClientInvoker=
Field org.jboss.remoting.transport.socket.MicroSocketClientInvoker.get= SocketTime
At MicroSocketClientInvoker.java:[line 115]

+
+MS +org.jboss.remoting.transport.socket.MicroSocketClientInvoker.readTime = should be package protected
+ +

+Bug type MS_PKGPROTECT (click for details) +
In class org.jboss.remoting.transport.socket.MicroSocketClientInvoker=
Field org.jboss.remoting.transport.socket.MicroSocketClientInvoker.rea= dTime
At MicroSocketClientInvoker.java:[line 116]

+
+MS +org.jboss.remoting.transport.socket.MicroSocketClientInvoker.writeTime= should be package protected
+ +

+Bug type MS_PKGPROTECT (click for details) +
In class org.jboss.remoting.transport.socket.MicroSocketClientInvoker=
Field org.jboss.remoting.transport.socket.MicroSocketClientInvoker.wri= teTime
At MicroSocketClientInvoker.java:[line 117]

+
+MS +org.jboss.remoting.transport.socket.SocketServerInvoker.MAX_POOL_SIZE_= DEFAULT isn't final but should be
+ +

+Bug type MS_SHOULD_BE_FINAL (click for det= ails) +
In class org.jboss.remoting.transport.socket.SocketServerInvoker
= Field org.jboss.remoting.transport.socket.SocketServerInvoker.MAX_POOL_SIZE= _DEFAULT
At SocketServerInvoker.java:[line 66]

+
+MS +org.jboss.remoting.transport.web.WebServerInvoker.HEADER_SESSION_ID is= n't final but should be
+ +

+Bug type MS_SHOULD_BE_FINAL (click for det= ails) +
In class org.jboss.remoting.transport.web.WebServerInvoker
Field = org.jboss.remoting.transport.web.WebServerInvoker.HEADER_SESSION_ID
At = WebServerInvoker.java:[line 47]

+
+MS +org.jboss.remoting.transport.web.WebServerInvoker.HEADER_SUBSYSTEM isn= 't final but should be
+ +

+Bug type MS_SHOULD_BE_FINAL (click for det= ails) +
In class org.jboss.remoting.transport.web.WebServerInvoker
Field = org.jboss.remoting.transport.web.WebServerInvoker.HEADER_SUBSYSTEM
At W= ebServerInvoker.java:[line 48]

+
+MS +org.jboss.remoting.transport.web.WebUtil.BINARY isn't final but should= be
+ +

+Bug type MS_SHOULD_BE_FINAL (click for det= ails) +
In class org.jboss.remoting.transport.web.WebUtil
Field org.jboss= .remoting.transport.web.WebUtil.BINARY
At WebUtil.java:[line 34]

+
+MS +org.jboss.remoting.transport.web.WebUtil.HTML isn't final but should b= e
+ +

+Bug type MS_SHOULD_BE_FINAL (click for det= ails) +
In class org.jboss.remoting.transport.web.WebUtil
Field org.jboss= .remoting.transport.web.WebUtil.HTML
At WebUtil.java:[line 31]

+
+

+Multithreaded correctness Warnings +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CodeWarning
+IS +Inconsistent synchronization of org.jboss.remoting.AbstractInvoker.cla= ssbyteloader; locked 50% of time
+ +

+Bug type IS2_INCONSISTENT_SYNC (click f= or details) +
In class org.jboss.remoting.AbstractInvoker
Field org.jboss.remot= ing.AbstractInvoker.classbyteloader
Synchronized 50% of the time
Un= synchronized access at ServerInvoker.java:[line 951]
Unsynchronized acc= ess at ServerInvoker.java:[line 953]
Synchronized access at AbstractInv= oker.java:[line 251]
Synchronized access at AbstractInvoker.java:[line = 268]
Synchronized access at AbstractInvoker.java:[line 82]
Synchron= ized access at AbstractInvoker.java:[line 108]
Synchronized access at M= icroRemoteClientInvoker.java:[line 311]

+
+IS +Inconsistent synchronization of org.jboss.remoting.callback.CallbackPo= ller.reportStatistics; locked 50% of time
+ +

+Bug type IS2_INCONSISTENT_SYNC (click f= or details) +
In class org.jboss.remoting.callback.CallbackPoller
Field org.jbo= ss.remoting.callback.CallbackPoller.reportStatistics
Synchronized 50% o= f the time
Unsynchronized access at CallbackPoller.java:[line 747]
= Synchronized access at CallbackPoller.java:[line 202]

+
+IS +Inconsistent synchronization of org.jboss.remoting.callback.DefaultCal= lbackErrorHandler.callbackHandler; locked 66% of time
+ +

+Bug type IS2_INCONSISTENT_SYNC (click f= or details) +
In class org.jboss.remoting.callback.DefaultCallbackErrorHandler
= Field org.jboss.remoting.callback.DefaultCallbackErrorHandler.callbackHandl= er
Synchronized 66% of the time
Unsynchronized access at DefaultCal= lbackErrorHandler.java:[line 150]
Synchronized access at DefaultCallbac= kErrorHandler.java:[line 133]
Synchronized access at DefaultCallbackErr= orHandler.java:[line 134]

+
+IS +Inconsistent synchronization of org.jboss.remoting.callback.DefaultCal= lbackErrorHandler.handlerSubsystem; locked 50% of time
+ +

+Bug type IS2_INCONSISTENT_SYNC (click f= or details) +
In class org.jboss.remoting.callback.DefaultCallbackErrorHandler
= Field org.jboss.remoting.callback.DefaultCallbackErrorHandler.handlerSubsys= tem
Synchronized 50% of the time
Unsynchronized access at DefaultCa= llbackErrorHandler.java:[line 85]
Synchronized access at DefaultCallbac= kErrorHandler.java:[line 133]

+
+IS +Inconsistent synchronization of org.jboss.remoting.callback.DefaultCal= lbackErrorHandler.numOfErrorsAllowed; locked 50% of time
+ +

+Bug type IS2_INCONSISTENT_SYNC (click f= or details) +
In class org.jboss.remoting.callback.DefaultCallbackErrorHandler
= Field org.jboss.remoting.callback.DefaultCallbackErrorHandler.numOfErrorsAl= lowed
Synchronized 50% of the time
Unsynchronized access at Default= CallbackErrorHandler.java:[line 95]
Unsynchronized access at DefaultCal= lbackErrorHandler.java:[line 105]
Synchronized access at DefaultCallbac= kErrorHandler.java:[line 122]
Synchronized access at DefaultCallbackErr= orHandler.java:[line 128]
Synchronized access at DefaultCallbackErrorHa= ndler.java:[line 71]

+
+IS +Inconsistent synchronization of org.jboss.remoting.callback.DefaultCal= lbackErrorHandler.serverInvoker; locked 66% of time
+ +

+Bug type IS2_INCONSISTENT_SYNC (click f= or details) +
In class org.jboss.remoting.callback.DefaultCallbackErrorHandler
= Field org.jboss.remoting.callback.DefaultCallbackErrorHandler.serverInvoker=
Synchronized 66% of the time
Unsynchronized access at DefaultCallb= ackErrorHandler.java:[line 144]
Synchronized access at DefaultCallbackE= rrorHandler.java:[line 131]
Synchronized access at DefaultCallbackError= Handler.java:[line 133]
Synchronized access at DefaultCallbackErrorHand= ler.java:[line 159]
Synchronized access at DefaultCallbackErrorHandler.= java:[line 165]

+
+IS +Inconsistent synchronization of org.jboss.remoting.samples.chat.utilit= y.ShutDownGate.numberOfUsers; locked 87% of time
+ +

+Bug type IS2_INCONSISTENT_SYNC (click f= or details) +
In class org.jboss.remoting.samples.chat.utility.ShutDownGate
Fie= ld org.jboss.remoting.samples.chat.utility.ShutDownGate.numberOfUsers
S= ynchronized 87% of the time
Unsynchronized access at ShutDownGate.java:= [line 30]
Synchronized access at ShutDownGate.java:[line 65]
Synchr= onized access at ShutDownGate.java:[line 67]
Synchronized access at Shu= tDownGate.java:[line 54]
Synchronized access at ShutDownGate.java:[line= 57]
Synchronized access at ShutDownGate.java:[line 57]
Synchronize= d access at ShutDownGate.java:[line 49]
Synchronized access at ShutDown= Gate.java:[line 49]

+
+IS +Inconsistent synchronization of org.jboss.remoting.samples.chat.utilit= y.ShutDownGate.shuttingDown; locked 80% of time
+ +

+Bug type IS2_INCONSISTENT_SYNC (click f= or details) +
In class org.jboss.remoting.samples.chat.utility.ShutDownGate
Fie= ld org.jboss.remoting.samples.chat.utility.ShutDownGate.shuttingDown
Sy= nchronized 80% of the time
Unsynchronized access at ShutDownGate.java:[= line 31]
Synchronized access at ShutDownGate.java:[line 63]
Synchro= nized access at ShutDownGate.java:[line 36]
Synchronized access at Shut= DownGate.java:[line 42]
Synchronized access at ShutDownGate.java:[line = 47]

+
+IS +Inconsistent synchronization of org.jboss.remoting.transport.bisocket.= BisocketServerInvoker$ControlMonitorTimerTask.running; locked 80% of time +
+ +

+Bug type IS2_INCONSISTENT_SYNC (click f= or details) +
In class org.jboss.remoting.transport.bisocket.BisocketServerInvoker$= ControlMonitorTimerTask
Field org.jboss.remoting.transport.bisocket.Bis= ocketServerInvoker$ControlMonitorTimerTask.running
Synchronized 80% of = the time
Unsynchronized access at BisocketServerInvoker.java:[line 982]=
Synchronized access at BisocketServerInvoker.java:[line 964]
Synch= ronized access at BisocketServerInvoker.java:[line 991]
Synchronized ac= cess at BisocketServerInvoker.java:[line 1006]
Synchronized access at B= isocketServerInvoker.java:[line 1018]
Synchronized access at BisocketSe= rverInvoker.java:[line 940]

+
+IS +Inconsistent synchronization of org.jboss.remoting.transport.multiplex= .MultiplexingInputStream.readException; locked 88% of time
+ +

+Bug type IS2_INCONSISTENT_SYNC (click f= or details) +
In class org.jboss.remoting.transport.multiplex.MultiplexingInputStre= am
Field org.jboss.remoting.transport.multiplex.MultiplexingInputStream= .readException
Synchronized 88% of the time
Unsynchronized access a= t MultiplexingInputStream.java:[line 469]
Synchronized access at Multip= lexingInputStream.java:[line 153]
Synchronized access at MultiplexingIn= putStream.java:[line 154]
Synchronized access at MultiplexingInputStrea= m.java:[line 185]
Synchronized access at MultiplexingInputStream.java:[= line 186]
Synchronized access at MultiplexingInputStream.java:[line 215= ]
Synchronized access at MultiplexingInputStream.java:[line 216]
Sy= nchronized access at MultiplexingInputStream.java:[line 264]
Synchroniz= ed access at MultiplexingInputStream.java:[line 265]

+
+IS +Inconsistent synchronization of org.jboss.remoting.transport.multiplex= .MultiplexingManager.createdForRemoteServerSocket; locked 50% of time
+ +

+Bug type IS2_INCONSISTENT_SYNC (click f= or details) +
In class org.jboss.remoting.transport.multiplex.MultiplexingManagerField org.jboss.remoting.transport.multiplex.MultiplexingManager.created= ForRemoteServerSocket
Synchronized 50% of the time
Unsynchronized a= ccess at MultiplexingManager.java:[line 1334]
Synchronized access at Mu= ltiplexingManager.java:[line 1290]

+
+IS +Inconsistent synchronization of org.jboss.remoting.transport.multiplex= .MultiplexingManager.inputThread; locked 57% of time
+ +

+Bug type IS2_INCONSISTENT_SYNC (click f= or details) +
In class org.jboss.remoting.transport.multiplex.MultiplexingManagerField org.jboss.remoting.transport.multiplex.MultiplexingManager.inputTh= read
Synchronized 57% of the time
Unsynchronized access at Multiple= xingManager.java:[line 2785]
Unsynchronized access at MultiplexingManag= er.java:[line 2787]
Unsynchronized access at MultiplexingManager.java:[= line 2791]
Synchronized access at MultiplexingManager.java:[line 470]Synchronized access at MultiplexingManager.java:[line 471]
Synchroni= zed access at MultiplexingManager.java:[line 471]
Synchronized access a= t MultiplexingManager.java:[line 472]

+
+IS +Inconsistent synchronization of org.jboss.remoting.transport.multiplex= .MultiplexingManager.remoteServerSocketRegistered; locked 71% of time
+ +

+Bug type IS2_INCONSISTENT_SYNC (click f= or details) +
In class org.jboss.remoting.transport.multiplex.MultiplexingManagerField org.jboss.remoting.transport.multiplex.MultiplexingManager.remoteS= erverSocketRegistered
Synchronized 71% of the time
Unsynchronized a= ccess at MultiplexingManager.java:[line 1346]
Unsynchronized access at = MultiplexingManager.java:[line 1353]
Synchronized access at Multiplexin= gManager.java:[line 227]
Synchronized access at MultiplexingManager.jav= a:[line 1303]
Synchronized access at MultiplexingManager.java:[line 130= 8]
Synchronized access at MultiplexingManager.java:[line 227]
Synch= ronized access at MultiplexingManager.java:[line 1340]
Synchronized acc= ess at MultiplexingManager.java:[line 227]
Synchronized access at Multi= plexingManager.java:[line 1272]
Synchronized access at MultiplexingMana= ger.java:[line 1279]

+
+IS +Inconsistent synchronization of org.jboss.remoting.transport.multiplex= .MultiplexingManager.remoteSocketAddress; locked 55% of time
+ +

+Bug type IS2_INCONSISTENT_SYNC (click f= or details) +
In class org.jboss.remoting.transport.multiplex.MultiplexingManagerField org.jboss.remoting.transport.multiplex.MultiplexingManager.remoteS= ocketAddress
Synchronized 55% of the time
Unsynchronized access at = MultiplexingManager.java:[line 1973]
Unsynchronized access at Multiplex= ingManager.java:[line 1977]
Unsynchronized access at MultiplexingManage= r.java:[line 1984]
Synchronized access at MultiplexingManager.java:[lin= e 1950]
Synchronized access at MultiplexingManager.java:[line 2020]
Synchronized access at MultiplexingManager.java:[line 2024]
Synchroniz= ed access at MultiplexingManager.java:[line 2031]
Synchronized access a= t MultiplexingManager.java:[line 1283]

+
+IS +Inconsistent synchronization of org.jboss.remoting.transport.multiplex= .MultiplexingManager.socket; locked 81% of time
+ +

+Bug type IS2_INCONSISTENT_SYNC (click f= or details) +
In class org.jboss.remoting.transport.multiplex.MultiplexingManagerField org.jboss.remoting.transport.multiplex.MultiplexingManager.socket<= br/>Synchronized 81% of the time
Unsynchronized access at MultiplexingM= anager.java:[line 1612]
Unsynchronized access at MultiplexingManager.ja= va:[line 1641]
Unsynchronized access at MultiplexingManager.java:[line = 2736]
Unsynchronized access at MultiplexingManager.java:[line 2761]
Unsynchronized access at MultiplexingManager.java:[line 2762]
Unsynchr= onized access at MultiplexingManager.java:[line 2771]
Synchronized acce= ss at MultiplexingManager.java:[line 355]
Synchronized access at Multip= lexingManager.java:[line 393]
Synchronized access at MultiplexingManage= r.java:[line 1122]
Synchronized access at MultiplexingManager.java:[lin= e 1125]
Synchronized access at MultiplexingManager.java:[line 1123]
Synchronized access at MultiplexingManager.java:[line 1128]
Synchroniz= ed access at M! ultiplexingManager.java:[line 369]
Synchronized access at Multiplexing= Manager.java:[line 2065]
Synchronized access at MultiplexingManager.jav= a:[line 2077]
Synchronized access at MultiplexingManager.java:[line 114= 3]
Synchronized access at MultiplexingManager.java:[line 1151]
Sync= hronized access at MultiplexingManager.java:[line 1154]
Synchronized ac= cess at MultiplexingManager.java:[line 1152]
Synchronized access at Mul= tiplexingManager.java:[line 405]
Synchronized access at MultiplexingMan= ager.java:[line 421]
Synchronized access at MultiplexingManager.java:[l= ine 430]
Synchronized access at MultiplexingManager.java:[line 425]
Synchronized access at MultiplexingManager.java:[line 426]
Synchronize= d access at MultiplexingManager.java:[line 431]
Synchronized access at = MultiplexingManager.java:[line 432]
Synchronized access at Multiplexing= Manager.java:[line 462]
Synchronized access at MultiplexingManager.java= :[line 476]Synchronized access at MultiplexingManager.java:[line 470]Synch ronized access at MultiplexingManager.java:[line 481]
Synchronized acce= ss at MultiplexingManager.java:[line 481]
Synchronized access at Multip= lexingManager.java:[line 482]
Synchronized access at MultiplexingManage= r.java:[line 482]
Synchronized access at MultiplexingManager.java:[line= 486]
Synchronized access at MultiplexingManager.java:[line 494]

+
+IS +Inconsistent synchronization of org.jboss.remoting.transport.multiplex= .MultiplexingManager$ShutdownManager.shutdown; locked 73% of time
+ +

+Bug type IS2_INCONSISTENT_SYNC (click f= or details) +
In class org.jboss.remoting.transport.multiplex.MultiplexingManager$S= hutdownManager
Field org.jboss.remoting.transport.multiplex.Multiplexin= gManager$ShutdownManager.shutdown
Synchronized 73% of the time
Unsy= nchronized access at MultiplexingManager.java:[line 2710]
Unsynchronize= d access at MultiplexingManager.java:[line 2302]
Unsynchronized access = at MultiplexingManager.java:[line 2316]
Unsynchronized access at Multip= lexingManager.java:[line 2303]
Synchronized access at MultiplexingManag= er.java:[line 2692]
Synchronized access at MultiplexingManager.java:[li= ne 2271]
Synchronized access at MultiplexingManager.java:[line 2584]Synchronized access at MultiplexingManager.java:[line 2511]
Synchroni= zed access at MultiplexingManager.java:[line 2660]
Synchronized access = at MultiplexingManager.java:[line 2663]
Synchronized access at Multiple= xingManager.java:[line 2652]
Synchronized access at MultiplexingManager= .java:[line 26! 44]
Synchronized access at MultiplexingManager.java:[line 2408]
Sy= nchronized access at MultiplexingManager.java:[line 2431]
Synchronized = access at MultiplexingManager.java:[line 2420]
Synchronized access at M= ultiplexingManager.java:[line 2446]

+
+IS +Inconsistent synchronization of org.jboss.remoting.transport.multiplex= .MultiplexingManager$ShutdownManager.shutdownRequestInProgress; locked 71% = of time
+ +

+Bug type IS2_INCONSISTENT_SYNC (click f= or details) +
In class org.jboss.remoting.transport.multiplex.MultiplexingManager$S= hutdownManager
Field org.jboss.remoting.transport.multiplex.Multiplexin= gManager$ShutdownManager.shutdownRequestInProgress
Synchronized 71% of = the time
Unsynchronized access at MultiplexingManager.java:[line 2317]<= br/>Unsynchronized access at MultiplexingManager.java:[line 2292]
Synch= ronized access at MultiplexingManager.java:[line 2259]
Synchronized acc= ess at MultiplexingManager.java:[line 2564]
Synchronized access at Mult= iplexingManager.java:[line 2491]
Synchronized access at MultiplexingMan= ager.java:[line 2650]
Synchronized access at MultiplexingManager.java:[= line 2656]
Synchronized access at MultiplexingManager.java:[line 2454]<= /p> +

+IS +Inconsistent synchronization of org.jboss.remoting.transport.multiplex= .utility.GrowablePipedInputStream.timeout; locked 75% of time
+ +

+Bug type IS2_INCONSISTENT_SYNC (click f= or details) +
In class org.jboss.remoting.transport.multiplex.utility.GrowablePiped= InputStream
Field org.jboss.remoting.transport.multiplex.utility.Growab= lePipedInputStream.timeout
Synchronized 75% of the time
Unsynchroni= zed access at GrowablePipedInputStream.java:[line 235]
Unsynchronized a= ccess at GrowablePipedInputStream.java:[line 132]
Synchronized access a= t GrowablePipedInputStream.java:[line 150]
Synchronized access at Growa= blePipedInputStream.java:[line 156]
Synchronized access at GrowablePipe= dInputStream.java:[line 156]
Synchronized access at GrowablePipedInputS= tream.java:[line 197]
Synchronized access at GrowablePipedInputStream.j= ava:[line 203]
Synchronized access at GrowablePipedInputStream.java:[li= ne 203]

+
+IS +Inconsistent synchronization of org.jboss.remoting.transport.socket.Se= rverThread.timeout; locked 50% of time
+ +

+Bug type IS2_INCONSISTENT_SYNC (click f= or details) +
In class org.jboss.remoting.transport.socket.ServerThread
Field o= rg.jboss.remoting.transport.socket.ServerThread.timeout
Synchronized 50= % of the time
Unsynchronized access at ServerThread.java:[line 378]
Synchronized access at ServerThread.java:[line 255]
Synchronized acces= s at ServerThread.java:[line 145]

+
+IS +Inconsistent synchronization of org.jboss.remoting.transport.socket.So= cketServerInvoker.idleTimerTask; locked 42% of time
+ +

+Bug type IS2_INCONSISTENT_SYNC (click f= or details) +
In class org.jboss.remoting.transport.socket.SocketServerInvoker
= Field org.jboss.remoting.transport.socket.SocketServerInvoker.idleTimerTask=
Synchronized 42% of the time
Unsynchronized access at SocketServer= Invoker.java:[line 496]
Unsynchronized access at SocketServerInvoker.ja= va:[line 487]
Unsynchronized access at SocketServerInvoker.java:[line 4= 98]
Unsynchronized access at SocketServerInvoker.java:[line 489]
Un= synchronized access at SocketServerInvoker.java:[line 491]
Unsynchroniz= ed access at SocketServerInvoker.java:[line 492]
Synchronized access at= SocketServerInvoker.java:[line 252]
Synchronized access at SocketServe= rInvoker.java:[line 243]
Synchronized access at SocketServerInvoker.jav= a:[line 254]
Synchronized access at SocketServerInvoker.java:[line 245]=
Synchronized access at SocketServerInvoker.java:[line 247]
Synchro= nized access at SocketServerInvoker.java:[line 248]
Synchronized access= at SocketServ! erInvoker.java:[line 97]
Synchronized access at SocketServerInvoker.ja= va:[line 97]

+
+IS +Inconsistent synchronization of org.jboss.remoting.transport.socket.So= cketServerInvoker.numAcceptThreads; locked 60% of time
+ +

+Bug type IS2_INCONSISTENT_SYNC (click f= or details) +
In class org.jboss.remoting.transport.socket.SocketServerInvoker
= Field org.jboss.remoting.transport.socket.SocketServerInvoker.numAcceptThre= ads
Synchronized 60% of the time
Unsynchronized access at SocketSer= verInvoker.java:[line 406]
Unsynchronized access at SocketServerInvoker= .java:[line 417]
Synchronized access at SocketServerInvoker.java:[line = 235]
Synchronized access at SocketServerInvoker.java:[line 209]
Syn= chronized access at SocketServerInvoker.java:[line 211]
Synchronized ac= cess at SocketServerInvoker.java:[line 85]
Synchronized access at Socke= tServerInvoker.java:[line 85]

+
+ML +org.jboss.remoting.transport.socket.MicroSocketClientInvoker.initPool(= ) synchronizes on updated field MicroSocketClientInvoker.pool
+ +

+Bug type ML_SYNC_ON_UPDATED_FIELD (c= lick for details) +
In class org.jboss.remoting.transport.socket.MicroSocketClientInvoker=
In method org.jboss.remoting.transport.socket.MicroSocketClientInvoker= .initPool()
Field org.jboss.remoting.transport.socket.MicroSocketClient= Invoker.pool
At MicroSocketClientInvoker.java:[line 853]

+
+NN +Naked notify in org.jboss.remoting.transport.bisocket.BisocketClientIn= voker.handleDisconnect()
+ +

+Bug type NN_NAKED_NOTIFY (click for details)<= /a> +
In class org.jboss.remoting.transport.bisocket.BisocketClientInvoker<= br/>In method org.jboss.remoting.transport.bisocket.BisocketClientInvoker.h= andleDisconnect()
At BisocketClientInvoker.java:[line 413]

+
+SC +new org.jboss.remoting.samples.callback.CallbackServer$SampleInvocatio= nHandler() invokes Thread.start()
+ +

+Bug type SC_START_IN_CTOR (click for details= ) +
In class org.jboss.remoting.samples.callback.CallbackServer$SampleInv= ocationHandler
In method new org.jboss.remoting.samples.callback.Callba= ckServer$SampleInvocationHandler()
Called method Thread.start()
At = CallbackServer.java:[line 140]

+
+SC +new org.jboss.remoting.samples.callback.statistics.CallbackServer$Samp= leInvocationHandler() invokes Thread.start()
+ +

+Bug type SC_START_IN_CTOR (click for details= ) +
In class org.jboss.remoting.samples.callback.statistics.CallbackServe= r$SampleInvocationHandler
In method new org.jboss.remoting.samples.call= back.statistics.CallbackServer$SampleInvocationHandler()
Called method = Thread.start()
At CallbackServer.java:[line 140]

+
+SC +new org.jboss.remoting.samples.multiplex.invoker.MultiplexInvokerServe= r$SampleInvocationHandler() invokes Thread.start()
+ +

+Bug type SC_START_IN_CTOR (click for details= ) +
In class org.jboss.remoting.samples.multiplex.invoker.MultiplexInvoke= rServer$SampleInvocationHandler
In method new org.jboss.remoting.sample= s.multiplex.invoker.MultiplexInvokerServer$SampleInvocationHandler()
Ca= lled method Thread.start()
At MultiplexInvokerServer.java:[line 123]

+
+UW +Unconditional wait in org.jboss.remoting.callback.BlockingCallbackStor= e.add(Serializable)
+ +

+Bug type UW_UNCOND_WAIT (click for details) +
In class org.jboss.remoting.callback.BlockingCallbackStore
In met= hod org.jboss.remoting.callback.BlockingCallbackStore.add(Serializable)
At BlockingCallbackStore.java:[line 102]

+
+Wa +Wait not in loop in org.jboss.remoting.callback.BlockingCallbackStore.= add(Serializable)
+ +

+Bug type WA_NOT_IN_LOOP (click for details) +
In class org.jboss.remoting.callback.BlockingCallbackStore
In met= hod org.jboss.remoting.callback.BlockingCallbackStore.add(Serializable)
At BlockingCallbackStore.java:[line 102]

+
+Wa +Wait not in loop in org.jboss.remoting.transport.multiplex.SocketId.ge= tFreePort()
+ +

+Bug type WA_NOT_IN_LOOP (click for details) +
In class org.jboss.remoting.transport.multiplex.SocketId
In metho= d org.jboss.remoting.transport.multiplex.SocketId.getFreePort()
At Sock= etId.java:[line 242]

+
+

+Performance Warnings +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CodeWarning
+Bx +Method org.jboss.remoting.samples.callback.statistics.CallbackServer$S= ampleInvocationHandler.run() invokes inefficient new Integer(int) construct= or; use Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.samples.callback.statistics.CallbackServe= r$SampleInvocationHandler
In method org.jboss.remoting.samples.callback= .statistics.CallbackServer$SampleInvocationHandler.run()
Called method = new Integer(int)
Should call Integer.valueOf(int) instead
At Callba= ckServer.java:[line 194]

+
+Bx +Method org.jboss.remoting.samples.config.factories.FactoryConfigSample= $SampleInvocationHandler.addListener(InvokerCallbackHandler) invokes ineffi= cient new Integer(int) constructor; use Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.samples.config.factories.FactoryConfigSam= ple$SampleInvocationHandler
In method org.jboss.remoting.samples.config= .factories.FactoryConfigSample$SampleInvocationHandler.addListener(InvokerC= allbackHandler)
Called method new Integer(int)
Should call Integer.= valueOf(int) instead
At FactoryConfigSample.java:[line 678]

+
+Bx +Method org.jboss.remoting.samples.multiplex.invoker.Client2Server1.mak= eClientCall() invokes inefficient new Integer(int) constructor; use Integer= .valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.samples.multiplex.invoker.Client2Server1<= br/>In method org.jboss.remoting.samples.multiplex.invoker.Client2Server1.m= akeClientCall()
Called method new Integer(int)
Should call Integer.= valueOf(int) instead
At Client2Server1.java:[line 138]

+
+Bx +Method org.jboss.remoting.samples.multiplex.invoker.Client2Server2.mak= eClientCall() invokes inefficient new Integer(int) constructor; use Integer= .valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.samples.multiplex.invoker.Client2Server2<= br/>In method org.jboss.remoting.samples.multiplex.invoker.Client2Server2.m= akeClientCall()
Called method new Integer(int)
Should call Integer.= valueOf(int) instead
At Client2Server2.java:[line 138]

+
+Bx +Method org.jboss.remoting.samples.multiplex.invoker.Client3Server1.mak= eClientCall() invokes inefficient new Integer(int) constructor; use Integer= .valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.samples.multiplex.invoker.Client3Server1<= br/>In method org.jboss.remoting.samples.multiplex.invoker.Client3Server1.m= akeClientCall()
Called method new Integer(int)
Should call Integer.= valueOf(int) instead
At Client3Server1.java:[line 136]

+
+Bx +Method org.jboss.remoting.samples.multiplex.invoker.MultiplexInvokerSe= rver$SampleInvocationHandler.run() invokes inefficient new Integer(int) con= structor; use Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.samples.multiplex.invoker.MultiplexInvoke= rServer$SampleInvocationHandler
In method org.jboss.remoting.samples.mu= ltiplex.invoker.MultiplexInvokerServer$SampleInvocationHandler.run()
Ca= lled method new Integer(int)
Should call Integer.valueOf(int) insteadAt MultiplexInvokerServer.java:[line 187]

+
+Bx +Method org.jboss.remoting.samples.multiplex.invoker.Server2Client1.mak= eClientCall() invokes inefficient new Integer(int) constructor; use Integer= .valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.samples.multiplex.invoker.Server2Client1<= br/>In method org.jboss.remoting.samples.multiplex.invoker.Server2Client1.m= akeClientCall()
Called method new Integer(int)
Should call Integer.= valueOf(int) instead
At Server2Client1.java:[line 130]

+
+Bx +Method org.jboss.remoting.samples.multiplex.invoker.Server2Client2.mak= eClientCall() invokes inefficient new Integer(int) constructor; use Integer= .valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.samples.multiplex.invoker.Server2Client2<= br/>In method org.jboss.remoting.samples.multiplex.invoker.Server2Client2.m= akeClientCall()
Called method new Integer(int)
Should call Integer.= valueOf(int) instead
At Server2Client2.java:[line 128]

+
+Bx +Method org.jboss.remoting.samples.multiplex.invoker.Server3Client1.mak= eClientCall() invokes inefficient new Integer(int) constructor; use Integer= .valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.samples.multiplex.invoker.Server3Client1<= br/>In method org.jboss.remoting.samples.multiplex.invoker.Server3Client1.m= akeClientCall()
Called method new Integer(int)
Should call Integer.= valueOf(int) instead
At Server3Client1.java:[line 130]

+
+Bx +Method org.jboss.remoting.samples.multiplex.PrimeScenarioExampleClient= .runPrimeScenario() invokes inefficient new Integer(int) constructor; use I= nteger.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.samples.multiplex.PrimeScenarioExampleCli= ent
In method org.jboss.remoting.samples.multiplex.PrimeScenarioExample= Client.runPrimeScenario()
Called method new Integer(int)
Should cal= l Integer.valueOf(int) instead
At PrimeScenarioExampleClient.java:[line= 58]

+
+Bx +Method org.jboss.remoting.samples.multiplex.PrimeScenarioExampleServer= $AsynchronousThread.run() invokes inefficient new Integer(int) constructor;= use Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.samples.multiplex.PrimeScenarioExampleSer= ver$AsynchronousThread
In method org.jboss.remoting.samples.multiplex.P= rimeScenarioExampleServer$AsynchronousThread.run()
Called method new In= teger(int)
Should call Integer.valueOf(int) instead
At PrimeScenari= oExampleServer.java:[line 102]

+
+Bx +Method org.jboss.remoting.samples.stream.StreamingServer$TestStreamInv= ocationHandler.handleStream(InputStream, InvocationRequest) invokes ineffic= ient new Long(long) constructor; use Long.valueOf(long) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.samples.stream.StreamingServer$TestStream= InvocationHandler
In method org.jboss.remoting.samples.stream.Streaming= Server$TestStreamInvocationHandler.handleStream(InputStream, InvocationRequ= est)
Called method new Long(long)
Should call Long.valueOf(long) in= stead
At StreamingServer.java:[line 163]

+
+Bx +Method org.jboss.remoting.samples.stream.StreamingServer$TestStreamInv= ocationHandler.invoke(InvocationRequest) invokes inefficient new Long(long)= constructor; use Long.valueOf(long) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.samples.stream.StreamingServer$TestStream= InvocationHandler
In method org.jboss.remoting.samples.stream.Streaming= Server$TestStreamInvocationHandler.invoke(InvocationRequest)
Called met= hod new Long(long)
Should call Long.valueOf(long) instead
At Stream= ingServer.java:[line 179]

+
+Bx +Method org.jboss.remoting.ServerInvoker.invoke(InvocationRequest) invo= kes inefficient new Long(long) constructor; use Long.valueOf(long) instead<= /td> +
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.ServerInvoker
In method org.jboss.rem= oting.ServerInvoker.invoke(InvocationRequest)
Called method new Long(lo= ng)
Should call Long.valueOf(long) instead
At ServerInvoker.java:[l= ine 800]

+
+Bx +Method org.jboss.remoting.stream.StreamHandler.mark(int) invokes ineff= icient new Integer(int) constructor; use Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.stream.StreamHandler
In method org.jb= oss.remoting.stream.StreamHandler.mark(int)
Called method new Integer(i= nt)
Should call Integer.valueOf(int) instead
At StreamHandler.java:= [line 256]

+
+Bx +Method org.jboss.remoting.stream.StreamHandler.skip(long) invokes inef= ficient new Long(long) constructor; use Long.valueOf(long) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.stream.StreamHandler
In method org.jb= oss.remoting.stream.StreamHandler.skip(long)
Called method new Long(lon= g)
Should call Long.valueOf(long) instead
At StreamHandler.java:[li= ne 291]

+
+Bx +Method org.jboss.remoting.stream.StreamServer$Handler.invoke(Invocatio= nRequest) invokes inefficient new Integer(int) constructor; use Integer.val= ueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.stream.StreamServer$Handler
In method= org.jboss.remoting.stream.StreamServer$Handler.invoke(InvocationRequest)Called method new Integer(int)
Should call Integer.valueOf(int) inst= ead
At StreamServer.java:[line 205]
Another occurrence at StreamSer= ver.java:[line 210]
Another occurrence at StreamServer.java:[line 251]<= /p> +

+Bx +Method org.jboss.remoting.stream.StreamServer$Handler.invoke(Invocatio= nRequest) invokes inefficient new Long(long) constructor; use Long.valueOf(= long) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.stream.StreamServer$Handler
In method= org.jboss.remoting.stream.StreamServer$Handler.invoke(InvocationRequest)Called method new Long(long)
Should call Long.valueOf(long) instead<= br/>At StreamServer.java:[line 243]

+
+Bx +Method org.jboss.remoting.transport.bisocket.BisocketServerInvoker.cre= ateControlConnection(String, boolean) invokes inefficient new Integer(int) = constructor; use Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.bisocket.BisocketServerInvoker<= br/>In method org.jboss.remoting.transport.bisocket.BisocketServerInvoker.c= reateControlConnection(String, boolean)
Called method new Integer(int)<= br/>Should call Integer.valueOf(int) instead
At BisocketServerInvoker.j= ava:[line 313]
Another occurrence at BisocketServerInvoker.java:[line 3= 17]

+
+Bx +Method org.jboss.remoting.transport.coyote.CoyoteInvoker.addLeaseInfo(= ResponseMap) invokes inefficient new Long(long) constructor; use Long.value= Of(long) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.coyote.CoyoteInvoker
In met= hod org.jboss.remoting.transport.coyote.CoyoteInvoker.addLeaseInfo(Response= Map)
Called method new Long(long)
Should call Long.valueOf(long) in= stead
At CoyoteInvoker.java:[line 425]

+
+Bx +Method org.jboss.remoting.transport.coyote.ssl.RemotingSSLSupport.getK= eySize() invokes inefficient new Integer(int) constructor; use Integer.valu= eOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.coyote.ssl.RemotingSSLSupportIn method org.jboss.remoting.transport.coyote.ssl.RemotingSSLSupport.get= KeySize()
Called method new Integer(int)
Should call Integer.valueO= f(int) instead
At RemotingSSLSupport.java:[line 188]

+
+Bx +Method org.jboss.remoting.transport.http.HTTPClientInvoker.checkForLea= sePing(HttpURLConnection, Object, Map) invokes inefficient new Integer(int)= constructor; use Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.http.HTTPClientInvoker
In m= ethod org.jboss.remoting.transport.http.HTTPClientInvoker.checkForLeasePing= (HttpURLConnection, Object, Map)
Called method new Integer(int)
Sho= uld call Integer.valueOf(int) instead
At HTTPClientInvoker.java:[line 4= 86]

+
+Bx +Method org.jboss.remoting.transport.http.HTTPClientInvoker.checkForLea= sePing(HttpURLConnection, Object, Map) invokes inefficient new Long(long) c= onstructor; use Long.valueOf(long) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.http.HTTPClientInvoker
In m= ethod org.jboss.remoting.transport.http.HTTPClientInvoker.checkForLeasePing= (HttpURLConnection, Object, Map)
Called method new Long(long)
Shoul= d call Long.valueOf(long) instead
At HTTPClientInvoker.java:[line 516]<= /p> +

+Bx +Method org.jboss.remoting.transport.http.HTTPClientInvoker.getSimulate= dTimeout(Map, Map, HttpURLConnection) invokes inefficient new Integer(int) = constructor; use Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.http.HTTPClientInvoker
In m= ethod org.jboss.remoting.transport.http.HTTPClientInvoker.getSimulatedTimeo= ut(Map, Map, HttpURLConnection)
Called method new Integer(int)
Shou= ld call Integer.valueOf(int) instead
At HTTPClientInvoker.java:[line 66= 5]
Another occurrence at HTTPClientInvoker.java:[line 667]

+
+Bx +Method org.jboss.remoting.transport.http.HTTPClientInvoker.setChunked(= Map, HttpURLConnection) invokes inefficient new Integer(int) constructor; u= se Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.http.HTTPClientInvoker
In m= ethod org.jboss.remoting.transport.http.HTTPClientInvoker.setChunked(Map, H= ttpURLConnection)
Called method new Integer(int)
Should call Intege= r.valueOf(int) instead
At HTTPClientInvoker.java:[line 597]

+
+Bx +Method org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLC= onnection(HttpURLConnection, Object, Map, Marshaller, UnMarshaller) invokes= inefficient new Integer(int) constructor; use Integer.valueOf(int) instead=
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.http.HTTPClientInvoker
In m= ethod org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnect= ion(HttpURLConnection, Object, Map, Marshaller, UnMarshaller)
Called me= thod new Integer(int)
Should call Integer.valueOf(int) instead
At H= TTPClientInvoker.java:[line 280]
Another occurrence at HTTPClientInvoke= r.java:[line 328]
Another occurrence at HTTPClientInvoker.java:[line 36= 0]

+
+Bx +Method org.jboss.remoting.transport.multiplex.MultiplexServerInvoker.s= etInputBufferSize(int) invokes inefficient new Integer(int) constructor; us= e Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.multiplex.MultiplexServerInvoke= r
In method org.jboss.remoting.transport.multiplex.MultiplexServerInvok= er.setInputBufferSize(int)
Called method new Integer(int)
Should ca= ll Integer.valueOf(int) instead
At MultiplexServerInvoker.java:[line 11= 93]

+
+Bx +Method org.jboss.remoting.transport.multiplex.MultiplexServerInvoker.s= etInputMaxErrors(int) invokes inefficient new Integer(int) constructor; use= Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.multiplex.MultiplexServerInvoke= r
In method org.jboss.remoting.transport.multiplex.MultiplexServerInvok= er.setInputMaxErrors(int)
Called method new Integer(int)
Should cal= l Integer.valueOf(int) instead
At MultiplexServerInvoker.java:[line 120= 7]

+
+Bx +Method org.jboss.remoting.transport.multiplex.MultiplexServerInvoker.s= etMaxAcceptErrors(int) invokes inefficient new Integer(int) constructor; us= e Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.multiplex.MultiplexServerInvoke= r
In method org.jboss.remoting.transport.multiplex.MultiplexServerInvok= er.setMaxAcceptErrors(int)
Called method new Integer(int)
Should ca= ll Integer.valueOf(int) instead
At MultiplexServerInvoker.java:[line 12= 21]

+
+Bx +Method org.jboss.remoting.transport.multiplex.MultiplexServerInvoker.s= etOutputMaxChunkSize(int) invokes inefficient new Integer(int) constructor;= use Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.multiplex.MultiplexServerInvoke= r
In method org.jboss.remoting.transport.multiplex.MultiplexServerInvok= er.setOutputMaxChunkSize(int)
Called method new Integer(int)
Should= call Integer.valueOf(int) instead
At MultiplexServerInvoker.java:[line= 1266]

+
+Bx +Method org.jboss.remoting.transport.multiplex.MultiplexServerInvoker.s= etOutputMaxDataSlice(int) invokes inefficient new Integer(int) constructor;= use Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.multiplex.MultiplexServerInvoke= r
In method org.jboss.remoting.transport.multiplex.MultiplexServerInvok= er.setOutputMaxDataSlice(int)
Called method new Integer(int)
Should= call Integer.valueOf(int) instead
At MultiplexServerInvoker.java:[line= 1280]

+
+Bx +Method org.jboss.remoting.transport.multiplex.MultiplexServerInvoker.s= etOutputMaxTimeSlice(int) invokes inefficient new Integer(int) constructor;= use Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.multiplex.MultiplexServerInvoke= r
In method org.jboss.remoting.transport.multiplex.MultiplexServerInvok= er.setOutputMaxTimeSlice(int)
Called method new Integer(int)
Should= call Integer.valueOf(int) instead
At MultiplexServerInvoker.java:[line= 1294]

+
+Bx +Method org.jboss.remoting.transport.multiplex.MultiplexServerInvoker.s= etOutputMessagePoolSize(int) invokes inefficient new Integer(int) construct= or; use Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.multiplex.MultiplexServerInvoke= r
In method org.jboss.remoting.transport.multiplex.MultiplexServerInvok= er.setOutputMessagePoolSize(int)
Called method new Integer(int)
Sho= uld call Integer.valueOf(int) instead
At MultiplexServerInvoker.java:[l= ine 1308]

+
+Bx +Method org.jboss.remoting.transport.multiplex.MultiplexServerInvoker.s= etOutputMessageSize(int) invokes inefficient new Integer(int) constructor; = use Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.multiplex.MultiplexServerInvoke= r
In method org.jboss.remoting.transport.multiplex.MultiplexServerInvok= er.setOutputMessageSize(int)
Called method new Integer(int)
Should = call Integer.valueOf(int) instead
At MultiplexServerInvoker.java:[line = 1322]

+
+Bx +Method org.jboss.remoting.transport.multiplex.MultiplexServerInvoker.s= etShutdownMonitorPeriod(int) invokes inefficient new Integer(int) construct= or; use Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.multiplex.MultiplexServerInvoke= r
In method org.jboss.remoting.transport.multiplex.MultiplexServerInvok= er.setShutdownMonitorPeriod(int)
Called method new Integer(int)
Sho= uld call Integer.valueOf(int) instead
At MultiplexServerInvoker.java:[l= ine 1351]

+
+Bx +Method org.jboss.remoting.transport.multiplex.MultiplexServerInvoker.s= etShutdownRefusalsMaximum(int) invokes inefficient new Integer(int) constru= ctor; use Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.multiplex.MultiplexServerInvoke= r
In method org.jboss.remoting.transport.multiplex.MultiplexServerInvok= er.setShutdownRefusalsMaximum(int)
Called method new Integer(int)
S= hould call Integer.valueOf(int) instead
At MultiplexServerInvoker.java:= [line 1365]

+
+Bx +Method org.jboss.remoting.transport.multiplex.MultiplexServerInvoker.s= etShutdownRequestTimeout(int) invokes inefficient new Integer(int) construc= tor; use Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.multiplex.MultiplexServerInvoke= r
In method org.jboss.remoting.transport.multiplex.MultiplexServerInvok= er.setShutdownRequestTimeout(int)
Called method new Integer(int)
Sh= ould call Integer.valueOf(int) instead
At MultiplexServerInvoker.java:[= line 1379]

+
+Bx +Method org.jboss.remoting.transport.multiplex.MultiplexServerInvoker.s= etStaticThreadsMonitorPeriod(int) invokes inefficient new Integer(int) cons= tructor; use Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.multiplex.MultiplexServerInvoke= r
In method org.jboss.remoting.transport.multiplex.MultiplexServerInvok= er.setStaticThreadsMonitorPeriod(int)
Called method new Integer(int)Should call Integer.valueOf(int) instead
At MultiplexServerInvoker.ja= va:[line 1393]

+
+Bx +Method org.jboss.remoting.transport.multiplex.SocketId.freePort(int) i= nvokes inefficient new Integer(int) constructor; use Integer.valueOf(int) i= nstead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.multiplex.SocketId
In metho= d org.jboss.remoting.transport.multiplex.SocketId.freePort(int)
Called = method new Integer(int)
Should call Integer.valueOf(int) instead
At= SocketId.java:[line 223]

+
+Bx +Method org.jboss.remoting.transport.multiplex.SocketId.getFreePort() i= nvokes inefficient new Integer(int) constructor; use Integer.valueOf(int) i= nstead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.multiplex.SocketId
In metho= d org.jboss.remoting.transport.multiplex.SocketId.getFreePort()
Called = method new Integer(int)
Should call Integer.valueOf(int) instead
At= SocketId.java:[line 251]
Another occurrence at SocketId.java:[line 263= ]

+
+Bx +Method org.jboss.remoting.transport.PortUtil.getFreePort(String) invok= es inefficient new Integer(int) constructor; use Integer.valueOf(int) inste= ad
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.PortUtil
In method org.jbos= s.remoting.transport.PortUtil.getFreePort(String)
Called method new Int= eger(int)
Should call Integer.valueOf(int) instead
At PortUtil.java= :[line 133]

+
+Bx +Method org.jboss.remoting.transport.socket.MicroSocketClientInvoker.cr= eateClientSocket(Socket, int, Map) invokes inefficient new Integer(int) con= structor; use Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.socket.MicroSocketClientInvoker=
In method org.jboss.remoting.transport.socket.MicroSocketClientInvoker= .createClientSocket(Socket, int, Map)
Called method new Integer(int)Should call Integer.valueOf(int) instead
At MicroSocketClientInvoker.= java:[line 964]

+
+Bx +Method org.jboss.remoting.transport.socket.MicroSocketClientInvoker.ge= tConnection(Marshaller, UnMarshaller, int) invokes inefficient new Integer(= int) constructor; use Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.socket.MicroSocketClientInvoker=
In method org.jboss.remoting.transport.socket.MicroSocketClientInvoker= .getConnection(Marshaller, UnMarshaller, int)
Called method new Integer= (int)
Should call Integer.valueOf(int) instead
At MicroSocketClient= Invoker.java:[line 931]
Another occurrence at MicroSocketClientInvoker.= java:[line 940]

+
+Bx +Method org.jboss.remoting.transport.socket.ServerThread.createServerSo= cketWrapper(Socket, int, Map) invokes inefficient new Integer(int) construc= tor; use Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.socket.ServerThread
In meth= od org.jboss.remoting.transport.socket.ServerThread.createServerSocketWrapp= er(Socket, int, Map)
Called method new Integer(int)
Should call Int= eger.valueOf(int) instead
At ServerThread.java:[line 782]
Another o= ccurrence at ServerThread.java:[line 785]

+
+Bx +Method org.jboss.remoting.transport.socket.SocketClientInvoker.createC= lientSocket(Socket, int, Map) invokes inefficient new Integer(int) construc= tor; use Integer.valueOf(int) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.socket.SocketClientInvoker
= In method org.jboss.remoting.transport.socket.SocketClientInvoker.createCli= entSocket(Socket, int, Map)
Called method new Integer(int)
Should c= all Integer.valueOf(int) instead
At SocketClientInvoker.java:[line 161]=

+
+Bx +Method org.jboss.remoting.transport.web.WebServerInvoker.addLeaseInfo(= Map) invokes inefficient new Long(long) constructor; use Long.valueOf(long)= instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.transport.web.WebServerInvoker
In met= hod org.jboss.remoting.transport.web.WebServerInvoker.addLeaseInfo(Map)
Called method new Long(long)
Should call Long.valueOf(long) insteadAt WebServerInvoker.java:[line 177]

+
+Bx +Method org.jboss.remoting.Version.<static initializer>() invokes= inefficient new Byte(byte) constructor; use Byte.valueOf(byte) instead
+ +

+Bug type DM_NUMBER_CTOR (click for details) +
In class org.jboss.remoting.Version
In method org.jboss.remoting.= Version.<static initializer>()
Called method new Byte(byte)
S= hould call Byte.valueOf(byte) instead
At Version.java:[line 103]

+
+Dm +org.jboss.remoting.callback.ServerInvokerCallbackHandler$1.run() force= s garbage collection; extremely dubious except in benchmarking code
+ +

+Bug type DM_GC (click for details) +
In class org.jboss.remoting.callback.ServerInvokerCallbackHandler$1In method org.jboss.remoting.callback.ServerInvokerCallbackHandler$1.run= ()
At ServerInvokerCallbackHandler.java:[line 662]

+
+Dm +org.jboss.remoting.callback.ServerInvokerCallbackHandler$2.run() force= s garbage collection; extremely dubious except in benchmarking code
+ +

+Bug type DM_GC (click for details) +
In class org.jboss.remoting.callback.ServerInvokerCallbackHandler$2In method org.jboss.remoting.callback.ServerInvokerCallbackHandler$2.run= ()
At ServerInvokerCallbackHandler.java:[line 764]

+
+Dm +org.jboss.remoting.InvokerLocator.setUseLegacyParsing(boolean) invokes= inefficient Boolean constructor; use Boolean.valueOf(...) instead
+ +

+Bug type DM_BOOLEAN_CTOR (click for details)<= /a> +
In class org.jboss.remoting.InvokerLocator
In method org.jboss.re= moting.InvokerLocator.setUseLegacyParsing(boolean)
At InvokerLocator.ja= va:[line 108]

+
+Dm +org.jboss.remoting.loading.CompressedClassBytes.main(String[]) invokes= inefficient new String(String) constructor
+ +

+Bug type DM_STRING_CTOR (click for details) +
In class org.jboss.remoting.loading.CompressedClassBytes
In metho= d org.jboss.remoting.loading.CompressedClassBytes.main(String[])
At Com= pressedClassBytes.java:[line 63]

+
+Dm +org.jboss.remoting.ServerInvoker.invoke(InvocationRequest) invokes ine= fficient Boolean constructor; use Boolean.valueOf(...) instead
+ +

+Bug type DM_BOOLEAN_CTOR (click for details)<= /a> +
In class org.jboss.remoting.ServerInvoker
In method org.jboss.rem= oting.ServerInvoker.invoke(InvocationRequest)
At ServerInvoker.java:[li= ne 787]
Another occurrence at ServerInvoker.java:[line 802]

+
+Dm +org.jboss.remoting.stream.StreamServer$Handler.invoke(InvocationReques= t) invokes inefficient Boolean constructor; use Boolean.valueOf(...) instea= d
+ +

+Bug type DM_BOOLEAN_CTOR (click for details)<= /a> +
In class org.jboss.remoting.stream.StreamServer$Handler
In method= org.jboss.remoting.stream.StreamServer$Handler.invoke(InvocationRequest)At StreamServer.java:[line 228]

+
+Dm +org.jboss.remoting.transport.coyote.CoyoteInvoker.<static initializ= er>() invokes inefficient Boolean constructor; use Boolean.valueOf(...) = instead
+ +

+Bug type DM_BOOLEAN_CTOR (click for details)<= /a> +
In class org.jboss.remoting.transport.coyote.CoyoteInvoker
In met= hod org.jboss.remoting.transport.coyote.CoyoteInvoker.<static initialize= r>()
At CoyoteInvoker.java:[line 75]
Another occurrence at Coyot= eInvoker.java:[line 76]

+
+Dm +org.jboss.remoting.transport.coyote.CoyoteInvoker.addLeaseInfo(Respons= eMap) invokes inefficient Boolean constructor; use Boolean.valueOf(...) ins= tead
+ +

+Bug type DM_BOOLEAN_CTOR (click for details)<= /a> +
In class org.jboss.remoting.transport.coyote.CoyoteInvoker
In met= hod org.jboss.remoting.transport.coyote.CoyoteInvoker.addLeaseInfo(Response= Map)
At CoyoteInvoker.java:[line 420]

+
+Dm +org.jboss.remoting.transport.coyote.CoyoteInvoker.setProperty(Object, = String, String) invokes inefficient Boolean constructor; use Boolean.valueO= f(...) instead
+ +

+Bug type DM_BOOLEAN_CTOR (click for details)<= /a> +
In class org.jboss.remoting.transport.coyote.CoyoteInvoker
In met= hod org.jboss.remoting.transport.coyote.CoyoteInvoker.setProperty(Object, S= tring, String)
At CoyoteInvoker.java:[line 1022]

+
+Dm +org.jboss.remoting.transport.http.HTTPClientInvoker.checkForLeasePing(= HttpURLConnection, Object, Map) invokes inefficient Boolean constructor; us= e Boolean.valueOf(...) instead
+ +

+Bug type DM_BOOLEAN_CTOR (click for details)<= /a> +
In class org.jboss.remoting.transport.http.HTTPClientInvoker
In m= ethod org.jboss.remoting.transport.http.HTTPClientInvoker.checkForLeasePing= (HttpURLConnection, Object, Map)
At HTTPClientInvoker.java:[line 501]Another occurrence at HTTPClientInvoker.java:[line 517]

+
+Dm +org.jboss.remoting.transport.web.WebServerInvoker.addLeaseInfo(Map) in= vokes inefficient Boolean constructor; use Boolean.valueOf(...) instead
+ +

+Bug type DM_BOOLEAN_CTOR (click for details)<= /a> +
In class org.jboss.remoting.transport.web.WebServerInvoker
In met= hod org.jboss.remoting.transport.web.WebServerInvoker.addLeaseInfo(Map)
At WebServerInvoker.java:[line 172]

+
+SBSC +Method org.jboss.remoting.detection.Detection.toString() concatenates = strings using + in a loop
+ +

+Bug type SBSC_USE_STRINGB= UFFER_CONCATENATION (click for details) +
In class org.jboss.remoting.detection.Detection
In method org.jbo= ss.remoting.detection.Detection.toString()
At Detection.java:[line 72]<= /p> +

+SBSC +Method org.jboss.remoting.detection.ServerInvokerMetadata.toString() c= oncatenates strings using + in a loop
+ +

+Bug type SBSC_USE_STRINGB= UFFER_CONCATENATION (click for details) +
In class org.jboss.remoting.detection.ServerInvokerMetadata
In me= thod org.jboss.remoting.detection.ServerInvokerMetadata.toString()
At S= erverInvokerMetadata.java:[line 64]

+
+SBSC +Method org.jboss.remoting.samples.transporter.complex.Doctor.toString(= ) concatenates strings using + in a loop
+ +

+Bug type SBSC_USE_STRINGB= UFFER_CONCATENATION (click for details) +
In class org.jboss.remoting.samples.transporter.complex.Doctor
In= method org.jboss.remoting.samples.transporter.complex.Doctor.toString()At Doctor.java:[line 71]

+
+SBSC +Method org.jboss.remoting.transport.Connector.getInvokerConfig(Map) co= ncatenates strings using + in a loop
+ +

+Bug type SBSC_USE_STRINGB= UFFER_CONCATENATION (click for details) +
In class org.jboss.remoting.transport.Connector
In method org.jbo= ss.remoting.transport.Connector.getInvokerConfig(Map)
At Connector.java= :[line 556]

+
+SIC +Should org.jboss.remoting.AbstractInvoker$CallbackHandlerHolder be a _= static_ inner class?
+ +

+Bug type SIC_INNER_SHOULD_BE_STATI= C (click for details) +
In class org.jboss.remoting.AbstractInvoker$CallbackHandlerHolder
At AbstractInvoker.java:[lines 444-462]

+
+SIC +Should org.jboss.remoting.AbstractInvoker$CallbackLocatorHolder be a _= static_ inner class?
+ +

+Bug type SIC_INNER_SHOULD_BE_STATI= C (click for details) +
In class org.jboss.remoting.AbstractInvoker$CallbackLocatorHolder
At AbstractInvoker.java:[lines 472-484]

+
+SIC +Should org.jboss.remoting.callback.NullCallbackStore$FailedCallback be= a _static_ inner class?
+ +

+Bug type SIC_INNER_SHOULD_BE_STATI= C (click for details) +
In class org.jboss.remoting.callback.NullCallbackStore$FailedCallback=
At NullCallbackStore.java:[lines 161-167]

+
+SIC +Should org.jboss.remoting.detection.AbstractDetector$Server be a _stat= ic_ inner class?
+ +

+Bug type SIC_INNER_SHOULD_BE_STATI= C (click for details) +
In class org.jboss.remoting.detection.AbstractDetector$Server
At = AbstractDetector.java:[lines 675-715]

+
+SIC +Should org.jboss.remoting.loading.ClassByteClassLoader$MyRef be a _sta= tic_ inner class?
+ +

+Bug type SIC_INNER_SHOULD_BE_STATI= C (click for details) +
In class org.jboss.remoting.loading.ClassByteClassLoader$MyRef
At= ClassByteClassLoader.java:[lines 86-94]

+
+SIC +Should org.jboss.remoting.samples.callback.CallbackClient$CallbackHand= ler be a _static_ inner class?
+ +

+Bug type SIC_INNER_SHOULD_BE_STATI= C (click for details) +
In class org.jboss.remoting.samples.callback.CallbackClient$CallbackH= andler
At CallbackClient.java:[lines 202-217]

+
+SIC +Should org.jboss.remoting.samples.callback.statistics.CallbackClient$C= allbackHandler be a _static_ inner class?
+ +

+Bug type SIC_INNER_SHOULD_BE_STATI= C (click for details) +
In class org.jboss.remoting.samples.callback.statistics.CallbackClien= t$CallbackHandler
At CallbackClient.java:[lines 99-113]

+
+SIC +Should org.jboss.remoting.samples.chat.client.RemoteStrategyRemoting$C= hatServerStub be a _static_ inner class?
+ +

+Bug type SIC_INNER_SHOULD_BE_STATI= C (click for details) +
In class org.jboss.remoting.samples.chat.client.RemoteStrategyRemotin= g$ChatServerStub
At RemoteStrategyRemoting.java:[lines 260-322]

+
+SIC +Should org.jboss.remoting.samples.multiplex.PrimeScenarioExampleClient= $AsynchronousThread be a _static_ inner class?
+ +

+Bug type SIC_INNER_SHOULD_BE_STATI= C (click for details) +
In class org.jboss.remoting.samples.multiplex.PrimeScenarioExampleCli= ent$AsynchronousThread
At PrimeScenarioExampleClient.java:[lines 76-104= ]

+
+SIC +Should org.jboss.remoting.samples.multiplex.PrimeScenarioExampleServer= $AsynchronousThread be a _static_ inner class?
+ +

+Bug type SIC_INNER_SHOULD_BE_STATI= C (click for details) +
In class org.jboss.remoting.samples.multiplex.PrimeScenarioExampleSer= ver$AsynchronousThread
At PrimeScenarioExampleServer.java:[lines 84-112= ]

+
+SIC +Should org.jboss.remoting.security.SSLSocketBuilder$NullStoreURLExcept= ion be a _static_ inner class?
+ +

+Bug type SIC_INNER_SHOULD_BE_STATI= C (click for details) +
In class org.jboss.remoting.security.SSLSocketBuilder$NullStoreURLExc= eption
At SSLSocketBuilder.java:[lines 1714-1716]

+
+SIC +Should org.jboss.remoting.ServerInvoker$CallbackContainer be a _static= _ inner class?
+ +

+Bug type SIC_INNER_SHOULD_BE_STATI= C (click for details) +
In class org.jboss.remoting.ServerInvoker$CallbackContainer
At Se= rverInvoker.java:[lines 1991-2003]

+
+SIC +Should org.jboss.remoting.transport.bisocket.BisocketServerInvoker$Sec= ondaryServerSocketThread be a _static_ inner class?
+ +

+Bug type SIC_INNER_SHOULD_BE_STATI= C (click for details) +
In class org.jboss.remoting.transport.bisocket.BisocketServerInvoker$= SecondaryServerSocketThread
At BisocketServerInvoker.java:[lines 863-93= 3]

+
+SIC +Should org.jboss.remoting.transport.http.ssl.HTTPSClientInvoker$Anyhos= tVerifier be a _static_ inner class?
+ +

+Bug type SIC_INNER_SHOULD_BE_STATI= C (click for details) +
In class org.jboss.remoting.transport.http.ssl.HTTPSClientInvoker$Any= hostVerifier
At HTTPSClientInvoker.java:[lines 223-228]

+
+SIC +Should org.jboss.remoting.transport.multiplex.VirtualServerSocket$Pend= ingClose be a _static_ inner class?
+ +

+Bug type SIC_INNER_SHOULD_BE_STATI= C (click for details) +
In class org.jboss.remoting.transport.multiplex.VirtualServerSocket$P= endingClose
At VirtualServerSocket.java:[lines 810-817]

+
+SIC +Should org.jboss.remoting.transport.multiplex.VirtualSocket$PendingClo= se be a _static_ inner class?
+ +

+Bug type SIC_INNER_SHOULD_BE_STATI= C (click for details) +
In class org.jboss.remoting.transport.multiplex.VirtualSocket$Pending= Close
At VirtualSocket.java:[lines 1336-1343]

+
+SIC +Should org.jboss.remoting.transport.multiplex.VirtualSocket$PendingRem= oteDisconnect be a _static_ inner class?
+ +

+Bug type SIC_INNER_SHOULD_BE_STATI= C (click for details) +
In class org.jboss.remoting.transport.multiplex.VirtualSocket$Pending= RemoteDisconnect
At VirtualSocket.java:[lines 1317-1329]

+
+UrF +Unread field: org.jboss.remoting.samples.chat.client.LocalStrategy$3.r= emoteChatServerWrapper
+ +

+Bug type URF_UNREAD_FIELD (click for details= ) +
In class org.jboss.remoting.samples.chat.client.LocalStrategy$3
F= ield org.jboss.remoting.samples.chat.client.LocalStrategy$3.remoteChatServe= rWrapper
At LocalStrategy.java:[line 171]

+
+UrF +Unread field: org.jboss.remoting.transport.coyote.InputBuffer.bytesRea= d
+ +

+Bug type URF_UNREAD_FIELD (click for details= ) +
In class org.jboss.remoting.transport.coyote.InputBuffer
Field or= g.jboss.remoting.transport.coyote.InputBuffer.bytesRead
At InputBuffer.= java:[line 79]

+
+UrF +Unread field: org.jboss.remoting.transport.coyote.InputBuffer.charsRea= d
+ +

+Bug type URF_UNREAD_FIELD (click for details= ) +
In class org.jboss.remoting.transport.coyote.InputBuffer
Field or= g.jboss.remoting.transport.coyote.InputBuffer.charsRead
At InputBuffer.= java:[line 85]

+
+UrF +Unread field: org.jboss.remoting.transport.coyote.InputBuffer.inputChu= nk
+ +

+Bug type URF_UNREAD_FIELD (click for details= ) +
In class org.jboss.remoting.transport.coyote.InputBuffer
Field or= g.jboss.remoting.transport.coyote.InputBuffer.inputChunk
At InputBuffer= .java:[line 97]

+
+UrF +Unread field: org.jboss.remoting.transport.multiplex.InputMultiplexor$= MultiGroupInputThread.info
+ +

+Bug type URF_UNREAD_FIELD (click for details= ) +
In class org.jboss.remoting.transport.multiplex.InputMultiplexor$Mult= iGroupInputThread
Field org.jboss.remoting.transport.multiplex.InputMul= tiplexor$MultiGroupInputThread.info
At InputMultiplexor.java:[line 141]=

+
+UrF +Unread field: org.jboss.remoting.transport.multiplex.InputMultiplexor$= SingleGroupInputThread.debug
+ +

+Bug type URF_UNREAD_FIELD (click for details= ) +
In class org.jboss.remoting.transport.multiplex.InputMultiplexor$Sing= leGroupInputThread
Field org.jboss.remoting.transport.multiplex.InputMu= ltiplexor$SingleGroupInputThread.debug
At InputMultiplexor.java:[line 5= 14]

+
+UrF +Unread field: org.jboss.remoting.transport.multiplex.InputMultiplexor$= SingleGroupInputThread.info
+ +

+Bug type URF_UNREAD_FIELD (click for details= ) +
In class org.jboss.remoting.transport.multiplex.InputMultiplexor$Sing= leGroupInputThread
Field org.jboss.remoting.transport.multiplex.InputMu= ltiplexor$SingleGroupInputThread.info
At InputMultiplexor.java:[line 51= 5]

+
+UrF +Unread field: org.jboss.remoting.transport.multiplex.MultiplexingManag= er$ShutdownManager$ShutdownMonitorTimerTask.cancelled
+ +

+Bug type URF_UNREAD_FIELD (click for details= ) +
In class org.jboss.remoting.transport.multiplex.MultiplexingManager$S= hutdownManager$ShutdownMonitorTimerTask
Field org.jboss.remoting.transp= ort.multiplex.MultiplexingManager$ShutdownManager$ShutdownMonitorTimerTask.= cancelled
At MultiplexingManager.java:[line 2389]

+
+WMI +Method new org.jboss.remoting.InvokerLocator(String, String, int, Stri= ng, Map) makes inefficient use of keySet iterator instead of entrySet itera= tor
+ +

+Bug type WMI_WRONG_MAP_ITERATOR (click= for details) +
In class org.jboss.remoting.InvokerLocator
In method new org.jbos= s.remoting.InvokerLocator(String, String, int, String, Map)
At InvokerL= ocator.java:[line 484]

+
+WMI +Method org.jboss.remoting.ServerInvoker.getMBeanObjectName() makes ine= fficient use of keySet iterator instead of entrySet iterator
+ +

+Bug type WMI_WRONG_MAP_ITERATOR (click= for details) +
In class org.jboss.remoting.ServerInvoker
In method org.jboss.rem= oting.ServerInvoker.getMBeanObjectName()
At ServerInvoker.java:[line 10= 19]

+
+WMI +Method org.jboss.remoting.transport.Connector.getInvokerConfig(Map) ma= kes inefficient use of keySet iterator instead of entrySet iterator
+ +

+Bug type WMI_WRONG_MAP_ITERATOR (click= for details) +
In class org.jboss.remoting.transport.Connector
In method org.jbo= ss.remoting.transport.Connector.getInvokerConfig(Map)
At Connector.java= :[line 548]

+
+WMI +Method org.jboss.remoting.transport.coyote.CoyoteInvoker.setup() makes= inefficient use of keySet iterator instead of entrySet iterator
+ +

+Bug type WMI_WRONG_MAP_ITERATOR (click= for details) +
In class org.jboss.remoting.transport.coyote.CoyoteInvoker
In met= hod org.jboss.remoting.transport.coyote.CoyoteInvoker.setup()
At Coyote= Invoker.java:[line 162]

+
+WMI +Method org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLC= onnection(HttpURLConnection, Object, Map, Marshaller, UnMarshaller) makes i= nefficient use of keySet iterator instead of entrySet iterator
+ +

+Bug type WMI_WRONG_MAP_ITERATOR (click= for details) +
In class org.jboss.remoting.transport.http.HTTPClientInvoker
In m= ethod org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnect= ion(HttpURLConnection, Object, Map, Marshaller, UnMarshaller)
At HTTPCl= ientInvoker.java:[line 267]

+
+WMI +Method org.jboss.remoting.transport.multiplex.Protocol$BackChannelThre= ad.doRun() makes inefficient use of keySet iterator instead of entrySet ite= rator
+ +

+Bug type WMI_WRONG_MAP_ITERATOR (click= for details) +
In class org.jboss.remoting.transport.multiplex.Protocol$BackChannelT= hread
In method org.jboss.remoting.transport.multiplex.Protocol$BackCha= nnelThread.doRun()
At Protocol.java:[line 453]

+
+WMI +Method org.jboss.remoting.transport.servlet.ServletServerInvoker.proce= ssRequest(HttpServletRequest, HttpServletResponse) makes inefficient use of= keySet iterator instead of entrySet iterator
+ +

+Bug type WMI_WRONG_MAP_ITERATOR (click= for details) +
In class org.jboss.remoting.transport.servlet.ServletServerInvokerIn method org.jboss.remoting.transport.servlet.ServletServerInvoker.proce= ssRequest(HttpServletRequest, HttpServletResponse)
At ServletServerInvo= ker.java:[line 166]
Another occurrence at ServletServerInvoker.java:[li= ne 187]

+
+WMI +Method org.jboss.remoting.transport.servlet.ServletServerInvoker.proce= ssRequest(HttpServletRequest, byte[], HttpServletResponse) makes inefficien= t use of keySet iterator instead of entrySet iterator
+ +

+Bug type WMI_WRONG_MAP_ITERATOR (click= for details) +
In class org.jboss.remoting.transport.servlet.ServletServerInvokerIn method org.jboss.remoting.transport.servlet.ServletServerInvoker.proce= ssRequest(HttpServletRequest, byte[], HttpServletResponse)
At ServletSe= rverInvoker.java:[line 315]

+
+

+Dodgy Warnings +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CodeWarning
+BC +Unchecked/unconfirmed cast from java.net.Socket to javax.net.ssl.SSLSo= cket in org.jboss.remoting.transport.coyote.ssl.RemotingServerSocketFactory= .handshake(Socket)
+ +

+Bug type BC_UNCONFIRMED_CAST (click for d= etails) +
In class org.jboss.remoting.transport.coyote.ssl.RemotingServerSocket= Factory
In method org.jboss.remoting.transport.coyote.ssl.RemotingServe= rSocketFactory.handshake(Socket)
Actual type java.net.Socket
Expect= ed javax.net.ssl.SSLSocket
Value loaded from sock
At RemotingServer= SocketFactory.java:[line 198]

+
+BC +Unchecked/unconfirmed cast from java.net.Socket to javax.net.ssl.SSLSo= cket in org.jboss.remoting.transport.coyote.ssl.RemotingSSLImplementation.g= etSSLSupport(Socket)
+ +

+Bug type BC_UNCONFIRMED_CAST (click for d= etails) +
In class org.jboss.remoting.transport.coyote.ssl.RemotingSSLImplement= ation
In method org.jboss.remoting.transport.coyote.ssl.RemotingSSLImpl= ementation.getSSLSupport(Socket)
Actual type java.net.Socket
Expect= ed javax.net.ssl.SSLSocket
Value loaded from sock
At RemotingSSLImp= lementation.java:[line 58]

+
+DLS +Dead store to obj in org.jboss.remoting.loading.CompressedClassBytes.m= ain(String[])
+ +

+Bug type DLS_DEAD_LOCAL_STORE (click for= details) +
In class org.jboss.remoting.loading.CompressedClassBytes
In metho= d org.jboss.remoting.loading.CompressedClassBytes.main(String[])
Local = variable named obj
At CompressedClassBytes.java:[line 67]

+
+DLS +Dead store to count in org.jboss.remoting.loading.CompressedClassBytes= .readExternal(ObjectInput)
+ +

+Bug type DLS_DEAD_LOCAL_STORE (click for= details) +
In class org.jboss.remoting.loading.CompressedClassBytes
In metho= d org.jboss.remoting.loading.CompressedClassBytes.readExternal(ObjectInput)=
Local variable named count
At CompressedClassBytes.java:[line 89]<= /p> +

+DLS +Dead store to CloseableFrame in org.jboss.remoting.samples.chat.client= .CloseableFrame.main(String[])
+ +

+Bug type DLS_DEAD_LOCAL_STORE (click for= details) +
In class org.jboss.remoting.samples.chat.client.CloseableFrame
In= method org.jboss.remoting.samples.chat.client.CloseableFrame.main(String[]= )
Local variable named CloseableFrame
At CloseableFrame.java:[line = 61]

+
+DLS +Dead store to backChat in org.jboss.remoting.samples.chat.client.TalkF= rame.main(String[])
+ +

+Bug type DLS_DEAD_LOCAL_STORE (click for= details) +
In class org.jboss.remoting.samples.chat.client.TalkFrame
In meth= od org.jboss.remoting.samples.chat.client.TalkFrame.main(String[])
Loca= l variable named backChat
Did you mean to refer to the field org.jboss.= remoting.samples.chat.client.TalkFrame.backChat?
At TalkFrame.java:[lin= e 161]

+
+DLS +Dead store to backChat in new org.jboss.remoting.samples.chat.server.C= allbackThread(InvokerCallbackHandler, ShutDownGate, ReadWriteArrayList)
+ +

+Bug type DLS_DEAD_LOCAL_STORE (click for= details) +
In class org.jboss.remoting.samples.chat.server.CallbackThread
In= method new org.jboss.remoting.samples.chat.server.CallbackThread(InvokerCa= llbackHandler, ShutDownGate, ReadWriteArrayList)
Local variable named b= ackChat
At CallbackThread.java:[line 42]

+
+DLS +Dead store to chatManagerLauncher in org.jboss.remoting.samples.chat.s= erver.ChatManagerLauncher.main(String[])
+ +

+Bug type DLS_DEAD_LOCAL_STORE (click for= details) +
In class org.jboss.remoting.samples.chat.server.ChatManagerLauncherIn method org.jboss.remoting.samples.chat.server.ChatManagerLauncher.mai= n(String[])
Local variable named chatManagerLauncher
At ChatManager= Launcher.java:[line 55]

+
+DLS +Dead store to locatorURI in org.jboss.remoting.samples.stream.Streamin= gClient.main(String[])
+ +

+Bug type DLS_DEAD_LOCAL_STORE (click for= details) +
In class org.jboss.remoting.samples.stream.StreamingClient
In met= hod org.jboss.remoting.samples.stream.StreamingClient.main(String[])
Lo= cal variable named locatorURI
Did you mean to refer to the field org.jb= oss.remoting.samples.stream.StreamingClient.locatorURI?
At StreamingCli= ent.java:[line 131]

+
+DLS +Dead store to port in org.jboss.remoting.transport.coyote.CoyoteInvoke= r.start()
+ +

+Bug type DLS_DEAD_LOCAL_STORE (click for= details) +
In class org.jboss.remoting.transport.coyote.CoyoteInvoker
In met= hod org.jboss.remoting.transport.coyote.CoyoteInvoker.start()
Local var= iable named port
At CoyoteInvoker.java:[line 230]

+
+DLS +Dead store to originalPort in org.jboss.remoting.transport.multiplex.M= ultiplexServerInvoker.setBindingInfo()
+ +

+Bug type DLS_DEAD_LOCAL_STORE (click for= details) +
In class org.jboss.remoting.transport.multiplex.MultiplexServerInvoke= r
In method org.jboss.remoting.transport.multiplex.MultiplexServerInvok= er.setBindingInfo()
Local variable named originalPort
At MultiplexS= erverInvoker.java:[line 1108]
Another occurrence at MultiplexServerInvo= ker.java:[line 1112]

+
+DMI +org.jboss.remoting.InvokerLocator.legacyParse(String) invokes substrin= g(0), which returns the original value
+ +

+Bug type DMI_USELESS_SUBSTRING (click f= or details) +
In class org.jboss.remoting.InvokerLocator
In method org.jboss.re= moting.InvokerLocator.legacyParse(String)
At InvokerLocator.java:[line = 366]

+
+DMI +org.jboss.remoting.transport.multiplex.MultiplexServerInvoker.setBindi= ngInfo() invokes substring(0), which returns the original value
+ +

+Bug type DMI_USELESS_SUBSTRING (click f= or details) +
In class org.jboss.remoting.transport.multiplex.MultiplexServerInvoke= r
In method org.jboss.remoting.transport.multiplex.MultiplexServerInvok= er.setBindingInfo()
At MultiplexServerInvoker.java:[line 1123]

+
+Eq +org.jboss.remoting.network.NetworkInstance.equals(Object) is unusual +
+ +

+Bug type EQ_UNUSUAL (click for details) +
In class org.jboss.remoting.network.NetworkInstance
In method org= .jboss.remoting.network.NetworkInstance.equals(Object)
At NetworkInstan= ce.java:[line 104]

+
+IA +Ambiguous invocation of either an outer or inherited method java.util.= TimerTask.cancel() in org.jboss.remoting.ConnectionValidator$WaitOnConnecti= onCheckTimerTask.run()
+ +

+Bug type= IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD (click for details) +
In class org.jboss.remoting.ConnectionValidator$WaitOnConnectionCheck= TimerTask
In method org.jboss.remoting.ConnectionValidator$WaitOnConnec= tionCheckTimerTask.run()
Inherited method java.util.TimerTask.cancel()<= br/>Did you intend to invoke org.jboss.remoting.ConnectionValidator.cancel(= )
At ConnectionValidator.java:[line 928]

+
+ICAST +integral division result cast to double or float in org.jboss.remoting= .callback.ServerInvokerCallbackHandler.isMemLow()
+ +

+Bug type ICAST_IDIV_CAST_TO_DOUBLE = (click for details) +
In class org.jboss.remoting.callback.ServerInvokerCallbackHandler
In method org.jboss.remoting.callback.ServerInvokerCallbackHandler.isMemLo= w()
At ServerInvokerCallbackHandler.java:[line 891]

+
+NP +Load of known null value in org.jboss.remoting.Client.addCallbackListe= ner(InvokerCallbackHandler, Map, InvokerLocator, Object)
+ +

+Bug type NP_LOAD_OF_KNOWN_NULL_VA= LUE (click for details) +
In class org.jboss.remoting.Client
In method org.jboss.remoting.C= lient.addCallbackListener(InvokerCallbackHandler, Map, InvokerLocator, Obje= ct)
At Client.java:[line 1966]

+
+NP +Possible null pointer dereference in org.jboss.remoting.Client.addConn= ectionListener(ConnectionListener, Map) due to return value of called metho= d
+ +

+Bug type NP_NULL_ON_SO= ME_PATH_FROM_RETURN_VALUE (click for details) +
In class org.jboss.remoting.Client
In method org.jboss.remoting.C= lient.addConnectionListener(ConnectionListener, Map)
Value contained in= org.jboss.remoting.Client.connectionValidator
Dereferenced at Client.j= ava:[line 486]
Known null at Client.java:[line 486]

+
+NP +Load of known null value in org.jboss.remoting.InvokerRegistry.loadCli= entInvoker(String, InvokerLocator, Map)
+ +

+Bug type NP_LOAD_OF_KNOWN_NULL_VA= LUE (click for details) +
In class org.jboss.remoting.InvokerRegistry
In method org.jboss.r= emoting.InvokerRegistry.loadClientInvoker(String, InvokerLocator, Map)
= At InvokerRegistry.java:[line 451]

+
+NP +Load of known null value in org.jboss.remoting.InvokerRegistry.loadSer= verInvoker(String, InvokerLocator, Map)
+ +

+Bug type NP_LOAD_OF_KNOWN_NULL_VA= LUE (click for details) +
In class org.jboss.remoting.InvokerRegistry
In method org.jboss.r= emoting.InvokerRegistry.loadServerInvoker(String, InvokerLocator, Map)
= At InvokerRegistry.java:[line 470]

+
+REC +Exception is caught when Exception is not thrown in org.jboss.remoting= .ident.Identity.createId(MBeanServer)
+ +

+Bug type REC_CATCH_EXCEPTION (click for d= etails) +
In class org.jboss.remoting.ident.Identity
In method org.jboss.re= moting.ident.Identity.createId(MBeanServer)
At Identity.java:[line 242]=

+
+REC +Exception is caught when Exception is not thrown in org.jboss.remoting= .transport.Connector.getInvokerConfig(Map)
+ +

+Bug type REC_CATCH_EXCEPTION (click for d= etails) +
In class org.jboss.remoting.transport.Connector
In method org.jbo= ss.remoting.transport.Connector.getInvokerConfig(Map)
At Connector.java= :[line 568]

+
+REC +Exception is caught when Exception is not thrown in org.jboss.remoting= .transport.coyote.CoyoteInvoker.setProperty(Object, String, String)
+ +

+Bug type REC_CATCH_EXCEPTION (click for d= etails) +
In class org.jboss.remoting.transport.coyote.CoyoteInvoker
In met= hod org.jboss.remoting.transport.coyote.CoyoteInvoker.setProperty(Object, S= tring, String)
At CoyoteInvoker.java:[line 1066]

+
+REC +Exception is caught when Exception is not thrown in org.jboss.remoting= .transport.coyote.ssl.RemotingSSLSupport.getX509Certificates(SSLSession) +
+ +

+Bug type REC_CATCH_EXCEPTION (click for d= etails) +
In class org.jboss.remoting.transport.coyote.ssl.RemotingSSLSupportIn method org.jboss.remoting.transport.coyote.ssl.RemotingSSLSupport.get= X509Certificates(SSLSession)
At RemotingSSLSupport.java:[line 139]

+
+REC +Exception is caught when Exception is not thrown in org.jboss.remoting= .transport.http.HTTPClientInvoker.useHttpURLConnection(HttpURLConnection, O= bject, Map, Marshaller, UnMarshaller)
+ +

+Bug type REC_CATCH_EXCEPTION (click for d= etails) +
In class org.jboss.remoting.transport.http.HTTPClientInvoker
In m= ethod org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnect= ion(HttpURLConnection, Object, Map, Marshaller, UnMarshaller)
At HTTPCl= ientInvoker.java:[line 364]

+
+REC +Exception is caught when Exception is not thrown in org.jboss.remoting= .transport.http.HTTPServerInvoker.processRequest(FilterInputStream, FilterO= utputStream)
+ +

+Bug type REC_CATCH_EXCEPTION (click for d= etails) +
In class org.jboss.remoting.transport.http.HTTPServerInvoker
In m= ethod org.jboss.remoting.transport.http.HTTPServerInvoker.processRequest(Fi= lterInputStream, FilterOutputStream)
At HTTPServerInvoker.java:[line 70= 5]

+
+SA +Double assignment of remoteStrategyName in new org.jboss.remoting.samp= les.chat.client.Chat(String[])
+ +

+Bug type SA_LOCAL_DOUBLE_ASSIGNMEN= T (click for details) +
In class org.jboss.remoting.samples.chat.client.Chat
In method ne= w org.jboss.remoting.samples.chat.client.Chat(String[])
Local variable = named remoteStrategyName
At Chat.java:[line 42]

+
+ST +Write to static field org.jboss.remoting.network.NetworkRegistry.singl= eton from instance method new org.jboss.remoting.network.NetworkRegistry()<= /td> +
+ +

+Bug type ST_WRITE_TO_= STATIC_FROM_INSTANCE_METHOD (click for details) +
In class org.jboss.remoting.network.NetworkRegistry
In method new= org.jboss.remoting.network.NetworkRegistry()
Field org.jboss.remoting.= network.NetworkRegistry.singleton
At NetworkRegistry.java:[line 62]

+
+ST +Write to static field org.jboss.remoting.transport.multiplex.Multiplex= ingManager.configuration from instance method org.jboss.remoting.transport.= multiplex.MultiplexingManager.initParameters(Map)
+ +

+Bug type ST_WRITE_TO_= STATIC_FROM_INSTANCE_METHOD (click for details) +
In class org.jboss.remoting.transport.multiplex.MultiplexingManagerIn method org.jboss.remoting.transport.multiplex.MultiplexingManager.ini= tParameters(Map)
Field org.jboss.remoting.transport.multiplex.Multiplex= ingManager.configuration
At MultiplexingManager.java:[line 501]

+
+

+Details +

+

+DMI_RANDOM_USED_ONLY_ONCE: Random ob= ject created and used only once +

+ +

This code creates a java.util.Random object, uses it to generate one r= andom number, and then discards +the Random object. This produces mediocre quality random numbers and is in= efficient. = +If possible, rewrite the code so that the Random object is created once an= d saved, and each time a new random number +is required invoke a method on the existing Random object to obtain it. +

+ +

If it is important that the generated Random numbers not be guessable, = you must not create a new Random for each random +number; the values are too easily guessable. You should strongly consider = using a java.security.SecureRandom instead +(and avoid allocating a new SecureRandom for each random number needed). +

+ + = +

+BC_UNCONFIRMED_CAST: Unchecked/unconfirmed= cast +

+ +

+This cast is unchecked, and not all instances of the type casted from can = be cast to +the type it is being cast to. Ensure that your program logic ensures that = this +cast will not fail. +

+ + = +

+DM_NUMBER_CTOR: Method invokes inefficient Numb= er constructor; use static valueOf instead +

+ = +

+ Using new Integer(int) is guaranteed to always result i= n a new object whereas + Integer.valueOf(int) allows caching of values to be don= e by the compiler, class library, or JVM. + Using of cached values avoids object allocation and the code will be= faster. +

+

+ Values between -128 and 127 are guaranteed to have corresponding cac= hed instances + and using valueOf is approximately 3.5 times faster tha= n using constructor. + For values outside the constant range the performance of both styles= is the same. +

+

+ Unless the class must be compatible with JVMs predating Java 1.5, + use either autoboxing or the valueOf() method when crea= ting instances of + Long, Integer, Short, C= haracter, and Byte. +

+ = + = +

+DLS_DEAD_LOCAL_STORE: Dead store to local= variable +

+ +

+This instruction assigns a value to a local variable, +but the value is not read or used in any subsequent instruction. +Often, this indicates an error, because the value computed is never +used. +

+

+Note that Sun's javac compiler often generates dead stores for +final local variables. Because FindBugs is a bytecode-based tool, +there is no easy way to eliminate these false positives. +

+ + = +

+DM_GC: Explicit garbage collection; extremely dubious ex= cept in benchmarking code +

+ +

Code explicitly invokes garbage collection. + Except for specific use in benchmarking, this is very dubious.

+

In the past, situations where people have explicitly invoked + the garbage collector in routines such as close or finalize methods + has led to huge performance black holes. Garbage collection + can be expensive. Any situation that forces hundreds or thousands + of garbage collections will bring the machine to a crawl.

+ + = +

+DM_BOOLEAN_CTOR: Method invokes inefficient Bo= olean constructor; use Boolean.valueOf(...) instead +

+ +

Creating new instances of java.lang.Boolean wastes + memory, since Boolean objects are immutable and there are + only two useful values of this type.  Use the Boolean.valueOf= () + method (or Java 1.5 autoboxing) to create Boolean objects i= nstead.

+ + = +

+DM_STRING_CTOR: Method invokes inefficient new = String(String) constructor +

+ +

Using the java.lang.String(String) constructor wastes m= emory + because the object so constructed will be functionally indistinguishable + from the String passed as a parameter.  Just use the + argument String directly.

+ + = +

+DM_EXIT: Method invokes System.exit(...) +

+ +

Invoking System.exit shuts down the entire Java virtual machine. This + should only been done when it is appropriate. Such calls make it + hard or impossible for your code to be invoked by other code. + Consider throwing a RuntimeException instead.

+ + = +

+DMI_USELESS_SUBSTRING: Invocation of sub= string(0), which returns the original value +

+ +

+This code invokes substring(0) on a String, which returns the original val= ue. +

+ + = +

+DP_CREATE_CLASSLOAD= ER_INSIDE_DO_PRIVILEGED: Classloaders should only be created inside doPrivi= leged block +

+ +

This code creates a classloader, which requires a security manager. + If this code will be granted security permissions, but might be invoked = by code that does not + have security permissions, then the classloader creation needs to occur = inside a doPrivileged block.

+ + = +

+EI_EXPOSE_REP: May expose internal representatio= n by returning reference to mutable object +

+ +

Returning a reference to a mutable object value stored in one of the= object's fields + exposes the internal representation of the object.  + If instances + are accessed by untrusted code, and unchecked changes to + the mutable object would compromise security or other + important properties, you will need to do something different. + Returning a new copy of the object is better approach in many situations= .

+ + = +

+EI_EXPOSE_REP2: May expose internal representat= ion by incorporating reference to mutable object +

+ +

This code stores a reference to an externally mutable object into the + internal representation of the object.  + If instances + are accessed by untrusted code, and unchecked changes to + the mutable object would compromise security or other + important properties, you will need to do something different. + Storing a copy of the object is better approach in many situations.

+ + = +

+EQ_UNUSUAL: Unusual equals method +

+ +

This class doesn't do any of the patterns we recognize for checking = that the type of the argument = +is compatible with the type of the this object. There might n= ot be anything wrong with +this code, but it is worth reviewing. +

+ + = +

+ES_COMPARING_STRINGS_WITH_EQ: Com= parison of String objects using =3D=3D or !=3D +

+ +

This code compares java.lang.String objects for reference +equality using the =3D=3D or !=3D operators. +Unless both strings are either constants in a source file, or have been +interned using the String.intern() method, the same string +value may be represented by two different String objects. Consider +using the equals(Object) method instead.

+ + = +

+HE_EQUALS_USE_HASHCODE: Class defines e= quals() and uses Object.hashCode() +

+ +

This class overrides equals(Object), but does not + override hashCode(), and inherits the implementation of + hashCode() from java.lang.Object (which returns + the identity hash code, an arbitrary value assigned to the object + by the VM).  Therefore, the class is very likely to violate the + invariant that equal objects must have equal hashcodes.

+ +

If you don't think instances of this class will ever be inserted into a= HashMap/HashTable, +the recommended hashCode implementation to use is:

+
public int hashCode() {
+  assert false : "hashCode not designed";
+  return 42; // any arbitrary constant will do =

+  }
+ + = +

+IA_AMBIGU= OUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD: Ambiguous invocation of either= an inherited or outer method +

+ +

An inner class is invoking a method that could be resolved to either= a inherited method or a method defined in an outer class. By the Java sema= ntics, +it will be resolved to invoke the inherited method, but this may not be wa= nt +you intend. If you really intend to invoke the inherited method, +invoke it by invoking the method on super (e.g., invoke super.foo(17)), and +thus it will be clear to other readers of your code and to FindBugs +that you want to invoke the inherited method, not the method in the outer = class. +

+ + = +

+ICAST_IDIV_CAST_TO_DOUBLE: integral = division result cast to double or float +

+ +

+This code casts the result of an integral division (e.g., int or long divi= sion) +operation to double or = +float. +Doing division on integers truncates the result +to the integer value closest to zero. The fact that the result +was cast to double suggests that this precision should have been retained. +What was probably meant was to cast one or both of the operands to +double before performing the division. Here is an example: +

+
+
+int x =3D 2;
+int y =3D 5;
+// Wrong: yields result 0.0
+double value1 =3D  x / y;
+
+// Right: yields result 0.4
+double value2 =3D  x / (double) y;
+
+
+ + = +

+IS2_INCONSISTENT_SYNC: Inconsistent sync= hronization +

+ +

The fields of this class appear to be accessed inconsistently with r= espect + to synchronization.  This bug report indicates that the bug pattern= detector + judged that +

+ + +

A typical bug matching this bug pattern is forgetting to synchronize + one of the methods in a class that is intended to be thread-safe.

+ +

You can select the nodes labeled "Unsynchronized access" to show the + code locations where the detector believed that a field was accessed + without synchronization.

+ +

Note that there are various sources of inaccuracy in this detector; + for example, the detector cannot statically detect all situations in whi= ch + a lock is held.  Also, even when the detector is accurate in + distinguishing locked vs. unlocked accesses, the code in question may st= ill + be correct.

+ + + = +

+MF_CLASS_MASKS_FIELD: Class defines field= that masks a superclass field +

+ +

This class defines a field with the same name as a visible +instance field in a superclass. This is confusing, and +may indicate an error if methods update or access one of +the fields when they wanted the other.

+ + = +

+ML_SYNC_ON_UPDATED_FIELD: Method sync= hronizes on an updated field +

+ +

This method synchronizes on an object + referenced from a mutable field. + This is unlikely to have useful semantics, since different +threads may be synchronizing on different objects.

+ + = +

+MS_SHOULD_BE_FINAL: Field isn't final but s= hould be +

+ +

+ A mutable static field could be changed by malicious code or + by accident from another package. + The field could be made final to avoid + this vulnerability.

+ + = +

+MS_PKGPROTECT: Field should be package protected= +

+ +

A mutable static field could be changed by malicious code or + by accident. + The field could be made package protected to avoid + this vulnerability.

+ + = +

+NM_CLASS_NOT_EXCEPTION: Class is not de= rived from an Exception, even though it is named as such +

+ +

This class is not derived from another exception, but ends with 'Excep= tion'. This will +be confusing to users of this class.

+ + = +

+NN_NAKED_NOTIFY: Naked notify +

+ +

A call to notify() or notifyAll() + was made without any (apparent) accompanying + modification to mutable object state.  In general, calling a notify + method on a monitor is done because some condition another thread is + waiting for has become true.  However, for the condition to be mean= ingful, + it must involve a heap object that is visible to both threads.

+ +

This bug does not necessarily indicate an error, since the change to + mutable object state may have taken place in a method which then called + the method containing the notification.

+ + = +

+NP_EQUALS_SHOULD_HANDLE_= NULL_ARGUMENT: equals() method does not check for null argument +

+ = +

+ This implementation of equals(Object) violates the contract defined + by java.lang.Object.equals() because it does not check for null + being passed as the argument. All equals() methods should return + false if passed a null value. +

+ = + = +

+NP_LOAD_OF_KNOWN_NULL_VALUE: Load = of known null value +

+ +

The variable referenced at this point is known to be null due to an = earlier + check against null. Although this is valid, it might be a mistake (perh= aps you +intended to refer to a different variable, or perhaps the earlier check to= see if the +variable is null should have been a check to see if it was nonnull). +

+ + = +

+NP_GUARANTEED_DEREF: Null value is guarant= eed to be dereferenced +

+ = +

+ There is a statement or branch that if executed guarantees that + a value is null at this point, and that = + value that is guaranteed to be dereferenced + (except on forward paths involving runtime exceptions). +

+ = + = +

+NP_NULL_ON_SOME_PATH: Possible null point= er dereference +

+ +

There is a branch of statement that, if executed, guarantees= that +a null value will be dereferenced, which +would generate a NullPointerException when the code is execut= ed. +Of course, the problem might be that the branch or statement is infeasible= and that +the null pointer exception can't ever be executed; deciding that is beyond= the ability of FindBugs. +

+ + = +

+NP_NULL_ON_SOME_PATH_FR= OM_RETURN_VALUE: Possible null pointer dereference due to return value of c= alled method +

+ = +

The return value from a method is dereferenced without a null check, +and the return value of that method is one that should generally be checked +for null. This may lead to a NullPointerException when the c= ode is executed. +

+ = + = +

+NP_NULL_ON_SOME_PATH_EXCEPTION:= Possible null pointer dereference in method on exception path +

+ +

A reference value which is null on some exception control path is +dereferenced here.  This may lead to a NullPointerException +when the code is executed.  +Note that because FindBugs currently does not prune infeasible exception p= aths, +this may be a false warning.

+ +

Also note that FindBugs considers the default case of a switch stateme= nt to +be an exception path, since the default case is often infeasible.

+ + = +

+OBL_UNSATISFIED_OBLIGATION: Method = may fail to clean up stream or resource +

+ = +

+ This method may fail to clean up (close, dispose of) a stream, + database object, or other + resource requiring an explicit cleanup operation. +

+ = +

+ In general, if a method opens a stream or other resource, + the method should use a try/finally block to ensure that + the stream or resource is cleaned up before the method + returns. +

+ = +

+ This bug pattern is essentially the same as the + OS_OPEN_STREAM and ODR_OPEN_DATABASE_RESOURCE + bug patterns, but is based on a different + (and hopefully better) static analysis technique. + We are interested is getting feedback about the + usefulness of this bug pattern. + To send feedback, either: +

+ + = +

+ In particular, + the false-positive suppression heuristics for this + bug pattern have not been extensively tuned, so + reports about false positives are helpful to us. +

+ = +

+ See Weimer and Necula, Finding and Preventing Run-Time Error Handli= ng Mistakes, for + a description of the analysis technique. +

+ = + = +

+OS_OPEN_STREAM: Method may fail to close stream= +

+ +

The method creates an IO stream object, does not assign it to any +fields, pass it to other methods that might close it, = +or return it, and does not appear to close +the stream on all paths out of the method.  This may result in +a file descriptor leak.  It is generally a good +idea to use a finally block to ensure that streams are +closed.

+ + = +

+RCN_REDUNDANT_NU= LLCHECK_WOULD_HAVE_BEEN_A_NPE: Nullcheck of value previously dereferenced +

+ +

A value is checked here to see whether it is null, but this value can't +be null because it was previously dereferenced and if it were null a null = pointer +exception would have occurred at the earlier dereference. = +Essentially, this code and the previous dereference +disagree as to whether this value is allowed to be null. Either the check = is redundant +or the previous dereference is erroneous.

+ + = +

+REC_CATCH_EXCEPTION: Exception is caught w= hen Exception is not thrown +

+ = +

+ This method uses a try-catch block that catches Exception objects, but E= xception is not + thrown within the try block, and RuntimeException is not explicitly caug= ht. It is a common bug pattern to + say try { ... } catch (Exception e) { something } as a shorthand for cat= ching a number of types of exception + each of whose catch blocks is identical, but this construct also acciden= tally catches RuntimeException as well, + masking potential bugs. +

+ = + = +

+SR_NOT_CHECKED: Method ignores results of Input= Stream.skip() +

+ +

This method ignores the return value of + java.io.InputStream.skip() which can skip multiple bytes.&n= bsp; + If the return value is not checked, the caller will not be able to corre= ctly + handle the case where fewer bytes were skipped than the caller requested= .  + This is a particularly insidious kind of bug, because in many programs, + skips from input streams usually do skip the full amount of data request= ed, + causing the program to fail only sporadically. With Buffered streams, ho= wever, + skip() will only skip data in the buffer, and will routinely fail to ski= p the + requested number of bytes.

+ + = +

+RV_RETURN_VALUE_IGNORED_B= AD_PRACTICE: Method ignores exceptional return value +

+ +

This method returns a value that is not checked. The return value s= hould be checked +since it can indicate an unusual or unexpected function execution. For +example, the File.delete() method returns false +if the file could not be successfully deleted (rather than = +throwing an Exception). +If you don't check the result, you won't notice if the method invocation +signals unexpected behavior by returning an atypical return value. +

+ + = +

+SA_LOCAL_DOUBLE_ASSIGNMENT: Double = assignment of local variable +

+ +

This method contains a double assignment of a local variable; e.g. +

+
+  public void foo() {
+    int x,y;
+    x =3D x =3D 17;
+  }
+
+

Assigning the same value to a variable twice is useless, and may indica= te a logic error or typo.

+ + = +

+SBSC_USE_STRINGBUFFER_CONC= ATENATION: Method concatenates strings using + in a loop +

+ +

The method seems to be building a String using concatenation in a loop. +In each iteration, the String is converted to a StringBuffer/StringBuilder, + appended to, and converted back to a String. + This can lead to a cost quadratic in the number of iterations, + as the growing string is recopied in each iteration.

+ +

Better performance can be obtained by using +a StringBuffer (or StringBuilder in Java 1.5) explicitly.

+ +

For example:

+
+  // This is bad
+  String s =3D "";
+  for (int i =3D 0; i < field.length; ++i) {
+    s =3D s + field[i];
+  }
+
+  // This is better
+  StringBuffer buf =3D new StringBuffer();
+  for (int i =3D 0; i < field.length; ++i) {
+    buf.append(field[i]);
+  }
+  String s =3D buf.toString();
+
+ + = +

+SC_START_IN_CTOR: Constructor invokes Thread.= start() +

+ +

The constructor starts a thread. This is likely to be wrong if + the class is ever extended/subclassed, since the thread will be started + before the subclass constructor is started.

+ + = +

+SE_BAD_FIELD: Non-transient non-serializable inst= ance field in serializable class +

+ +

This Serializable class defines a non-primitive instance field which i= s neither transient, +Serializable, or java.lang.Object, and does not appear to imp= lement +the Externalizable interface or the +readObject() and writeObject() methods.  +Objects of this class will not be deserialized correctly if a non-Serializ= able +object is stored in this field.

+ + = +

+SE_INNER_CLASS: Serializable inner class +

+ +

This Serializable class is an inner class. Any attempt to serialize +it will also serialize the associated outer instance. The outer instance i= s serializable, +so this won't fail, but it might serialize a lot more data than intended. +If possible, making the inner class a static inner class (also known as a = nested class) should solve the = +problem. = + + = +

+SIC_INNER_SHOULD_BE_STATIC: Should = be a static inner class +

+ +

This class is an inner class, but does not use its embedded reference + to the object which created it.  This reference makes the instances + of the class larger, and may keep the reference to the creator object + alive longer than necessary.  If possible, the class should be + made static. +

+ + = +

+ST_WRITE_TO_STATIC_FRO= M_INSTANCE_METHOD: Write to static field from instance method +

+ +

This instance method writes to a static field. This is tricky to get +correct if multiple instances are being manipulated, +and generally bad practice. +

+ + = +

+URF_UNREAD_FIELD: Unread field +

+ +

This field is never read.  Consider removing it from the class.=

+ + = +

+DMI_INVOKING_TOSTRING_ON_ARRAY:= Invocation of toString on an array +

+ +

+The code invokes toString on an array, which will generate a fairly useles= s result +such as [C(a)16f0472. Consider using Arrays.toString to convert the array = into a readable +String that gives the contents of the array. See Programming Puzzlers, cha= pter 3, puzzle 12. +

+ + = +

+UW_UNCOND_WAIT: Unconditional wait +

+ +

This method contains a call to java.lang.Object.wait() = which + is not guarded by conditional control flow.  The code should + verify that condition it intends to wait for is not already satisfied + before calling wait; any previous notifications will be ignored. +

+ + = +

+WA_NOT_IN_LOOP: Wait not in loop +

+ +

This method contains a call to java.lang.Object.wait() + which is not in a loop.  If the monitor is used for multiple condit= ions, + the condition the caller intended to wait for might not be the one + that actually occurred.

+ + = +

+WMI_WRONG_MAP_ITERATOR: Inefficient use= of keySet iterator instead of entrySet iterator +

+ +

This method accesses the value of a Map entry, using a key that was re= trieved from +a keySet iterator. It is more efficient to use an iterator on the entrySet= of the map, to avoid the +Map.get(key) lookup.

+ + + --===============7771323427322281107==--