java 1.7.0_25 issue

Hi,

When our users upgrade to java 1.7.0_25 they get an error when
loging in to the solution :

org.mozilla.javascript.EmcaError: TypeError: Cannot find function createBinding. (init_tree#11)

see attachment for screenshot.

The code that is causing this error is :

var _binding = elements.dbtreeview.createBinding(controller.getServerName(), controller.getTableName());

ist is in the method init_tree on line 11

It works fine in previous Java versions, but not in this one

additional info.

If a user that gets this error, stops the smartclient and then starts it again
the startup takes very long to get the login prompt.
The window with the verifying application prompt stays on screen very long.
But after that the user can login and the the error on the createBinding does not appear and everything works fine.

So the error will only appear ones after login in windows and after that the start up of the smartclient solution is very slow.
The time from starting to login normally takes about 10 to 15 seconds
Now it takes 2 minutes

Regards

A bit to late but :

Servoy 5.2.15
Java 1.7.0_25
Smartclient on windows 7 64 bit
smartclient uses 32 bit java

Regards

Hi,

Just did a test on my laptop.
Everything runs local on my laptop

  • database server
  • servoy server
  • smart client

I do not get the error “org.mozilla.javascript.EmcaError: TypeError: Cannot find function createBinding. (init_tree#11)”
that other users get the first time after starting up there pc/laptop.
But startup is teribly slow

when I start the smartclient using java 1.7.0_21 the solution starts in 10 seconds.
when I start the smartclient using java 1.7.0_25 the solution starts in 2 minutes.

In these 2 minutes the cpu of my laptop is almost idle.
That means that the database does nothing, servoy server does nothing and the smartclient does nothing.

???

Regards,

found the underlying issue :

if I change the java setting
“perform certificate revocation checks on”
from its default : all certificates in the chain of trust
to : do not check

The performance is back to normal.

I guess this is a new setting in 1.7.0_25 ??

Any idea why it gets so slow ??

We do resign verything using our own (official ) certificate ( using signtester.jar )

ADDON :

The following combination also works fine :

“perform certificate revocation checks on” : all certificates in the chain of trust
AND
“check for certificate revociation using” : Online Certificate Status Protocol (OCSP)

So guess the CRLs option is causing the issue

When testing Java 7u21 against Servoy 6.0 I had a similar issue with the dbtree bean, it works fine with Servoy 5.2 and 7.1 but failed with servoy 6.0.
I suppose you could simply use the dbtree bean that ships with servoy 7.1 to workaround the problem.

thanks Nicola,

But in this case the new java security options caused a performance issue on startup of the solution
and sometimes it resulted in an error on the treeview bean.

The error didn’t occur anymore after changing these java security settings.

Regards,

I’ve just gotten the same issue with a customer that cannot start the solution after upgrading to 7u25.
Will try changing the java security settings.

We see this in the java console:

Missing Permissions manifest attribute for: http://ig-groenvision:8080/beans/dbtreeview.jar
Missing Codebase manifest attribute for: http://ig-groenvision:8080/beans/dbtreeview.jar

for all jar files. We resign all jar-files ourselves using our own certificate and signtester.jar

Have a look at what oracle introduced in 1.7.0_25: JDK 23 Documentation - Home

would this be the cause of the problem? Does signtester.jar has to be adjusted for this?

Hmmmm, I’ve adjusted the certificates prefs and now the client is startin up but I get an error when initializing the servoy-treeview.
This is Servoy server 7.1 and MacOS client with Java 1.7.0_05 (update 25):

ERROR - Debug                      - Throwable
java.lang.ExceptionInInitializerError
	at com.servoy.extensions.beans.treeview.TreeView.getBeanInstance(Unknown Source)
	at com.servoy.j2db.component.ComponentFactory.createBean(ComponentFactory.java:2321)
	at com.servoy.j2db.component.ComponentFactory.createComponentEx(ComponentFactory.java:369)
	at com.servoy.j2db.component.ComponentFactory.createComponent(ComponentFactory.java:254)
	at com.servoy.j2db.smart.dataui.DataRendererFactory.placeElements(DataRendererFactory.java:300)
	at com.servoy.j2db.smart.dataui.DataRendererFactory.completeRenderers(DataRendererFactory.java:266)
	at com.servoy.j2db.FormController.createDataRenderers(FormController.java:2541)
	at com.servoy.j2db.FormController.init(FormController.java:2373)
	at com.servoy.j2db.FormManager.leaseFormPanel(FormManager.java:894)
	at com.servoy.j2db.scripting.CreationalPrototype.get(CreationalPrototype.java:163)
	at org.mozilla.javascript.ScriptableObject.getProperty(ScriptableObject.java:2141)
	at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1518)
	at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1505)
	at org.mozilla.javascript.gen.navInit_8._c_navInit_0(Unknown Source)
	at org.mozilla.javascript.gen.navInit_8.call(Unknown Source)
	at org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRuntime.java:97)
	at org.mozilla.javascript.gen.init_7._c_init_0(Unknown Source)
	at org.mozilla.javascript.gen.init_7.call(Unknown Source)
	at org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:107)
	at org.mozilla.javascript.gen.frameworkInit_4._c_frameworkInit_0(frameworkInit:210)
	at org.mozilla.javascript.gen.frameworkInit_4.call(frameworkInit)
	at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:406)
	at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3204)
	at org.mozilla.javascript.gen.frameworkInit_4.call(frameworkInit)
	at com.servoy.j2db.scripting.ScriptEngine.executeFunction(ScriptEngine.java:579)
	at com.servoy.j2db.scripting.ScopesScope.executeGlobalFunction(ScopesScope.java:164)
	at com.servoy.j2db.FormManager.makeSolutionSettings(FormManager.java:336)
	at com.servoy.j2db.smart.SwingFormManager.makeSolutionSettings(SwingFormManager.java:179)
	at com.servoy.j2db.FormManager$1.run(FormManager.java:166)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
	at java.awt.EventQueue.access$200(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:694)
	at java.awt.EventQueue$3.run(EventQueue.java:692)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Caused by: java.lang.NullPointerException
	at com.servoy.extensions.beans.treeview.SwingTreeView.<clinit>(Unknown Source)
	... 43 more

Hi Nicola,

Did You solve this ?

How ?

Regards,

I have the same error message (can not find function createBinding) on Java 1.6.0_51, which was installed with the latest Apple Update Java for OS X 2013-004.
It seems that Apple had a bug in this Java version and so they updated the Java for OS X 2013-004 package. (see http://lists.apple.com/archives/java-de … 00055.html)
When you install the same update again, you will get the fixed java version (still 1.6.0_51)

On my machine the second update solves the issue with “can not find function createBinding”

Hans Nieuwenhuis:
Hi Nicola,

Did You solve this ?

How ?

Regards,

Unfortunately I’m still having this issue.

I’ve had another look at the java settings and tried the solution with the security settings.
But in my case it only works when I set the
Perform certificate revocation checks on: Do not check (not recommended)
The other setting
Perform certificate revocation checks on: All certificates in the chain of trust
Check for certificate revocation using: Online Certificate Status Protocol (OCSP)
Had no effect in my case.

Any other hints on what I can do to resolve this, because my current fix does not seem to be recommended :?
But at least the users can work again.