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 @@ + + +
+Project: = +
+FindBugs version: 1.3.9
+Code analyzed:
+
+
+
+
28277 lines of code analyzed, + in 550 classes, = + in 84 packages.
+Metric | +Total | +Density* | +
---|---|---|
High Priority Warnings | +41 | +1.45 | +
Medium Priority Warnings | +235 | +8.31 | +
+Total Warnings + | ++276 + | ++9.76 + | +
+(* Defects per Thousand lines of non-commenting source statements) +
+
+
+
+
Warning Type | +Number | +
---|---|
+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 + | +
Click on a warning row to see full context information.
+Code | +Warning | +
---|---|
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+HE + | +org.jboss.remoting.InvokerRegistry$ClientInvokerHolder defines equals = and uses Object.hashCode() | +
+ |
+
+Bug type HE_EQUALS_USE_HASHCODE (click=
for details)
+ |
+
+HE + | +org.jboss.remoting.samples.http.ComplexObject defines equals and uses = Object.hashCode() | +
+ |
+
+Bug type HE_EQUALS_USE_HASHCODE (click=
for details)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+OS + | +org.jboss.remoting.samples.chat.utility.Parameters.getSecondaryParamet= erSources() may fail to close stream | +
+ |
+
+Bug type OS_OPEN_STREAM (click for details)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+Se + | +Class org.jboss.remoting.marshal.serializable.SerializableUnMarshaller= defines non-transient non-serializable instance field customClassLoader + |
+ |
+
+Bug type SE_BAD_FIELD (click for details)
+ |
+
+Se + | +org.jboss.remoting.samples.chat.utility.ReadWriteArrayList$Gate is ser= ializable and an inner class | +
+ |
+
+Bug type SE_INNER_CLASS (click for details)
+ |
+
+Se + | +Class org.jboss.remoting.socketfactory.CreationListenerServerSocketFac= tory defines non-transient non-serializable instance field listener | +
+ |
+
+Bug type SE_BAD_FIELD (click for details)
+ |
+
+Se + | +Class org.jboss.remoting.socketfactory.CreationListenerSocketFactory d= efines non-transient non-serializable instance field listener | +
+ |
+
+Bug type SE_BAD_FIELD (click for details)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
Code | +Warning | +
---|---|
+MF + | +Field HTTPSServerInvoker.serverSocketFactory masks field in superclass= org.jboss.remoting.ServerInvoker | +
+ |
+
+Bug type MF_CLASS_MASKS_FIELD (click for=
details)
+ |
+
+MF + | +Field MultiplexClientInvoker.clientSocketClassName masks field in supe= rclass org.jboss.remoting.transport.socket.MicroSocketClientInvoker | +
+ |
+
+Bug type MF_CLASS_MASKS_FIELD (click for=
details)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
Code | +Warning | +
---|---|
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
Code | +Warning | +
---|---|
+EI + | +org.jboss.remoting.detection.Detection.getServerInvokers() may expose = internal representation by returning Detection.serverInvokers | +
+ |
+
+Bug type EI_EXPOSE_REP (click for details)
+ |
+
+EI + | +org.jboss.remoting.detection.ServerInvokerMetadata.getSubSystems() may= expose internal representation by returning ServerInvokerMetadata.subSyste= ms | +
+ |
+
+Bug type EI_EXPOSE_REP (click for details)
+ |
+
+EI + | +org.jboss.remoting.invocation.NameBasedInvocation.getSignature() may e= xpose internal representation by returning NameBasedInvocation.sig | +
+ |
+
+Bug type EI_EXPOSE_REP (click for details)
+ |
+
+EI + | +org.jboss.remoting.invocation.RemoteInvocation.getParameters() may exp= ose internal representation by returning RemoteInvocation.params | +
+ |
+
+Bug type EI_EXPOSE_REP (click for details)
+ |
+
+EI + | +org.jboss.remoting.loading.ClassBytes.getClassBytes() may expose inter= nal representation by returning ClassBytes.classBytes | +
+ |
+
+Bug type EI_EXPOSE_REP (click for details)
+ |
+
+EI + | +org.jboss.remoting.network.NetworkInstance.getLocators() may expose in= ternal representation by returning NetworkInstance.locators | +
+ |
+
+Bug type EI_EXPOSE_REP (click for details)
+ |
+
+EI + | +org.jboss.remoting.network.NetworkInstance.getServerInvokers() may exp= ose internal representation by returning NetworkInstance.serverInvokers | +
+ |
+
+Bug type EI_EXPOSE_REP (click for details)
+ |
+
+EI + | +org.jboss.remoting.network.NetworkNotification.getLocator() may expose= internal representation by returning NetworkNotification.locators | +
+ |
+
+Bug type EI_EXPOSE_REP (click for details)
+ |
+
+EI + | +org.jboss.remoting.network.NetworkNotification.getServerInvokers() may= expose internal representation by returning NetworkNotification.serverInvo= kers | +
+ |
+
+Bug type EI_EXPOSE_REP (click for details)
+ |
+
+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)
+ |
+
+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)
+ |
+
+EI + | +org.jboss.remoting.stream.StreamCallPayload.getParams() may expose int= ernal representation by returning StreamCallPayload.paramArray | +
+ |
+
+Bug type EI_EXPOSE_REP (click for details)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+MS + | +org.jboss.remoting.InvokerLocator.legacyParsingFlag should be package = protected | +
+ |
+
+Bug type MS_PKGPROTECT (click for details)
+ |
+
+MS + | +org.jboss.remoting.InvokerLocator.log isn't final but should be | +
+ |
+
+Bug type MS_SHOULD_BE_FINAL (click for det=
ails)
+ |
+
+MS + | +org.jboss.remoting.loading.ObjectInputStreamWithClassLoader.clearMetho= d isn't final but should be | +
+ |
+
+Bug type MS_SHOULD_BE_FINAL (click for det=
ails)
+ |
+
+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)
+ |
+
+MS + | +org.jboss.remoting.samples.detection.jndi.SimpleDetectorServer.port sh= ould be package protected | +
+ |
+
+Bug type MS_PKGPROTECT (click for details)
+ |
+
+MS + | +org.jboss.remoting.samples.detection.jndi.SimpleDetectorServer.transpo= rt should be package protected | +
+ |
+
+Bug type MS_PKGPROTECT (click for details)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+MS + | +org.jboss.remoting.transport.socket.MicroSocketClientInvoker.getSocket= Time should be package protected | +
+ |
+
+Bug type MS_PKGPROTECT (click for details)
+ |
+
+MS + | +org.jboss.remoting.transport.socket.MicroSocketClientInvoker.readTime = should be package protected | +
+ |
+
+Bug type MS_PKGPROTECT (click for details)
+ |
+
+MS + | +org.jboss.remoting.transport.socket.MicroSocketClientInvoker.writeTime= should be package protected | +
+ |
+
+Bug type MS_PKGPROTECT (click for details)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+MS + | +org.jboss.remoting.transport.web.WebUtil.BINARY isn't final but should= be | +
+ |
+
+Bug type MS_SHOULD_BE_FINAL (click for det=
ails)
+ |
+
+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)
+ |
+
Code | +Warning | +
---|---|
+IS + | +Inconsistent synchronization of org.jboss.remoting.AbstractInvoker.cla= ssbyteloader; locked 50% of time | +
+ |
+
+Bug type IS2_INCONSISTENT_SYNC (click f=
or details)
+ |
+
+IS + | +Inconsistent synchronization of org.jboss.remoting.callback.CallbackPo= ller.reportStatistics; locked 50% of time | +
+ |
+
+Bug type IS2_INCONSISTENT_SYNC (click f=
or details)
+ |
+
+IS + | +Inconsistent synchronization of org.jboss.remoting.callback.DefaultCal= lbackErrorHandler.callbackHandler; locked 66% of time | +
+ |
+
+Bug type IS2_INCONSISTENT_SYNC (click f=
or details)
+ |
+
+IS + | +Inconsistent synchronization of org.jboss.remoting.callback.DefaultCal= lbackErrorHandler.handlerSubsystem; locked 50% of time | +
+ |
+
+Bug type IS2_INCONSISTENT_SYNC (click f=
or details)
+ |
+
+IS + | +Inconsistent synchronization of org.jboss.remoting.callback.DefaultCal= lbackErrorHandler.numOfErrorsAllowed; locked 50% of time | +
+ |
+
+Bug type IS2_INCONSISTENT_SYNC (click f=
or details)
+ |
+
+IS + | +Inconsistent synchronization of org.jboss.remoting.callback.DefaultCal= lbackErrorHandler.serverInvoker; locked 66% of time | +
+ |
+
+Bug type IS2_INCONSISTENT_SYNC (click f=
or details)
+ |
+
+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)
+ |
+
+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)
+ |
+
+IS + | +Inconsistent synchronization of org.jboss.remoting.transport.bisocket.= BisocketServerInvoker$ControlMonitorTimerTask.running; locked 80% of time= td> + |
+ |
+
+Bug type IS2_INCONSISTENT_SYNC (click f=
or details)
+ |
+
+IS + | +Inconsistent synchronization of org.jboss.remoting.transport.multiplex= .MultiplexingInputStream.readException; locked 88% of time | +
+ |
+
+Bug type IS2_INCONSISTENT_SYNC (click f=
or details)
+ |
+
+IS + | +Inconsistent synchronization of org.jboss.remoting.transport.multiplex= .MultiplexingManager.createdForRemoteServerSocket; locked 50% of time | +
+ |
+
+Bug type IS2_INCONSISTENT_SYNC (click f=
or details)
+ |
+
+IS + | +Inconsistent synchronization of org.jboss.remoting.transport.multiplex= .MultiplexingManager.inputThread; locked 57% of time | +
+ |
+
+Bug type IS2_INCONSISTENT_SYNC (click f=
or details)
+ |
+
+IS + | +Inconsistent synchronization of org.jboss.remoting.transport.multiplex= .MultiplexingManager.remoteServerSocketRegistered; locked 71% of time | +
+ |
+
+Bug type IS2_INCONSISTENT_SYNC (click f=
or details)
+ |
+
+IS + | +Inconsistent synchronization of org.jboss.remoting.transport.multiplex= .MultiplexingManager.remoteSocketAddress; locked 55% of time | +
+ |
+
+Bug type IS2_INCONSISTENT_SYNC (click f=
or details)
+ |
+
+IS + | +Inconsistent synchronization of org.jboss.remoting.transport.multiplex= .MultiplexingManager.socket; locked 81% of time | +
+ |
+
+Bug type IS2_INCONSISTENT_SYNC (click f=
or details)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+NN + | +Naked notify in org.jboss.remoting.transport.bisocket.BisocketClientIn= voker.handleDisconnect() | +
+ | + + | +
+SC + | +new org.jboss.remoting.samples.callback.CallbackServer$SampleInvocatio= nHandler() invokes Thread.start() | +
+ |
+
+Bug type SC_START_IN_CTOR (click for details=
)
+ |
+
+SC + | +new org.jboss.remoting.samples.callback.statistics.CallbackServer$Samp= leInvocationHandler() invokes Thread.start() | +
+ |
+
+Bug type SC_START_IN_CTOR (click for details=
)
+ |
+
+SC + | +new org.jboss.remoting.samples.multiplex.invoker.MultiplexInvokerServe= r$SampleInvocationHandler() invokes Thread.start() | +
+ |
+
+Bug type SC_START_IN_CTOR (click for details=
)
+ |
+
+UW + | +Unconditional wait in org.jboss.remoting.callback.BlockingCallbackStor= e.add(Serializable) | +
+ |
+
+Bug type UW_UNCOND_WAIT (click for details)
+ |
+
+Wa + | +Wait not in loop in org.jboss.remoting.callback.BlockingCallbackStore.= add(Serializable) | +
+ |
+
+Bug type WA_NOT_IN_LOOP (click for details)
+ |
+
+Wa + | +Wait not in loop in org.jboss.remoting.transport.multiplex.SocketId.ge= tFreePort() | +
+ |
+
+Bug type WA_NOT_IN_LOOP (click for details)
+ |
+
Code | +Warning | +
---|---|
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+Dm + | +org.jboss.remoting.InvokerLocator.setUseLegacyParsing(boolean) invokes= inefficient Boolean constructor; use Boolean.valueOf(...) instead | +
+ | + + | +
+Dm + | +org.jboss.remoting.loading.CompressedClassBytes.main(String[]) invokes= inefficient new String(String) constructor | +
+ |
+
+Bug type DM_STRING_CTOR (click for details)
+ |
+
+Dm + | +org.jboss.remoting.ServerInvoker.invoke(InvocationRequest) invokes ine= fficient Boolean constructor; use Boolean.valueOf(...) instead | +
+ | + + | +
+Dm + | +org.jboss.remoting.stream.StreamServer$Handler.invoke(InvocationReques= t) invokes inefficient Boolean constructor; use Boolean.valueOf(...) instea= d | +
+ | + + | +
+Dm + | +org.jboss.remoting.transport.coyote.CoyoteInvoker.<static initializ= er>() invokes inefficient Boolean constructor; use Boolean.valueOf(...) = instead | +
+ | + + | +
+Dm + | +org.jboss.remoting.transport.coyote.CoyoteInvoker.addLeaseInfo(Respons= eMap) invokes inefficient Boolean constructor; use Boolean.valueOf(...) ins= tead | +
+ | + + | +
+Dm + | +org.jboss.remoting.transport.coyote.CoyoteInvoker.setProperty(Object, = String, String) invokes inefficient Boolean constructor; use Boolean.valueO= f(...) instead | +
+ | + + | +
+Dm + | +org.jboss.remoting.transport.http.HTTPClientInvoker.checkForLeasePing(= HttpURLConnection, Object, Map) invokes inefficient Boolean constructor; us= e Boolean.valueOf(...) instead | +
+ | + + | +
+Dm + | +org.jboss.remoting.transport.web.WebServerInvoker.addLeaseInfo(Map) in= vokes inefficient Boolean constructor; use Boolean.valueOf(...) instead | +
+ | + + | +
+SBSC + | +Method org.jboss.remoting.detection.Detection.toString() concatenates = strings using + in a loop | +
+ |
+
+Bug type SBSC_USE_STRINGB=
UFFER_CONCATENATION (click for details)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+SIC + | +Should org.jboss.remoting.AbstractInvoker$CallbackHandlerHolder be a _= static_ inner class? | +
+ |
+
+Bug type SIC_INNER_SHOULD_BE_STATI=
C (click for details)
+ |
+
+SIC + | +Should org.jboss.remoting.AbstractInvoker$CallbackLocatorHolder be a _= static_ inner class? | +
+ |
+
+Bug type SIC_INNER_SHOULD_BE_STATI=
C (click for details)
+ |
+
+SIC + | +Should org.jboss.remoting.callback.NullCallbackStore$FailedCallback be= a _static_ inner class? | +
+ |
+
+Bug type SIC_INNER_SHOULD_BE_STATI=
C (click for details)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+SIC + | +Should org.jboss.remoting.ServerInvoker$CallbackContainer be a _static= _ inner class? | +
+ |
+
+Bug type SIC_INNER_SHOULD_BE_STATI=
C (click for details)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+UrF + | +Unread field: org.jboss.remoting.samples.chat.client.LocalStrategy$3.r= emoteChatServerWrapper | +
+ |
+
+Bug type URF_UNREAD_FIELD (click for details=
)
+ |
+
+UrF + | +Unread field: org.jboss.remoting.transport.coyote.InputBuffer.bytesRea= d | +
+ |
+
+Bug type URF_UNREAD_FIELD (click for details=
)
+ |
+
+UrF + | +Unread field: org.jboss.remoting.transport.coyote.InputBuffer.charsRea= d | +
+ |
+
+Bug type URF_UNREAD_FIELD (click for details=
)
+ |
+
+UrF + | +Unread field: org.jboss.remoting.transport.coyote.InputBuffer.inputChu= nk | +
+ |
+
+Bug type URF_UNREAD_FIELD (click for details=
)
+ |
+
+UrF + | +Unread field: org.jboss.remoting.transport.multiplex.InputMultiplexor$= MultiGroupInputThread.info | +
+ |
+
+Bug type URF_UNREAD_FIELD (click for details=
)
+ |
+
+UrF + | +Unread field: org.jboss.remoting.transport.multiplex.InputMultiplexor$= SingleGroupInputThread.debug | +
+ |
+
+Bug type URF_UNREAD_FIELD (click for details=
)
+ |
+
+UrF + | +Unread field: org.jboss.remoting.transport.multiplex.InputMultiplexor$= SingleGroupInputThread.info | +
+ |
+
+Bug type URF_UNREAD_FIELD (click for details=
)
+ |
+
+UrF + | +Unread field: org.jboss.remoting.transport.multiplex.MultiplexingManag= er$ShutdownManager$ShutdownMonitorTimerTask.cancelled | +
+ |
+
+Bug type URF_UNREAD_FIELD (click for details=
)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
Code | +Warning | +
---|---|
+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)
+ |
+
+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)
+ |
+
+DLS + | +Dead store to obj in org.jboss.remoting.loading.CompressedClassBytes.m= ain(String[]) | +
+ |
+
+Bug type DLS_DEAD_LOCAL_STORE (click for=
details)
+ |
+
+DLS + | +Dead store to count in org.jboss.remoting.loading.CompressedClassBytes= .readExternal(ObjectInput) | +
+ |
+
+Bug type DLS_DEAD_LOCAL_STORE (click for=
details)
+ |
+
+DLS + | +Dead store to CloseableFrame in org.jboss.remoting.samples.chat.client= .CloseableFrame.main(String[]) | +
+ |
+
+Bug type DLS_DEAD_LOCAL_STORE (click for=
details)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+DLS + | +Dead store to locatorURI in org.jboss.remoting.samples.stream.Streamin= gClient.main(String[]) | +
+ |
+
+Bug type DLS_DEAD_LOCAL_STORE (click for=
details)
+ |
+
+DLS + | +Dead store to port in org.jboss.remoting.transport.coyote.CoyoteInvoke= r.start() | +
+ |
+
+Bug type DLS_DEAD_LOCAL_STORE (click for=
details)
+ |
+
+DLS + | +Dead store to originalPort in org.jboss.remoting.transport.multiplex.M= ultiplexServerInvoker.setBindingInfo() | +
+ |
+
+Bug type DLS_DEAD_LOCAL_STORE (click for=
details)
+ |
+
+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)
+ |
+
+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)
+ |
+
+Eq + | +org.jboss.remoting.network.NetworkInstance.equals(Object) is unusual= td> + |
+ |
+
+Bug type EQ_UNUSUAL (click for details)
+ |
+
+IA + | +Ambiguous invocation of either an outer or inherited method java.util.= TimerTask.cancel() in org.jboss.remoting.ConnectionValidator$WaitOnConnecti= onCheckTimerTask.run() | +
+ | + + | +
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
+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)
+ |
+
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). +
+ + = ++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. +
+ + = +
+ 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
.
+
+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. +
+ + = +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.
+ + = + 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.
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.
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.
+ + = ++This code invokes substring(0) on a String, which returns the original val= ue. +
+ + = +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.
+ + = +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= .
+ + = +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.
+ + = + 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.
+
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.
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 = + }+ + = +
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. +
+ + = ++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; ++
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.
+ + + = +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.
+ + = +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.
+ + = ++ 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.
+ + = +A mutable static field could be changed by malicious code or + by accident. + The field could be made package protected to avoid + this vulnerability.
+ + = +This class is not derived from another exception, but ends with 'Excep= tion'. This will +be confusing to users of this class.
+ + = + 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.
+ + = ++ 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. +
+ = + = +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). +
+ + = ++ 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). +
+ = + = + 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.
+
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.
+
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.
+ + = ++ 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. +
+ = + = + 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.
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.
+ + = ++ 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. +
+ = + = + 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.
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.
+
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.
+ + = +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(); ++ + = +
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.
+ + = + 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.
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. = + + = +
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. +
+ + = +This instance method writes to a static field. This is tricky to get +correct if multiple instances are being manipulated, +and generally bad practice. +
+ + = +This field is never read. Consider removing it from the class.=
+ + = ++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. +
+ + = + 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.
+
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.
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==--