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

Re: svn commit: r1179777 - /subversion/branches/1.7.x/STATUS

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Fri, 07 Oct 2011 09:51:33 +0100

philip_at_apache.org writes:

> Author: philip
> Date: Thu Oct 6 19:26:00 2011
> New Revision: 1179777
>
> URL: http://svn.apache.org/viewvc?rev=1179777&view=rev
> Log:
> * STATUS: Propose r1179680.
>
> Modified:
> subversion/branches/1.7.x/STATUS
>
> Modified: subversion/branches/1.7.x/STATUS
> URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1179777&r1=1179776&r2=1179777&view=diff
> ==============================================================================
> --- subversion/branches/1.7.x/STATUS (original)
> +++ subversion/branches/1.7.x/STATUS Thu Oct 6 19:26:00 2011
> @@ -145,6 +145,13 @@ Candidate changes:
> Votes:
> +1: stsp, danielsh
>
> + * r1179680
> + Fix javahl org.tigris.subversion to avoid double finalize.
> + Justification:
> + A double C++ delete can causes the JVM to SEGV.
> + Votes:
> + +1: philip

This bug causes the JVM to crash when programs use the 1.6 compatibility
namespace, org.tigris.subversion, and allow SVNClient or SVNAdmin
objects to be GC'd:

import org.tigris.subversion.javahl.SVNClient;
import org.tigris.subversion.javahl.SVNAdmin;
public class SVNTest {
    public void Test() {
        SVNClient client = new SVNClient();
        SVNAdmin admin = new SVNAdmin();
    }
    public static void main(String[] args) {
        SVNTest test = new SVNTest();
        test.Test();
        System.gc();
        test.Test();
    }
}

I believe we don't see it in our regression tests because the tests
only create one object of each kind and GC doesn't run at exit.

I don't know much about Java, is this a 1.7 release-critical issue?

-- 
Philip
Received on 2011-10-07 10:52:13 CEST

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