Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Mar 2003 11:07:08 +0200
From:      Sheldon Hearn <sheldonh@starjuice.net>
To:        freebsd-java@FreeBSD.org
Subject:   Native jdk1.4.1 JNI problem with Eclipse IDE
Message-ID:  <20030306090708.GY60356@starjuice.net>

next in thread | raw e-mail | index | archive | help

--jL2BoiuKMElzg3CS
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi folks,

Wow!  The native jdk1.4.1_p3 labour of love has produced something quite
amazing.  Performance-wise, this thing kicks butt with respect to
jdk1.3.1_pre8, and it seems as stable as I need it to be.

It seems, however, that there may be a problem with its JNI.

I've been in contact with James Flemer, who is maintaining a native
Eclipse port outside the FreeBSD ports tree.  I intend to commit that
port once it works for me with our native jdk1.4.1_pX.

When built and run from James' port with jdk1.3.1_p8, Eclipse works
brilliantly.  When built and run from James' port with jdk1.4.1_p3,
Eclipse fails to start, throwing a java.lang.UnsatisfiedLinkError
exception.

I don't have any problems with NetBeans (other than personal disgust),
but then it doesn't use JNI (as far as I can tell).

The port tarball used to build Eclipse with jdk1.4.1_p3 is attached as
eclipse-gtk.tgz.

Note that you have to edit USE_JAVA, setting it to 1.4 or 1.4+.  This
requires a patch to bsd.java.mk, which I've also attached.

Launching eclipse results in a controlled crash, leaving the following
output in its logfile (~/workspace/.metadata/.log):

!SESSION ----------------------------------------------------------------------
!ENTRY org.eclipse.core.launcher 4 0 Mar 06, 2003 02:28:58.134
!MESSAGE Exception launching the Eclipse Platform:
!STACK
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:324)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:247)
	at org.eclipse.core.launcher.Main.run(Main.java:703)
	at org.eclipse.core.launcher.Main.main(Main.java:539)
Caused by: java.lang.reflect.InvocationTargetException
	at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:848)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461)
	... 7 more
Caused by: java.lang.UnsatisfiedLinkError: /usr/local/eclipse-gtk/plugins/org.eclipse.swt.gtk/os/linux/x86/libswt-pi-gtk-2130.so: /usr/local/eclipse-gtk/plugins/org.eclipse.swt.gtk/os/linux/x86/libswt-pi-gtk-2130.so: Undefined symbol "main"
	at java.lang.ClassLoader$NativeLibrary.load(Native Method)
	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1473)
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1381)
	at java.lang.Runtime.loadLibrary0(Runtime.java:788)
	at java.lang.System.loadLibrary(System.java:832)
	at org.eclipse.swt.internal.Library.loadLibrary(Library.java:104)
	at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:19)
	at org.eclipse.swt.widgets.Display.createDisplay(Display.java:443)
	at org.eclipse.swt.widgets.Display.create(Display.java:430)
	at org.eclipse.swt.graphics.Device.<init>(Device.java:107)
	at org.eclipse.swt.widgets.Display.<init>(Display.java:299)
	at org.eclipse.swt.widgets.Display.<init>(Display.java:295)
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:1230)
	at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:845)
	... 8 more

I tried to get into this with jdb, but alas, it was not to be.  I start
the process with

$ /usr/local/jdk1.4.1/bin/jdb \
    -Xdebug -Xnoagent \
    -Xrunjdwp:transport=dt_socket,address=2112,server=y,suspend=y \
    -classpath \
    /usr/local/eclipse-gtk/startup.jar \
    org.eclipse.core.launcher.Main \
    -os linux     -ws gtk     -arch x86

but when I attach to it with the debugger and "run", ktrace just shows
the process spinning on poll() and gettimeofday().

So now I'm out of my depth.  Actually, I was out of my depth a few
paragraphs ago.  Any ideas? :-)

Ciao,
Sheldon.

