Hi,
I've recently finished building and testing the subversion 1.2rc2
tarball with debian sarge prior to asking David Kimdon to upload to
experimental. In particular I have focused on building javahl with
kaffe, and testing the resulting libs/jar with various free and
non-free JDKs.
Overall good results, no major problems. Javahl builds fine with kaffe
with only 3 one-line patches. The resulting libs/jar pass the
equivalent of make check-javahl if I manually invoke
org.tigris.subversion.javahl.tests.BasicTests with IBM, Sun, and
Sablevm. The are also usable with svnup and the IBM jre.
Now the minor problems/bugs.
1. Kaffe is unable to run BasicTests.
The output is ".FATAL ERROR: No more room for local references". Kaffe
then exits immediately.
Google found this: http://www.kaffe.org/doc/kaffe/FAQ.references
Why do I get "FATAL ERROR: No more room for local references" ?
...
As a developer, it means that the native code has got too many
object references from the VM without acknowledging the VM that it
does not need anymore the object.
The FAQ references
http://java.sun.com/j2se/1.4.2/docs/guide/jni/jni-12.html#localrefs
which includes
jint EnsureLocalCapacity(JNIEnv *env, jint capacity);
Ensures that at least a given number of local references can be
created in the current thread. Returns 0 on success; otherwise
returns a negative number and throws an OutOfMemoryError.
Before it enters a native method, the VM automatically ensures
that at least 16 local references can be created.
For backward compatibility, the VM allocates local references
beyond the ensured capacity.... The VM calls FatalError if no
more local references can be created beyond the ensured
capacity.
Without looking at the javahl code, I'm guessing that javahl allocates
more than 16 local references in a native reference, without using
EnsureLocalCapacity(). Since Sable, Sun and IBM all seem to support
javahl as is, my gut feel is that this should be treated as a Kaffe
'feature'. I plan on following up to the Kaffe lists about this next
week.
2. make check-javahl fails when run with as root or fakeroot access.
The error appears to be in the second last test. The output is
......................F.
Time: 325.087
There was 1 failure:
1) testBasicLocking(org.tigris.subversion.javahl.tests.BasicTests)
junit.framework.AssertionFailedError: file should be read only now
expected:<false> but was:<true>
at org.tigris.subversion.javahl.tests.BasicTests.
testBasicLocking(BasicTests.java:1326)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at org.tigris.subversion.javahl.tests.BasicTests.main
(BasicTests.java:67)
3. No-one seems to have commented on the lists, but I'm getting 2
skipped tests. Is this expected? Are others seeing this?
At least one test was SKIPPED,
checking /home/andrew/src/svn/1.2rc2/pbuilder-sun1.4/subversion-1.2.0-rc2/tests.log
SKIP: revert_tests.py 2: reverting to corrupt text base should fail
SKIP: utf8_tests.py 1: conversion of paths and logs to/from utf8
Overall I'm very pleased with these results. Hopefully I'll be able to
convince David to enable the javahl bindings. Other distros should
follow.
Thanks for your time
--
Andrew V.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Apr 28 02:28:37 2005