Mantis - Resin
Viewing Issue Advanced Details
5549 major always 10-10-13 02:41 11-03-14 15:49
konfetov  
ferg  
normal  
closed 4.0.37  
fixed  
none    
none 4.0.42  
0005549: A library with non-latin class filenames cannot be loaded by Resin
For versions 4.0.x Caucho renewed class loaders and the loaders (including DynamicClassLoader) cannot load classes from jar whose filenames contain non-latin symbols.

Sample: The third-party library Aspose.Words for Java.
Version 11.0.0 of this library has internal obfuscated classes with latin names "aa.class", "ab.class"
Version 13.8.0 of the library has has internal obfuscated classes with non-latin names "&0001105;1.class", "&0001105;2.class".

In Resin 3.1.x both libraries work properly.
In Resin 4.0.x only the first Aspose-library may be loaded by Resin class loader. For library 13.8.0 all Resin 4.0.x fail with NoClassDefFoundError for the obfuscated class.

-------------
{resin-port-80-31} java.lang.NoClassDefFoundError: com/aspose/words/?F9
                           at java.lang.ClassLoader.defineClass1(Native Method)
                           at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
                           at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
                           at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
                           at com.caucho.loader.DynamicClassLoader.loadClassEntry(DynamicClassLoader.java:1889)
                           at com.caucho.loader.DynamicClassLoader.findClassImpl(DynamicClassLoader.java:1731)
                           at com.caucho.loader.DynamicClassLoader.loadClassImpl(DynamicClassLoader.java:1612)
                           at com.caucho.loader.DynamicClassLoader.loadClassImpl(DynamicClassLoader.java:1590)
                           at com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1521)
                           at com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1502)
                           at _jsp._index__jsp._jspService(_index__jsp.java:57)

I can send the sample wars with the Aspose-libraries inside to demonstrate the problem but the files cannot be attached to the issue due to limit on attachment size.
 aspose-classes 11 vs 13.png [^] (29,401 bytes) 10-10-13 02:41

Notes
(0006341)
konfetov   
10-23-13 03:21   
The same problem posted in Aspose forum and Aspose team reproduced this
http://www.aspose.com/community/forums/thread/501339/aspose.words-for-java-cannot-be-run-in-caucho-resin-4.0.x.aspx [^]

Could you check the Resin classloader to know what was changed from version 3.1.x to 4.0.x? The same jar-file in Resin 3.1.10 is loaded successfully.
(0006546)
ferg   
11-03-14 15:49   
env/003b