Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FindBugs - Reconsider filters and cleanup some issues #96

Merged
merged 24 commits into from
Aug 9, 2016

Conversation

oleg-nenashev
Copy link
Member

@oleg-nenashev oleg-nenashev commented Aug 3, 2016

I would like to restore FindBugs checks in the code. Current filters hide away much real issues, and I would rather admit issues and try to fix it instead of hiding my head in sand.

  • Update FB maven plugin to 3.0.4
  • Drop original filters, which were hiding much stuff
  • Fix/suppress low-hanging fruits

@reviewbybees

@ghost
Copy link

ghost commented Aug 3, 2016

This pull request originates from a CloudBees employee. At CloudBees, we require that all pull requests be reviewed by other CloudBees employees before we seek to have the change accepted. If you want to learn more about our process please see this explanation.

@@ -155,12 +156,6 @@ THE SOFTWARE.
<optional>true</optional><!-- no need to have this at runtime -->
</dependency>
<dependency>
<groupId>com.github.stephenc.findbugs</groupId>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@stephenc I think it's no longer required, right? Or is it a licensing issue again?

@oleg-nenashev
Copy link
Member Author

[INFO] Fork Value is true
     [java] Warnings generated: 89
[INFO] Done FindBugs Analysis....
[WARNING] Can't resolve absolute file name for file ConstantPool.java, dir list = [/scratch/jenkins/workspace/libraries/remoting/src/main/java, /scratch/jenkins/workspace/libraries/remoting/target/generated-sources/localizer, /scratch/jenkins/workspace/libraries/remoting/src/test/java]
[WARNING] Can't resolve absolute file name for file MemberRefConstant.java
[WARNING] Can't resolve absolute file name for file MemberRefConstant.java
[WARNING] Can't resolve absolute file name for file MemberRefConstant.java
[FINDBUGS] Finding all files that match the pattern findbugsXml.xml
[FINDBUGS] Parsing 1 file in /scratch/jenkins/workspace/libraries/remoting/target
[FINDBUGS] Successfully parsed file /scratch/jenkins/workspace/libraries/remoting/target/findbugsXml.xml of module Jenkins remoting layer with 88 unique warnings and 1 duplicate.
[FINDBUGS] Computing warning deltas based on reference build #257
[CHECKSTYLE] No report found for mojo check[INFO] 
[INFO] <<< findbugs-maven-plugin:3.0.4:check (default) < :findbugs @ remoting <<<
[INFO] 
[INFO] --- findbugs-maven-plugin:3.0.4:check (default) @ remoting ---

