Jchem name to structure: Stacktrace loading class

User 6686efeff7

15-11-2012 15:23:21


While using the JChem Java API to run Jchem name to structure. Repeated "java.lang.NoClassDefFoundError"  with message "Could not initialize class chemaxon.marvin.io.formats.name.nameexport.GroupDictionary", was printed to the console by several chemaxon worker threads (IUPACNamerThread). This was observed immediately after "java.lang.ThreadDeath" was observed in the thread which, our code was calling from. 


 


* The class GroupDictionary is found in Jchem.jar.


* "jchem.jar" along with all other chemaxon JARs were in the class path.


* The experiment is not repeatable.


* Note that  Thread.stop()  is deprecated any may possibly be  interfering with class loading, 


ChemAxon e7b9408ca1

15-11-2012 16:37:36

Wiraj,


The related threading code has been improved in our development version. It is now faster, and avoids Thread.stop, which is indeed much better. So there is a good chance that this will fix your problem. This change will be released in 5.12, which is planned for the middle of December.


How critical is this problem for you currently, and what are your possibilities for upgrading to 5.12?


Best regards,


Daniel

User 6686efeff7

15-11-2012 17:51:50

 


Hi Daniel,


We are not likely to ship with 5.12.  Do you have an idea how this bug might affect results, on subsequent calls to MolExporter.exportToFormat(Molecule, String).


Thanks,


Wiraj


 

ChemAxon e7b9408ca1

15-11-2012 18:25:11

I wouldn't dare to guess how exact effects this can have, since that's quite dependend on the internals of the JVM. My intuition says later calls should be either failing clearly (exception or even JVM crash), or unaffected, but probably not hard-to-notice effects.


Would it be useful if I backported the fix to the next release of 5.11 (5.11.5)?


Daniel

User 6686efeff7

16-11-2012 10:20:11

Thanks for the offer, however we are not in a position to reintegrate at this time. We will install 5.12 in the next development cycle. 


Thanks,


Wiraj