Tuesday, December 23, 2014

Railo error - java.lang.UnsatisfiedLinkError - when using C++ based CFX tags.

Railo does have a hidden link to add C++ based CFX tags. To enable it, use the following link.

http://localhost:8888/railo-context/admin/web.cfm?action=resources.cfx_tags&enable=cfxcpp

Just add the tag name and path of DLL and you are good to go.
We had to use a C++ based custom tag for our application and everything was fine on our development servers. But when we tried this on Live, we are presented with a Java error.

The message is "com.naryx.tagfusion.cfx.CFXNativeLib.processRequest(Ljava/lang/String;Ljava/lang/String;Lcom/naryx/tagfusion/cfx/sessionRequest;Lcom/naryx/tagfusion/cfx/sessionResponse;Z)V"

The error says "Railo 4.1.1.009 Error (java.lang.UnsatisfiedLinkError)" and we first thought it was an issue with the CFX tag compatibility with the version of windows. But on closely checking we can see that the Railo version on Live was 4.1.1.009 and that on development is  4.2.1.008.

To confirm the error, we took the express edition of Railo 4.1.1.009 and tried to replicate the issue.
Of course the error popped up. So, we applied the patch 4.2.1.008 on the express edition and the error is gone.

So we applied the patch on the Live version and that fixed the error.