[INFO] BugInstance size is 89
[INFO] Error size is 0
[INFO] Total bugs: 89
[INFO] Wait not in loop in hudson.remoting.AsyncFutureImpl.get(long, TimeUnit) [hudson.remoting.AsyncFutureImpl] At AsyncFutureImpl.java:[line 83] WA_NOT_IN_LOOP
[INFO] Should hudson.remoting.Base64.decode(String) return a zero length array rather than null? [hudson.remoting.Base64, hudson.remoting.Base64, hudson.remoting.Base64, hudson.remoting.Base64, hudson.remoting.Base64, hudson.remoting.Base64, hudson.remoting.Base64] At Base64.java:[line 199]At Base64.java:[line 206]At Base64.java:[line 229]At Base64.java:[line 243]At Base64.java:[line 255]At Base64.java:[line 263]At Base64.java:[line 270] PZLA_PREFER_ZERO_LENGTH_ARRAYS
[INFO] hudson.remoting.CallableDecoratorAdapter.equals(Object) does not check for null argument [hudson.remoting.CallableDecoratorAdapter] At CallableDecoratorAdapter.java:[lines 28-31] NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT
[INFO] hudson.remoting.Capability.read(InputStream) may fail to close stream [hudson.remoting.Capability] At Capability.java:[line 124] OS_OPEN_STREAM
[INFO] hudson.remoting.Capability.writePreamble(OutputStream) may fail to close stream [hudson.remoting.Capability] At Capability.java:[line 114] OS_OPEN_STREAM
[INFO] hudson.remoting.Channel.getProperty(ChannelProperty) is unsynchronized, hudson.remoting.Channel.setProperty(Object, Object) is synchronized [hudson.remoting.Channel] At Channel.java:[line 1193] UG_SYNC_SET_UNSYNC_GET
[INFO] Format string should use %n rather than \n in hudson.remoting.Channel.dumpPerformanceCounters(PrintWriter) [hudson.remoting.Channel] At Channel.java:[line 1127] VA_FORMAT_STRING_USES_NEWLINE
[INFO] Format string should use %n rather than \n in hudson.remoting.Channel.dumpPerformanceCounters(PrintWriter) [hudson.remoting.Channel] At Channel.java:[line 1128] VA_FORMAT_STRING_USES_NEWLINE
[INFO] Format string should use %n rather than \n in hudson.remoting.Channel.dumpPerformanceCounters(PrintWriter) [hudson.remoting.Channel] At Channel.java:[line 1129] VA_FORMAT_STRING_USES_NEWLINE
[INFO] Format string should use %n rather than \n in hudson.remoting.Channel.dumpPerformanceCounters(PrintWriter) [hudson.remoting.Channel] At Channel.java:[line 1130] VA_FORMAT_STRING_USES_NEWLINE
[INFO] Format string should use %n rather than \n in hudson.remoting.Channel.dumpPerformanceCounters(PrintWriter) [hudson.remoting.Channel] At Channel.java:[line 1131] VA_FORMAT_STRING_USES_NEWLINE
[INFO] hudson.remoting.ChannelBuilder.getProperties() may expose internal representation by returning ChannelBuilder.properties [hudson.remoting.ChannelBuilder] At ChannelBuilder.java:[line 277] EI_EXPOSE_REP
[INFO] Switch statement found in hudson.remoting.ChannelBuilder.negotiate(InputStream, OutputStream) where default case is missing [hudson.remoting.ChannelBuilder] At ChannelBuilder.java:[lines 371-392] SF_SWITCH_NO_DEFAULT
[INFO] Return value of putIfAbsent is ignored, but checksum is reused in hudson.remoting.Checksum.calculateFor(URL) [hudson.remoting.Checksum] At Checksum.java:[line 111] RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED
[INFO] Private method hudson.remoting.ChunkedOutputStream.frameSize() is never called [hudson.remoting.ChunkedOutputStream] At ChunkedOutputStream.java:[line 34] UPM_UNCALLED_PRIVATE_METHOD
[INFO] Non serializable hudson.remoting.RemoteClassLoader$IClassLoader written to ObjectOutput in hudson.remoting.ClassLoaderHolder.writeObject(ObjectOutputStream) [hudson.remoting.ClassLoaderHolder] At ClassLoaderHolder.java:[line 44] DMI_NONSERIALIZABLE_OBJECT_WRITTEN
[INFO] hudson.remoting.DiagnosedStreamCorruptionException.getReadAhead() may expose internal representation by returning DiagnosedStreamCorruptionException.readAhead [hudson.remoting.DiagnosedStreamCorruptionException] At DiagnosedStreamCorruptionException.java:[line 33] EI_EXPOSE_REP
[INFO] hudson.remoting.DiagnosedStreamCorruptionException.getReadBack() may expose internal representation by returning DiagnosedStreamCorruptionException.readBack [hudson.remoting.DiagnosedStreamCorruptionException] At DiagnosedStreamCorruptionException.java:[line 29] EI_EXPOSE_REP
[INFO] Should hudson.remoting.DumbClassLoaderBridge.getResources2(String) return a zero length array rather than null? [hudson.remoting.DumbClassLoaderBridge] At DumbClassLoaderBridge.java:[line 65] PZLA_PREFER_ZERO_LENGTH_ARRAYS
[INFO] Format string should use %n rather than \n in hudson.remoting.Engine.connect(String, String) [hudson.remoting.Engine] At Engine.java:[line 380] VA_FORMAT_STRING_USES_NEWLINE
[INFO] Unwritten field: hudson.remoting.ExportTable$Entry.recorder [hudson.remoting.ExportTable$Entry] At ExportTable.java:[line 107] UWF_UNWRITTEN_FIELD
[INFO] Format string should use %n rather than \n in hudson.remoting.ExportTable$Entry.dump(PrintWriter) [hudson.remoting.ExportTable$Entry] At ExportTable.java:[line 154] VA_FORMAT_STRING_USES_NEWLINE
[INFO] hudson.remoting.ExportTable$ExportList is serializable but also an inner class of a non-serializable class [hudson.remoting.ExportTable$ExportList] At ExportTable.java:[lines 238-252] SE_BAD_FIELD_INNER_CLASS
[INFO] Return value of Throwable.getStackTrace() ignored, but method has no side effect [hudson.remoting.ExportTable$Source] At ExportTable.java:[line 208] RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT
[INFO] Exceptional return value of java.io.File.mkdirs() ignored in new hudson.remoting.FileSystemJarCache(File, boolean) [hudson.remoting.FileSystemJarCache] At FileSystemJarCache.java:[line 39] RV_RETURN_VALUE_IGNORED_BAD_PRACTICE
[INFO] Exceptional return value of java.io.File.setLastModified(long) ignored in hudson.remoting.FileSystemJarCache.lookInCache(Channel, long, long) [hudson.remoting.FileSystemJarCache] At FileSystemJarCache.java:[line 47] RV_RETURN_VALUE_IGNORED_BAD_PRACTICE
[INFO] Exceptional return value of java.io.File.delete() ignored in hudson.remoting.FileSystemJarCache.retrieve(Channel, long, long) [hudson.remoting.FileSystemJarCache] At FileSystemJarCache.java:[line 109] RV_RETURN_VALUE_IGNORED_BAD_PRACTICE
[INFO] Exceptional return value of java.io.File.mkdirs() ignored in hudson.remoting.FileSystemJarCache.retrieve(Channel, long, long) [hudson.remoting.FileSystemJarCache] At FileSystemJarCache.java:[line 67] RV_RETURN_VALUE_IGNORED_BAD_PRACTICE
[INFO] Format string should use %n rather than \n in hudson.remoting.FileSystemJarCache.retrieve(Channel, long, long) [hudson.remoting.FileSystemJarCache] At FileSystemJarCache.java:[line 100] VA_FORMAT_STRING_USES_NEWLINE
[INFO] Format string should use %n rather than \n in hudson.remoting.FileSystemJarCache.retrieve(Channel, long, long) [hudson.remoting.FileSystemJarCache] At FileSystemJarCache.java:[line 83] VA_FORMAT_STRING_USES_NEWLINE
[INFO] The class name hudson.remoting.Future shadows the simple name of implemented interface java.util.concurrent.Future [hudson.remoting.Future] In Future.java NM_SAME_SIMPLE_NAME_AS_INTERFACE
[INFO] Possible null pointer dereference in hudson.remoting.InitializeJarCacheMain.main(String[]) due to return value of called method [hudson.remoting.InitializeJarCacheMain, hudson.remoting.InitializeJarCacheMain] Dereferenced at InitializeJarCacheMain.java:[line 45]Known null at InitializeJarCacheMain.java:[line 44] NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE
[INFO] hudson.remoting.InitializeJarCacheMain.copyFile(File, File) may fail to clean up java.io.OutputStream on checked exception [hudson.remoting.InitializeJarCacheMain, hudson.remoting.InitializeJarCacheMain, hudson.remoting.InitializeJarCacheMain, hudson.remoting.InitializeJarCacheMain, hudson.remoting.InitializeJarCacheMain] Obligation to clean up resource created at InitializeJarCacheMain.java:[line 65] is not dischargedPath continues at InitializeJarCacheMain.java:[line 66]Path continues at InitializeJarCacheMain.java:[line 68]Path continues at InitializeJarCacheMain.java:[line 72]Path continues at InitializeJarCacheMain.java:[line 73] OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE
[INFO] hudson.remoting.InitializeJarCacheMain.copyFile(File, File) may fail to close stream on exception [hudson.remoting.InitializeJarCacheMain] At InitializeJarCacheMain.java:[line 65] OS_OPEN_STREAM_EXCEPTION_PATH
[INFO] Exceptional return value of java.io.File.mkdirs() ignored in hudson.remoting.InitializeJarCacheMain.main(String[]) [hudson.remoting.InitializeJarCacheMain] At InitializeJarCacheMain.java:[line 49] RV_RETURN_VALUE_IGNORED_BAD_PRACTICE
[INFO] Exceptional return value of java.util.concurrent.ExecutorService.submit(Runnable) ignored in hudson.remoting.JarCacheSupport.resolve(Channel, long, long) [hudson.remoting.JarCacheSupport] At JarCacheSupport.java:[line 61] RV_RETURN_VALUE_IGNORED_BAD_PRACTICE
[INFO] Invocation of reflect.Method.setAccessible(boolean), which should be invoked from within a doPrivileged block, in hudson.remoting.Launcher.addClasspath(String) [hudson.remoting.Launcher] At Launcher.java:[line 131] DP_DO_INSIDE_DO_PRIVILEGED
[INFO] Unread field: hudson.remoting.PipeWindow$Real.key [hudson.remoting.PipeWindow$Real] At PipeWindow.java:[line 176] URF_UNREAD_FIELD
[INFO] The field hudson.remoting.PreloadJarTask.target is transient but isn't set by deserialization [hudson.remoting.PreloadJarTask] In PreloadJarTask.java SE_TRANSIENT_FIELD_NOT_RESTORED
[INFO] ProxyOutputStream.java:[line 183] is set to null inside finalize method in hudson.remoting.ProxyOutputStream [hudson.remoting.ProxyOutputStream] At ProxyOutputStream.java:[line 183] FI_FINALIZER_NULLS_FIELDS
[INFO] ProxyWriter.java:[line 199] is set to null inside finalize method in hudson.remoting.ProxyWriter [hudson.remoting.ProxyWriter] At ProxyWriter.java:[line 199] FI_FINALIZER_NULLS_FIELDS
[INFO] Inconsistent synchronization of hudson.remoting.ProxyWriter.channel; locked 64% of time [hudson.remoting.ProxyWriter, hudson.remoting.ProxyWriter, hudson.remoting.ProxyWriter, hudson.remoting.ProxyWriter, hudson.remoting.ProxyWriter, hudson.remoting.ProxyWriter, hudson.remoting.ProxyWriter, hudson.remoting.ProxyWriter, hudson.remoting.ProxyWriter, hudson.remoting.ProxyWriter, hudson.remoting.ProxyWriter, hudson.remoting.ProxyWriter, hudson.remoting.ProxyWriter] Unsynchronized access at ProxyWriter.java:[line 166]Unsynchronized access at ProxyWriter.java:[line 166]Unsynchronized access at ProxyWriter.java:[line 167]Unsynchronized access at ProxyWriter.java:[line 167]Synchronized access at ProxyWriter.java:[line 110]Synchronized access at ProxyWriter.java:[line 157]Synchronized access at ProxyWriter.java:[line 157]Synchronized access at ProxyWriter.java:[line 77]Synchronized access at ProxyWriter.java:[line 81]Synchronized access at ProxyWriter.java:[line 179]Synchronized access at ProxyWriter.java:[line 184]Synchronized access at ProxyWriter.java:[line 184]Synchronized access at ProxyWriter.java:[line 185] IS2_INCONSISTENT_SYNC
[INFO] Inconsistent synchronization of hudson.remoting.ProxyWriter.oid; locked 80% of time [hudson.remoting.ProxyWriter, hudson.remoting.ProxyWriter, hudson.remoting.ProxyWriter, hudson.remoting.ProxyWriter, hudson.remoting.ProxyWriter] Unsynchronized access at ProxyWriter.java:[line 167]Synchronized access at ProxyWriter.java:[line 157]Synchronized access at ProxyWriter.java:[line 82]Synchronized access at ProxyWriter.java:[line 184]Synchronized access at ProxyWriter.java:[line 186] IS2_INCONSISTENT_SYNC
[INFO] Inconsistent synchronization of hudson.remoting.ProxyWriter.closed; locked 75% of time [hudson.remoting.ProxyWriter, hudson.remoting.ProxyWriter, hudson.remoting.ProxyWriter, hudson.remoting.ProxyWriter] Unsynchronized access at ProxyWriter.java:[line 101]Synchronized access at ProxyWriter.java:[line 92]Synchronized access at ProxyWriter.java:[line 175]Synchronized access at ProxyWriter.java:[line 176] IS2_INCONSISTENT_SYNC
[INFO] Format string should use %n rather than \n in hudson.remoting.ReferenceCountRecorder.dump(PrintWriter) [hudson.remoting.ReferenceCountRecorder] At ReferenceCountRecorder.java:[line 60] VA_FORMAT_STRING_USES_NEWLINE
[INFO] Format string should use %n rather than \n in hudson.remoting.ReferenceCountRecorder.dump(PrintWriter) [hudson.remoting.ReferenceCountRecorder] At ReferenceCountRecorder.java:[line 58] VA_FORMAT_STRING_USES_NEWLINE
[INFO] hudson.remoting.RemoteClassLoader.create(ClassLoader, RemoteClassLoader$IClassLoader) creates a hudson.remoting.RemoteClassLoader classloader, which should be performed within a doPrivileged block [hudson.remoting.RemoteClassLoader] At RemoteClassLoader.java:[line 113] DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED
[INFO] Invocation of reflect.Method.setAccessible(boolean), which should be invoked from within a doPrivileged block, in hudson.remoting.RemoteClassLoader.<static initializer for RemoteClassLoader>() [hudson.remoting.RemoteClassLoader] At RemoteClassLoader.java:[line 296] DP_DO_INSIDE_DO_PRIVILEGED
[INFO] hudson.remoting.RemoteClassLoader.findClass(String) calls Thread.sleep() with a lock held [hudson.remoting.RemoteClassLoader] At RemoteClassLoader.java:[line 243] SWL_SLEEP_WITH_LOCK_HELD
[INFO] The field hudson.remoting.RemoteClassLoader$ClassFile2.clazz is transient but isn't set by deserialization [hudson.remoting.RemoteClassLoader$ClassFile2] In RemoteClassLoader.java SE_TRANSIENT_FIELD_NOT_RESTORED
[INFO] hudson.remoting.RemoteClassLoader$ClassLoaderProxy.<static initializer for ClassLoaderProxy>() creates a hudson.remoting.RemoteClassLoader$ClassLoaderProxy$1 classloader, which should be performed within a doPrivileged block [hudson.remoting.RemoteClassLoader$ClassLoaderProxy] At RemoteClassLoader.java:[line 945] DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED
[INFO] Should hudson.remoting.RemoteClassLoader$ClassLoaderProxy.getResource(String) return a zero length array rather than null? [hudson.remoting.RemoteClassLoader$ClassLoaderProxy] At RemoteClassLoader.java:[line 876] PZLA_PREFER_ZERO_LENGTH_ARRAYS
[INFO] The field hudson.remoting.RemoteClassLoader$ResourceFile.local is transient but isn't set by deserialization [hudson.remoting.RemoteClassLoader$ResourceFile] In RemoteClassLoader.java SE_TRANSIENT_FIELD_NOT_RESTORED
[INFO] Possible null pointer dereference in hudson.remoting.RemoteInvocationHandler.invoke(Object, Method, Object[]) due to return value of called method [hudson.remoting.RemoteInvocationHandler, hudson.remoting.RemoteInvocationHandler] Dereferenced at RemoteInvocationHandler.java:[line 248]Known null at RemoteInvocationHandler.java:[line 248] NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE
[INFO] Possible null pointer dereference in hudson.remoting.RemoteInvocationHandler.invoke(Object, Method, Object[]) due to return value of called method [hudson.remoting.RemoteInvocationHandler, hudson.remoting.RemoteInvocationHandler] Dereferenced at RemoteInvocationHandler.java:[line 249]Known null at RemoteInvocationHandler.java:[line 249] NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE
[INFO] Invocation of reflect.Method.setAccessible(boolean), which should be invoked from within a doPrivileged block, in hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(Channel) [hudson.remoting.RemoteInvocationHandler$RPCRequest] At RemoteInvocationHandler.java:[line 881] DP_DO_INSIDE_DO_PRIVILEGED
[INFO] The field hudson.remoting.RemoteInvocationHandler$RPCRequest.classLoader is transient but isn't set by deserialization [hudson.remoting.RemoteInvocationHandler$RPCRequest] In RemoteInvocationHandler.java SE_TRANSIENT_FIELD_NOT_RESTORED
[INFO] Exceptional return value of java.util.concurrent.ExecutorService.submit(Runnable) ignored in hudson.remoting.SingleLaneExecutorService.execute(Runnable) [hudson.remoting.SingleLaneExecutorService] At SingleLaneExecutorService.java:[line 105] RV_RETURN_VALUE_IGNORED_BAD_PRACTICE
[INFO] Exceptional return value of java.util.concurrent.ExecutorService.submit(Runnable) ignored in hudson.remoting.SingleLaneExecutorService$1.run() [hudson.remoting.SingleLaneExecutorService$1] At SingleLaneExecutorService.java:[line 120] RV_RETURN_VALUE_IGNORED_BAD_PRACTICE
[INFO] Dead store to loaded in hudson.remoting.UserRequest.perform(Channel) [hudson.remoting.UserRequest] At UserRequest.java:[line 112] DLS_DEAD_LOCAL_STORE
[INFO] Class hudson.remoting.UserRequest defines non-transient non-serializable instance field classLoaderProxy [hudson.remoting.UserRequest] In UserRequest.java SE_BAD_FIELD
[INFO] The field hudson.remoting.UserRequest.exports is transient but isn't set by deserialization [hudson.remoting.UserRequest] In UserRequest.java SE_TRANSIENT_FIELD_NOT_RESTORED
[INFO] hudson.remoting.Util.makeResource(String, byte[]) may fail to clean up java.io.OutputStream on checked exception [hudson.remoting.Util, hudson.remoting.Util] Obligation to clean up resource created at Util.java:[line 58] is not dischargedPath continues at Util.java:[line 59] OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE
[INFO] hudson.remoting.Util.makeResource(String, byte[]) may fail to close stream on exception [hudson.remoting.Util] At Util.java:[line 58] OS_OPEN_STREAM_EXCEPTION_PATH
[INFO] Exceptional return value of java.io.File.delete() ignored in hudson.remoting.Util.createTempDir() [hudson.remoting.Util] At Util.java:[line 74] RV_RETURN_VALUE_IGNORED_BAD_PRACTICE
[INFO] Exceptional return value of java.io.File.mkdir() ignored in hudson.remoting.Util.createTempDir() [hudson.remoting.Util] At Util.java:[line 75] RV_RETURN_VALUE_IGNORED_BAD_PRACTICE
[INFO] Exceptional return value of java.io.File.mkdirs() ignored in hudson.remoting.Util.makeResource(String, byte[]) [hudson.remoting.Util] At Util.java:[line 56] RV_RETURN_VALUE_IGNORED_BAD_PRACTICE
[INFO] Invocation of reflect.Field.setAccessible(boolean), which should be invoked from within a doPrivileged block, in hudson.remoting.Which.jarFile(URL, String) [hudson.remoting.Which, hudson.remoting.Which, hudson.remoting.Which, hudson.remoting.Which] At Which.java:[line 144]Another occurrence at Which.java:[line 149]Another occurrence at Which.java:[line 154]Another occurrence at Which.java:[line 204] DP_DO_INSIDE_DO_PRIVILEGED
[INFO] Exception is caught when Exception is not thrown in hudson.remoting.Which.jarFile(URL, String) [hudson.remoting.Which] At Which.java:[line 186] REC_CATCH_EXCEPTION
[INFO] hudson.remoting.Which.jarFile(URL, String) concatenates strings using + in a loop [hudson.remoting.Which] At Which.java:[line 172] SBSC_USE_STRINGBUFFER_CONCATENATION
[INFO] hudson.remoting.jnlp.GuiListener$2.run() invokes System.exit(...), which shuts down the entire virtual machine [hudson.remoting.jnlp.GuiListener$2] At GuiListener.java:[line 71] DM_EXIT
[INFO] hudson.remoting.jnlp.Main.createEngine() may fail to close stream [hudson.remoting.jnlp.Main] At Main.java:[line 199] OS_OPEN_STREAM
[INFO] Useless object stored in variable certificates of method hudson.remoting.jnlp.Main.createEngine() [hudson.remoting.jnlp.Main] At Main.java:[line 183] UC_USELESS_OBJECT
[INFO] Usage of GetResource in new hudson.remoting.jnlp.MainDialog() may be unsafe if class is extended [hudson.remoting.jnlp.MainDialog] At MainDialog.java:[line 44] UI_INHERITANCE_UNSAFE_GETRESOURCE
[INFO] org.jenkinsci.constant_pool_scanner.ConstantPool$1$1.next() can't throw NoSuchElementException [org.jenkinsci.constant_pool_scanner.ConstantPool$1$1] At ConstantPool.java:[lines 36-38] IT_NO_SUCH_ELEMENT
[INFO] MemberRefConstant.clazz not initialized in constructor and dereferenced in org.jenkinsci.constant_pool_scanner.MemberRefConstant.getClazz() [org.jenkinsci.constant_pool_scanner.MemberRefConstant] At MemberRefConstant.java:[line 16] UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR
[INFO] MemberRefConstant.nameAndType not initialized in constructor and dereferenced in org.jenkinsci.constant_pool_scanner.MemberRefConstant.getDescriptor() [org.jenkinsci.constant_pool_scanner.MemberRefConstant] At MemberRefConstant.java:[line 37] UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR
[INFO] MemberRefConstant.nameAndType not initialized in constructor and dereferenced in org.jenkinsci.constant_pool_scanner.MemberRefConstant.getName() [org.jenkinsci.constant_pool_scanner.MemberRefConstant] At MemberRefConstant.java:[line 30] UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR
[INFO] Unread public/protected field: org.jenkinsci.remoting.engine.JnlpServer3Handshake.cookie [org.jenkinsci.remoting.engine.JnlpServer3Handshake] At JnlpServer3Handshake.java:[line 61] URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD
[INFO] JnlpServer3Handshake.handshakeCiphers not initialized in constructor and dereferenced in org.jenkinsci.remoting.engine.JnlpServer3Handshake.authenticateToSlave() [org.jenkinsci.remoting.engine.JnlpServer3Handshake] At JnlpServer3Handshake.java:[line 104] UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR
[INFO] JnlpServer3Handshake.handshakeCiphers not initialized in constructor and dereferenced in org.jenkinsci.remoting.engine.JnlpServer3Handshake.validateSlave() [org.jenkinsci.remoting.engine.JnlpServer3Handshake] At JnlpServer3Handshake.java:[line 123] UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR
[INFO] Should org.jenkinsci.remoting.engine.JnlpServer3Handshake$Failure be a _static_ inner class? [org.jenkinsci.remoting.engine.JnlpServer3Handshake$Failure] At JnlpServer3Handshake.java:[lines 160-162] SIC_INNER_SHOULD_BE_STATIC
[INFO] Exceptional return value of java.util.concurrent.AbstractExecutorService.submit(Runnable) ignored in org.jenkinsci.remoting.nio.NioChannelHub.run() [org.jenkinsci.remoting.nio.NioChannelHub, org.jenkinsci.remoting.nio.NioChannelHub] At NioChannelHub.java:[line 592]Another occurrence at NioChannelHub.java:[line 610] RV_RETURN_VALUE_IGNORED_BAD_PRACTICE
[INFO] NioChannelHub$NioTransport.receiver not initialized in constructor and dereferenced in org.jenkinsci.remoting.nio.NioChannelHub$NioTransport.abort(Throwable) [org.jenkinsci.remoting.nio.NioChannelHub$NioTransport] At NioChannelHub.java:[line 208] UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR
[INFO] Class org.jenkinsci.remoting.nio.NioChannelHub$NioTransport$1 defines non-transient non-serializable instance field this$1 [org.jenkinsci.remoting.nio.NioChannelHub$NioTransport$1] In NioChannelHub.java SE_BAD_FIELD
[INFO] Class org.jenkinsci.remoting.nio.NioChannelHub$NioTransport$2 defines non-transient non-serializable instance field this$1 [org.jenkinsci.remoting.nio.NioChannelHub$NioTransport$2] In NioChannelHub.java SE_BAD_FIELD
[INFO] Invocation of reflect.Method.setAccessible(boolean), which should be invoked from within a doPrivileged block, in org.jenkinsci.remoting.nio.SelectableFileChannelFactory.create(FileDescriptor) [org.jenkinsci.remoting.nio.SelectableFileChannelFactory] At SelectableFileChannelFactory.java:[line 118] DP_DO_INSIDE_DO_PRIVILEGED
[INFO] Invocation of reflect.Field.setAccessible(boolean), which should be invoked from within a doPrivileged block, in org.jenkinsci.remoting.nio.SelectableFileChannelFactory.unwrap(InputStream) [org.jenkinsci.remoting.nio.SelectableFileChannelFactory] At SelectableFileChannelFactory.java:[line 50] DP_DO_INSIDE_DO_PRIVILEGED
[INFO] Invocation of reflect.Field.setAccessible(boolean), which should be invoked from within a doPrivileged block, in org.jenkinsci.remoting.nio.SelectableFileChannelFactory.unwrap(OutputStream) [org.jenkinsci.remoting.nio.SelectableFileChannelFactory] At SelectableFileChannelFactory.java:[line 70] DP_DO_INSIDE_DO_PRIVILEGED
[INFO] 

