You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Andrew Vaughan <aj...@netspace.net.au> on 2005/04/27 23:40:54 UTC

Subversion 1.2rc2, fakeroot & make check-javahl

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

Re: Subversion 1.2rc2, fakeroot & make check-javahl

Posted by Patrick Mayweg <ma...@qint.de>.
Hi Andrew,
thanks for test it. Unfortunately I will not be able to do much the next 
1.5 weeks, because I am holiday right now.
I try to use as little local references as possible, but it as sometimes 
quite difficult to stay below 16.
Patrick

Andrew Vaughan wrote:

>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
>
>  
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org