Incompatibility of Marvin Sketch with Java 7 update 21?

User 53611d53ae

31-05-2013 21:26:31

Hello,


We invoke Marvin Sketch in a web browser from our software, Pathway Tools. This has been working well for many years.


Recently, after updating Java to version 7 update 21, I have been experiencing a problem: Marvin starts, but before it can load the structure it stops with the following error message:


"Width (4) and height (-1) cannot be <= 0"


After uninstalling Java and re-installing update 17, the problem goes away.


I now verified the problem on two different installations, one Windows 7 and the other Windows 8, both running Firefox 21.0.

ChemAxon 2c555f5717

03-06-2013 06:49:36

Dear Rcaspi!


    Java 1.7_21 requires an extended signing process that is not done with older versions of applet. What version of Marvin Applet do you need us to resign? You could also check our 5.12.4 release, ehich was the first released version with this signment, or our brand new 6.0.0 version which has been released last week.


Regards:
Balázs 

User 53611d53ae

06-06-2013 17:34:28

Hello Balázs ,


Thanks for the support, we love Marvin.


I am not surey I fully understand you answer. If the problem is with the "extended signing proces", that should be handled by version 6.0, right?


I encountered the problem with 5.12, and it continues with 6.0, which is what I am using now.


Ron

ChemAxon 2c555f5717

07-06-2013 19:54:06

I am sorry for the late answer but we still investigating your request.

ChemAxon 5433b8e56b

17-07-2013 00:18:43

Hi Ron,


unfortunatelly your issue was been mistaken by us, and we could not step forward on this until now.


We were struggling with a reproduction case, and unfortunatelly we were not able to manage to reproduce the problem, and seemingly forget to ask for more information. We have just found this question open in the support forum, so we would like to help on this, if it is not solved yet.


In order to be able to help you, can you give us more specific information on this issue, and on how you use the Marvin Applet when you have this problem either with 5.12, or with 6.0. If it is kind of confidetial, and you do not want to put this on the forum, the please send me an email with a detailed workflow how the applet is embedded, how it is being called, when the problem arise, if it is still there.


Once again, sorry for the long silence and incovinience we may have caused. I hope we will be able to reproduce the problem and help you quickly.


Regards,
Istvan 

User 53611d53ae

24-07-2013 20:24:01

Hi Istvan,



First, I was able to work until now using Java 7 update 17, so there was no great hurry for me. Please do not feel bad about forgetting about the issue. Believe me, if I wasn't able to use Marvin, I would have reminded you by now...


By now there is a new update of Java (update 25). I just tried with this update, and the problem is gone! looks like the issue was limited to update 21.


So the good news are - you don't need to worry about it


Thanks,


Ron

ChemAxon 5433b8e56b

26-07-2013 09:10:22

Hi Ron,


I am glad to hear that, besides I am not really happy because I was not able to identify a direct cause of disappearance of the issue in the 7u25 release notes.


I am just hoping this is an issue in Java that was introduced with rushing some security fixes out in 7u21. Anyway, I am happy then because it works again and seemingly it was caused by the jre.


Thanks for the update!


Best regards,
Istvan 

User 53611d53ae

17-10-2013 18:03:37

So today I updated to java 7 update 45, and the problem returned.


After updating Java, when I first ran JMSketch, I got a warning that said:


This application will be blocked in a future Java security update because the JAR file manifest does not contain the Permissions attribute. Please contact the Publisher for more information.


(see first uploaded screen capture).


After continuing, instead of opening the structure in the broswer, I got what you see in the attached image (error1.png). Clicking on the red text results in what you see in error2.png.


Upon uninstalling Java and reinstalling the older update 40, the problem goes away.

ChemAxon 2c555f5717

22-10-2013 00:28:25

Dear Ron!


   Please consider, that the previous version (6.1.1) was released before this new security requirement. Our latest release (6.1.2) contains this update.


Regards:
Balázs 

User 53611d53ae

22-10-2013 17:30:39

Hi Balázs,


I just upgraded to 6.1.2. It worked fine with Java 7 update 40. As soon as I updated Java to 45, the problem reappeared!


I uninstalled 45 and reinstalled 40, and it works again. So it seems that there is no difference between 6.1.0 and 6.1.2 in respect to this problem. There is an incompatibility between Marvin Sketch and Java 7 update 45.



I am using Windows 7 Professional service pack 1 and Firefox 24.0.


Ron

ChemAxon 2c555f5717

23-10-2013 18:15:07

Dear Ron!


   I have tested again our new release with different Operating Systems and browsers (and I have tested again and again with Windows 7 Professional 64 bit, Service Pack 1, and Firefox 24.0, and Chrome 30.0.1599.101 with Java 1.7.0_u45) and could not reproduce your problem.


   Could you send me a screenshot of your About dialog in MarvinSketch, and the content of the Java Console? I might find out something with more information.


Regards:
Balázs 

User 53611d53ae

23-10-2013 18:40:32

Hi, and thanks for looking into it.


 


I reinstalled update 45 this morning, and sure enough, the problem returns.


The error message is a little different today. This one said had the heading "General Exception" instead of "Runtime Exception", but it added the words "RuntimeException" to the actual error message (see attached)


The Java console says the following:


