[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Subversion 1.2rc2, fakeroot & make check-javahl

From: Andrew Vaughan <ajv-lists_at_netspace.net.au>
Date: 2005-04-28 01:40:54 CEST

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

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.