How you start FUSE ESB?
Did you change any default configuration? especially the -Djava.io.tmpdir="$KARAF_DATA/tmp"?
Btw, what's exact SUSE version you're using? 11.x or 10.x?
I use the original FUSE ESB without changes (and without any own deployed libraries).
The FUSE ESB is started on Suse Linux Enterprise Server 10, as you can see in the log. I can not migrate to SLES 11.
You are right, the reason for the crash is the jansi native library.
I have two versions of libjansi in the /tmp directory:
- libjansi.so which comes from the apache-servicemix-4.4.1-fuse-02-05
- libjansi-64.so which comes from the apache-servicemix-4.4.1-fuse-06-03
When I overwrite the newer file /tmp/libjansi-64.so with the content of the older file /tmp/libjansi.so, than the FUSE ESB 4.4.1-fuse-06-03 starts correctly.
I did not try to compile libjansi yet.
Is the using of the old library correct?
Or shall I try to compile it now?
One more question, is your JDK on SUSE11 64bit?
of course, the Java is 64-bit as you can see in the log file attached to the question:
JRE version: 6.0_32-b05
Java VM: Java HotSpot(TM) 64-Bit Server VM (20.7-b02 mixed mode linux-amd64 compressed oops)
I tried to use 64bit Java from Oracle, IBM and JRockit, but FUSE ESB crashed with all of them.
Edited by: kadlec on Jun 21, 2012 7:59 AM
Could you remove both jansi .so libraries from your /tmp folder and try again to see what happens? I don't have a SLES installation at hand, but just tried with an OpenSusSE VM I have here and I only get the libjansi-64.so in my /tmp folder here.
Anyway, if replacing the library gets the container to start up, you shouldn't experience any problems after that so feel free to use that as a workaround. Rebuilding the jansi-native project on your own machine and using that library will most likely fix the problem as well.
when I remove all jansi libraries, a new one named "libjansi-64.so" will be created in the tmp directory during startup and the Java crashes.
Therefore the only way I found is to overwrite the libjansi-64.so file with the older libjansi.so file. In such case stays this file unchanged during startup and the ServiceMix runs.