General Exception details:

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at sun.plugin2.applet.Plugin2ClassLoader.defineClassHelper(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.access$100(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    ... 14 more
Caused by: java.lang.NullPointerException
    at sun.plugin2.applet.Plugin2ClassLoader.loadAllowedCodebases(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.getPermissions(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader.getPermissions(Unknown Source)
    at java.security.SecureClassLoader.getProtectionDomain(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    ... 18 more
Ignored exception: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
basic: Dialog type is not candidate for embedding


I will now uninstall update 45 and reinstall update 40, so I could get a scteen capture of the About Marvin (I can't get that far with update 45).

User 53611d53ae

23-10-2013 19:02:59

Here is the "About MarvinSketch" window (obtained with Java7u40)

ChemAxon 2c555f5717

23-10-2013 22:28:47

Dear Ron!


   Do you test the Applet locally? On this link you can find other users who report about not being able to run signed applets locally with Java 1.7.0_u45. They complain about the same exception as you.


Regards:
Balázs 

User 53611d53ae

23-10-2013 23:06:02

Hello Balázs,


 


Yes, I believe we are running locally (the applet and client are run by the same computer). And it does seem to be very similar to the problem described at that page.


Hopefully we could get in touch with Oracle to at least report the problem, looks like at the moment it is impossible to even file a bug with them...


The strange thing is that you could not reproduce the problem. Perhaps it is one of the settings in the Java control panel?


Ron

ChemAxon 5433b8e56b

27-10-2013 13:33:56

Hi Ron,


in this context locally means that you enter file://... in the browser as a URL, or for example click on an html page to open up an html file that contains the applet.


This issue has became an official known issue and it is included in the release notes of 7u45 (the 6th of the listed issues).


We have tried to run the applet from a webserver from the first time, when Balázs could not reproduce this issue because in that way this issue is not appearing.


Regards,
Istvan 

User 53611d53ae

28-10-2013 18:56:05

Hi Istvan,


We use the applet via a web server. We refer to it as localhost, but from your answer I don't think this is what you call local. So the problem I encounter is probably different from the one described at the Oracle site. This raises the question why it fails on my computer, but not on your test system. We were also able to get it running on a different machine here. I wonder if this inconsistency could have something to do with the configuration of Java (through the control panel). Perhaps you could post a screen capture of your java settings so I could try and compare it.


Another option is that some settings in firefox prefs.js file are responsible, although it is hard to imagine it would only show up with a specific java version.

ChemAxon 2c555f5717

05-11-2013 11:10:22

Dear Ron!


   Sorry for the very late answer. I have not find anything helpful, but I can provide you my Java settings. Please find attached my settings:


Regards:
Balázs

User 39ade0cdf9

29-08-2014 13:11:44










bzaicsek wrote:

Dear Ron!


   I have tested again our new release with different Operating Systems and browsers (and I have tested again and again with Windows 7 Professional 64 bit, Service Pack 1, and Firefox 24.0, and Chrome 30.0.1599.101 with Java 1.7.0_u45) and could not reproduce your problem.


   Could you send me a screenshot of your About dialog in MarvinSketch, and the content of the Java Console? I might find out something with more information.


Regards:
Balázs 



Dear expert,


 


According to my experience, this error is related to jdk version. I have solved nearly all the problems like "publisher cannot be verified".


 


For JDK version higher than 1.6.0 and below 1.6_15, you can just clear all kinds of cache in web browser, java console and java control panel. Then it should works fine!


 


For JDK version between 1.6_15 and 1.6_30, you should disable the "next-generation java" option in java control panel.


 


For JDK version higher than 1.6_30, you should turn on "next-generation java" option in java control panel.


 


If you are using non-IE web browser, recommend use JDK version higher than 1.7.0 and newer Marvin applets package.


 


If you turn off the "next-generation java" option in java control panel for JDK version higher than about 1.6.30, e.g. 1.7_65, then you can surely reproduce the error:


"publisher cannot be verified"

ChemAxon 2c555f5717

01-09-2014 07:28:50

thank you

User 53611d53ae

03-09-2014 18:22:16

Dear all,


The problem may have disappeared by now - potentially due to the settings in the Java control panel described above.


I have been using Marvin 6.2.1 and Java update 51 for quite a while, since those were compatible and worked well together. I refrained from updating either version not wanting to run into incompatibility issues. However, encouraged by the last post, I decided to try updating. I upgraded my Java installation to update 67, and the upgrade went smoothly, with no impact on Marvin's functionality, except for annoying confirmation dialog windows, which keep coming back whenever I submit a structure from Marvin back to our software, despite me checking the box that is supposed to tell Java to not ask me again. But I suspect this is a Java/Firefox issue and not a Marvin issue.


I yet have to test upgrading the Marvin version to 6.33 or one of the more recent, weekly versions. When I do that, I will update the forum with my results.


Thanks for the support, and thanks liuhai for the tip regarding the Java control panel.


 


Ron

ChemAxon 5433b8e56b

04-09-2014 13:19:38

Hi Ron,


thank you for the useful information you have provided here, and we are curious to hear about your experiences about the weekly releases also.


I just want to note an important change in Java included since Java 7_u55. For now Java generates a warning if the Caller-Allowable-Codebase mandatory information in the META-INF of the applet jars contains a sole * character which means any source, so since that we create signed versions for our customers on demand which contains their domain name and signed exclusively for the given domains.


You can find more information about this on our forum here.


Regards,
Istvan