aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/javassist/ByteArrayClassPath.java
Commit message (Collapse)AuthorAgeFilesLines
* Custom URL stream handler in ByteArrayClassPathAndres Luuk2018-07-091-2/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise a normal streamhandler lookup is made and if javassist is used early on server startup protses this can lead to a deadlock on rare cases on WebSpheare. For example. A new StreamHandlerFactory is registered but not jet fully initialized. Now javassist is used at the same time but form another thread and it will be the first one to invoke the new StreamHandlerFactory and now it can deadlock with the other thread: Snipets from my deadlock: 3XMTHREADINFO "main" J9VMThread:0x000000000175EC00, omrthread_t:0x00007F4120008100, java/lang/Thread:0x00000000624290B8, state:B, prio=5 3XMTHREADBLOCK Blocked on: org/osgi/util/tracker/ServiceTracker$Tracked@0x00000000627F0A90 Owned by: "other-thread" (J9VMThread:0x0000000001B26300, java/lang/Thread:0x00000000629F1458) 3XMHEAPALLOC Heap bytes allocated since last GC cycle=0 (0x0) 3XMTHREADINFO3 Java callstack: 4XESTACKTRACE at org/osgi/util/tracker/ServiceTracker.getServiceReferences(ServiceTracker.java:525) 4XESTACKTRACE at org/eclipse/osgi/framework/internal/protocol/StreamHandlerFactory.createInternalURLStreamHandler(StreamHandlerFactory.java:162) 4XESTACKTRACE at org/eclipse/osgi/framework/internal/protocol/StreamHandlerFactory.createURLStreamHandler(StreamHandlerFactory.java:118) 4XESTACKTRACE at java/net/URL.getURLStreamHandler(URL.java:1154) 4XESTACKTRACE at java/net/URL.<init>(URL.java:611(Compiled Code)) 4XESTACKTRACE at java/net/URL.<init>(URL.java:502(Compiled Code)) 4XESTACKTRACE at java/net/URL.<init>(URL.java:451) 4XESTACKTRACE at javassist/ByteArrayClassPath.find(JRebel:92) ... 4XESTACKTRACE at java/lang/ClassLoader.loadClassHelper(ClassLoader.java:924(Compiled Code)) 5XESTACKTRACE (entered lock: org/eclipse/core/launcher/Main$StartupClassLoader@0x0000000062F3AA88, entry count: 1) 3XMTHREADINFO "other-thread" J9VMThread:0x0000000001B26300, omrthread_t:0x00007F4120A5D060, java/lang/Thread:0x00000000629F1458, state:B, prio=5 3XMTHREADBLOCK Blocked on: org/eclipse/core/launcher/Main$StartupClassLoader@0x0000000062F3AA88 Owned by: "main" (J9VMThread:0x000000000175EC00, java/lang/Thread:0x00000000624290B8) 3XMHEAPALLOC Heap bytes allocated since last GC cycle=0 (0x0) 3XMTHREADINFO3 Java callstack: 4XESTACKTRACE at org/osgi/util/tracker/AbstractTracked.size(AbstractTracked.java:356) 4XESTACKTRACE at org/osgi/util/tracker/ServiceTracker.getServiceReferences(ServiceTracker.java:526) 5XESTACKTRACE (entered lock: org/osgi/util/tracker/ServiceTracker$Tracked@0x00000000627F0A90, entry count: 1) 4XESTACKTRACE at org/eclipse/osgi/framework/internal/protocol/StreamHandlerFactory.createInternalURLStreamHandler(StreamHandlerFactory.java:162) 4XESTACKTRACE at org/eclipse/osgi/framework/internal/protocol/StreamHandlerFactory.createURLStreamHandler(StreamHandlerFactory.java:118) 4XESTACKTRACE at java/net/URL.getURLStreamHandler(URL.java:1154) 4XESTACKTRACE at java/net/URL.<init>(URL.java:611(Compiled Code)) 4XESTACKTRACE at java/net/URL.<init>(URL.java:502(Compiled Code)) 4XESTACKTRACE at java/net/URL.<init>(URL.java:451) 4XESTACKTRACE at java/net/URI.toURL(URI.java:1100) 4XESTACKTRACE at com/ibm/jsse2/av.a(av.java:92) 4XESTACKTRACE at com/ibm/jsse2/av.engineInit(av.java:7) 4XESTACKTRACE at javax/net/ssl/TrustManagerFactory.init(TrustManagerFactory.java:25)
* Merge branch 'master' into cm/bug/classpath-closeChristian Melchior2017-11-121-5/+8
|\ | | | | | | | | | | | | | | | | | | # Conflicts: # pom.xml # src/main/javassist/ByteArrayClassPath.java # src/main/javassist/ClassClassPath.java # src/main/javassist/ClassPoolTail.java # src/main/javassist/LoaderClassPath.java # src/main/javassist/URLClassPath.java
| * Source walk/Spring clean/Parameterize/Enhance et.al.nickl-2017-10-301-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | The following were applied during multiple itterations through the source. * Parameterize raw types. * Mark unused members. * Annotate override and deprecated methods. * Convert loops to enhance for loop. * Remove redundant else statements. * Widening collection type references. * Optimize code for improved readability. * Squash compiler warnings. * Identify smells.
* | Remove close method on ClassPath. Add unit tests for new behaviour.Christian Melchior2017-11-121-5/+0
|/
* preparation for 3.19 release. fixed bugs in javadoc commentschibash2015-01-061-2/+2
|
* added the Apache license.chiba2011-07-081-2/+3
| | | | git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@584 30ef5769-5b8d-40dd-aea6-55b5d6557bb3
* updated the copyright notices.chiba2007-06-041-1/+1
| | | | git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@382 30ef5769-5b8d-40dd-aea6-55b5d6557bb3
* updated copyright noticeschiba2006-01-111-1/+1
| | | | git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@234 30ef5769-5b8d-40dd-aea6-55b5d6557bb3
* Change the year in the copyright notices from 2004 to 2005.chiba2005-01-181-1/+1
| | | | git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@153 30ef5769-5b8d-40dd-aea6-55b5d6557bb3
* If a newly created method does not have a throws clause, an emptychiba2004-02-151-0/+1
| | | | | | | Exceptions attribute had been added. This problem has been fixed. git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@69 30ef5769-5b8d-40dd-aea6-55b5d6557bb3
* updated the copyright notices.chiba2004-01-081-1/+1
| | | | git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@67 30ef5769-5b8d-40dd-aea6-55b5d6557bb3
* Implemented several methods (e.g. CtClass#getURL) to support securitychiba2003-12-251-1/+19
| | | | | | | policies based on code source. git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@59 30ef5769-5b8d-40dd-aea6-55b5d6557bb3
* changed the license.chiba2003-04-301-8/+9
| | | | git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@12 30ef5769-5b8d-40dd-aea6-55b5d6557bb3
* Changed the copyright notices and removed tab characters.chiba2003-04-231-30/+24
| | | | git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@9 30ef5769-5b8d-40dd-aea6-55b5d6557bb3
* This commit was generated by cvs2svn to compensate for changes in r2, whichpatriot1burke2003-04-221-0/+84
included commits to RCS files with non-trunk default branches. git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@6 30ef5769-5b8d-40dd-aea6-55b5d6557bb3