Ready to go, hehe

@oleg-nenashev
Copy link
Member Author

CC @olivergondza , who has fixed a couple of issues in his PR

@oleg-nenashev
Copy link
Member Author

Only 70 issues left...

@oleg-nenashev oleg-nenashev changed the title FindBugs - Drop original filters to show FindBugs issues in build logs FindBugs - Reconsider filters and cleanup some issues Aug 6, 2016
@@ -81,7 +81,7 @@ protected URL retrieve(Channel channel, long sum1, long sum2) throws IOException
Checksum actual = Checksum.forFile(tmp);
if (!expected.equals(actual)) {
throw new IOException(String.format(
"Incorrect checksum of retrieved jar: %s\nExpected: %s\nActual: %s",
"Incorrect checksum of retrieved jar: %s%nExpected: %s\nActual: %s",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The other instance on the same lines.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, missed them

@@ -177,9 +180,9 @@ private Channel channel() {
* @throws IOException if the channel is disconnected or otherwise unavailable.
* @since FIXME after merge
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe clean up these while you are at it…

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Too many TODOs, gonna to follow-up in a separate PR

@jglick
Copy link
Member

jglick commented Aug 9, 2016

🐝

@oleg-nenashev
Copy link
Member Author

@reviewbybees done

@ghost
Copy link

ghost commented Aug 9, 2016

This pull request has completed our internal processes and we now respectfully request the maintainers of this repository to consider our proposal contained within this pull request for merging.

@oleg-nenashev
Copy link
Member Author

@reviewbybees done
Merging in order to get the stuff in the PR builder

@oleg-nenashev oleg-nenashev merged commit af2d226 into jenkinsci:master Aug 9, 2016
oleg-nenashev added a commit to oleg-nenashev/jenkins that referenced this pull request Aug 14, 2016
Changes are listed below:

Fixed issues:
* [JENKINS-22853](https://issues.jenkins-ci.org/browse/JENKINS-22853) -
Be robust against the delayed EOF command when unexporting input and output streams.
(jenkinsci/remoting#97)
* Fixed ~20 minor issues reported by FindBugs.
More fixes to be delivered in future versions.
(jenkinsci/remoting#96)

Enhancements:
* [JENKINS-37218](https://issues.jenkins-ci.org/browse/JENKINS-37218) -
Performance: <code>ClassFilter</code> does not use Regular Expressions anymore to match <code>String.startsWith</code> patterns.
(jenkinsci/remoting#92)
* [JENKINS-37031](https://issues.jenkins-ci.org/browse/JENKINS-37031)
<code>TcpSlaveAgentListener</code> now publishes a list of supported agent protocols to speed up connection setup.
(jenkinsci/remoting#93)
DanielWeber added a commit to DanielWeber/jenkins that referenced this pull request Aug 26, 2016
(Cherry Pick of 06be933)

Changes are listed below:

Fixed issues:
* [JENKINS-22853](https://issues.jenkins-ci.org/browse/JENKINS-22853) -
Be robust against the delayed EOF command when unexporting input and output streams.
(jenkinsci/remoting#97)
* Fixed ~20 minor issues reported by FindBugs.
More fixes to be delivered in future versions.
(jenkinsci/remoting#96)

Enhancements:
* [JENKINS-37218](https://issues.jenkins-ci.org/browse/JENKINS-37218) -
Performance: <code>ClassFilter</code> does not use Regular Expressions anymore to match <code>String.startsWith</code> patterns.
(jenkinsci/remoting#92)
* [JENKINS-37031](https://issues.jenkins-ci.org/browse/JENKINS-37031)
<code>TcpSlaveAgentListener</code> now publishes a list of supported agent protocols to speed up connection setup.
(jenkinsci/remoting#93)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants