Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0005549 [Resin] major always 10-10-13 02:41 11-03-14 15:49
Reporter konfetov View Status public  
Assigned To ferg
Priority normal Resolution fixed Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version 4.0.42 Product Version 4.0.37
  Product Build
Summary 0005549: A library with non-latin class filenames cannot be loaded by Resin
Description 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.
Steps To Reproduce
Additional Information
Attached Files  aspose-classes 11 vs 13.png [^] (29,401 bytes) 10-10-13 02:41

- Relationships

- 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
 

- Issue History
Date Modified Username Field Change
10-10-13 02:41 konfetov New Issue
10-10-13 02:41 konfetov File Added: aspose-classes 11 vs 13.png
10-23-13 03:21 konfetov Note Added: 0006341
10-23-13 04:43 densp Issue Monitored: densp
11-03-14 15:49 ferg Note Added: 0006546
11-03-14 15:49 ferg Assigned To  => ferg
11-03-14 15:49 ferg Status new => closed
11-03-14 15:49 ferg Resolution open => fixed
11-03-14 15:49 ferg Fixed in Version  => 4.0.42


Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
35 total queries executed.
29 unique queries executed.
Powered by Mantis Bugtracker