On Fri, Oct 7, 2011 at 5:51 AM, Philip Martin
<philip.martin_at_wandisco.com> wrote:
> 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?
Is it "a non-edge-case crash, a data corruption problem, a major
security hole, or something equally serious"? I would say "no".
People who are using these APIs can either wait a few weeks for 1.7.1,
or if embedding Subversion can manually include them.
-Hyrum
--
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com/
Received on 2011-10-07 14:18:01 CEST