--jL2BoiuKMElzg3CS
Content-Type: application/x-tar-gz
Content-Disposition: attachment; filename="eclipse-gtk.tgz"
Content-Transfer-Encoding: base64

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
453WHXkfwUCsgyQEQUi7RvjIelzD7RH3EHUScW35tZBrY7DvJ+pxPAYN+Rpy54QaSRcp22fp
QyV5mCQPkb3jmtsgwDDC0kdXhpGVPqoyjKgMoyl9JCWMon4jqOvoqZ93GQ7VnWJHm6SWMVEh
C/czRl15E23G51DmXhARQhH3k3WSuk5T63kMeo4Mcv8NhD55F13aI++oSvsIbp2/j+DU93sA
jnq0j0DNgqMW7SOQC+GmQ3cBXpKOQraPS12mt04c5qO1zGPPB1kQLuHkHmw6u3k4rkJIbMky
I3ue7Puq9ujcKU/nHO2xecRaujndqrWav3yTBT6SN8JdULjnF1eynkWVojYyR3/i/9dO511w
CxhSEHvdKk3Y0jh9fnr67ddf/+n09PT5d9+c4s/T0xdf65+np999/dWLP51+9+1Xpy++O/3u
m2/l89988/XzP01O2XKw51+Fh+Qmkz/dzDEUcj74nHxsPj9Ehg77779NPn8jvp/Ur/4v68nz
k68nL05Pv5qevpi+eD55/s333/z7918/n5gKmpzfZ5PPj6Tc6xzgx8tX8vPR0buXl1fnF7PL
N1fns/Ozt28+XJ7/8GxZltn3U7m4vUviNBBNc5dNv/ljMRV5mhXTLy4//vjqzcUX06OjD2/f
XF7N5O//84dnhjV7f/nD5/+1+eX3yf85etZ8+fLi7OfW1/hr94FPbelPRvry09Xs1/OLyzfv
f5Hftn7TX5+9vzhvfd/+9fvL6cl0Nl3oBxs3a/Kp5rNJ4v3Hi7PzH778O3YoSMrJl1hT/8Qs
/nT5w7MPF+9/unj5bvb+49WHj1dS/MP7i6tfXtbS9df4l50vX52/fvnx7VV/xWy+HK6b+pne
uvnHq3/O3vxy9vbjq/MfPpPF2vz6+2dHR/XTde08e3HyvPnjjx/fvH31w7OLs82fXr28kq0B
29TpixfPZef+7qj1Xp/pOXfnZT7DVUTr7T2T6umo/cKevXj+1elR5x1hLk5Og6OjduafHb9p
vxUMih1XAib9f57OZZO+LsQRpnV5cfbDs2ef9U0Zirtyeq4/T+STkw9vpp06xOlHHuQPsq6y
oAyXx/J3KfP90bO/43M/v/998tkPP/zwH5PJB/w6Sha1vp/oJz+TT/73UEw+/69PF/+UGfl9
qloofvqb/OOHl1f4Gv9X/VF2nN+nSdpO68+7aZ3lchzBtIqHFfqoLSZybHRL+K3sHMfFej75
7ORkqv/XqoepHjfq0k8/+x+Tkz8fHakjI8NV8CN+7VgF2Eblr+dX57/8+rt8RHWq1ufmb6/f
vvxJtumVVG8znIvID/VX2AfNN6a+Hknu7MPvJm/Hnbd93NUechKgBMyjWWT19CbdgQZ30m1h
cpnc6fe47p62K1v7DrOsb/3wbpX35aXtzaybhSIPm7o6w1dwZqrfqxPKr08mx+GkTi/LJv/2
bwb/9pWE/lgs5dIAnTZPjtNNKbBGzad09606laj95mXhpp00dt5Au/aRZVn3+KhdzW8Zbupu
1ptl+75RD/3dfoFp7dReuz58Mzg1RZ4NjKl1h7Aw1nS5j/QIc7ba4qU0zw6/lWZhUT/aU9ZP
Pi9jWFEFcTzcmnfys6WzdrNWO3ud4DH7br11n2tqEM/0f7/bIgamP3JckvMONT79/Pv3nX4u
U1S5O5kqsOy8xaQ7hzm+a/8FJyXHcpK+gHKC9gDZVptMiTR88jwpiVdp2GQq0q6rnzxjJh9/
PkL/lpO5/H1Sd6UsT0UVyvrM4uP181Pl2Lh+/iRKogmGFwlBOzw27Wi/cqqb4PTz+daAdnQC
iZBfHR2ZBOSYaGposoAEcvRTncVRUaq+eXkulfuXxV/+b2vKKz/+8yf8dPnx9es3//n79C9/
+duk+IteKu99Tj/yl799qWZLV+8+qNXF75P/ZzL508W5LNrxevLl3x+lfTn5jzbjBVbMu3/i
5AulLs5VinvkZfHqkk+OMzuZyXGrAU2O550MyHyrKrt493s3Y5uahnxV9Oi819E9ajyl9+VK
DPJiGWWTIBETlIiKAgPAS/13LAWl3Cec910sJ3malt/fLQFi2xJrwLv3OGBfTBbp8Z2lZFOE
m96R9FLPYbEQ/7g4b89kP8PXoieqWFutvoROsK0SV96vn3pl/se/P/798e+Pf3/8++PfH//+
+DfOv/8PHmuycgBIAwA=

--jL2BoiuKMElzg3CS
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="bsd.port.mk.patch"


--jL2BoiuKMElzg3CS--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030306090708.GY60356>