-
Improvement
-
Resolution: Fixed
-
Minor
Currently it is hard to understand which field has been rejected from serialization in Remoting. You get only stacktraces like this one:
[android-lint] Collecting Android Lint files... ERROR: Build step failed with exception java.lang.SecurityException: Rejected: com.google.common.collect.AbstractMultimap at hudson.remoting.ClassFilter.check(ClassFilter.java:75) at hudson.remoting.MultiClassLoaderSerializer$Input.resolveClass(MultiClassLoaderSerializer.java:129) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1613) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1623) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1623) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1774) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) at hudson.remoting.UserRequest.deserialize(UserRequest.java:277) at hudson.remoting.UserResponse.retrieve(UserRequest.java:310) at hudson.remoting.Channel.call(Channel.java:909) at hudson.FilePath.act(FilePath.java:998)
I propose to...
- If FINE/INFO logger is enabled for the class filter, run deep object analysis and log info about structure and rejected classes
- Since there is no way to hook on Java deserialization, use Reflection for such operation
- Nice2have: Print information about rejected classes into a separate file if workdir is enabled
- is related to
-
JENKINS-49016 Android-lint plugin affected by JEP in 2.102
-
- Resolved
-
-
JENKINS-49025 SecurityException: Rejected: java.lang.String$CaseInsensitiveComparator
-
- Resolved
-
- links to
[JENKINS-49027] Improve diagnostics of rejected objects in Remoting
Assignee | New: Oleg Nenashev [ oleg_nenashev ] |
Link |
New:
This issue is related to |
Epic Link |
New:
|
Link |
New:
This issue is related to |
Remote Link | New: This issue links to "remoting PR 247 (Web Link)" [ 19890 ] |
Assignee | Original: Oleg Nenashev [ oleg_nenashev ] | New: Jesse Glick [ jglick ] |
Status | Original: Open [ 1 ] | New: In Progress [ 3 ] |
Status | Original: In Progress [ 3 ] | New: In Review [ 10005 ] |
Status | Original: In Review [ 10005 ] | New: In Progress [ 3 ] |
Status | Original: In Progress [ 3 ] | New: Open [ 1 ] |