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

apr/javahl crash on Win32 (was Re: JavaHL 1.2 Problem -- Test Case attached)

From: Andrew Vaughan <ajv-lists_at_netspace.net.au>
Date: 2005-05-01 15:29:01 CEST

svn devs please note: this bug causes the jvm to crash. This means
merge is not usable via javahl.

On Sat, 30 Apr 2005 06:44 am, Mark Phippard wrote:
[...]
> dlr tested it on FC3 and did not get the problem, so this might be a
> Win32 only problem. I am going to try to test it on OS X this
> weekend.
>
> Could someone run this test on Win32 and see if they get the same
> problem?

I failed to reproduce this on Linux (Debian sarge).

I can reproduce this on Windows 2000 SP4.
(crash logs attached).

<<<< hs_err_pid1112.log >>>>
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_STACK_OVERFLOW (0xc00000fd) occurred at
PC=0x6EED5397
Function=apr_get_username+0x47
Library=C:\svn1.2rc\Subversion\bin\libapr.dll

<snip>
(full log attached)

From the command line the equivalent commands runs fine, without asking
for any authentication. Mark as already commented that this only
happens over http. I'm wondering if this is actually an apr bug.

I would attempt to debug this, but I don't have a windows development
environment.

> I have attached an edited version of BasicTests.java from trunk.
>
> I added a new testMergeCrash() method. It runs 2nd so that you do
> not have to wait. The 1st test lets me know I have things setup
> correctly to run tests.
>
<snip>

> Here is the new test if you want to just cut & paste it.
>
> /**
> * thest the basic SVNClient.merge functionality
> * @throws Throwable
> * @since 1.2
> */
> public void testMergeCrash() throws Throwable
> {
> // build the test setup
> OneTest thisTest = new OneTest();
> String wc = thisTest.getWCPath() + "/javahl_test";
>
> String baseURL = "http://svn.collab.net/repos/subclipse";
> String branchURL = baseURL + "/branches/subclipse-3/core";
> String trunkURL = baseURL + "/trunk/subclipse/core";
> Revision fromRev = new Revision.Number(1330);
> Revision toRev = new Revision.Number(1331);
>
> // checkout Subclipse core module from branch
> client.checkout(branchURL, wc, Revision.HEAD, true);
>
> // test --dry-run of r1331 from trunk
> client.merge(trunkURL, fromRev, trunkURL, toRev, wc, false,
> true, false, true);
>
> // now do the real merge of r1331 from trunk
> client.merge(trunkURL, fromRev, trunkURL, toRev, wc, false,
> true, false, true);
>
> }
>

Mark, you are passing true for the dryRun paramenter in both
client.merge() lines.

The crash happens in both cases. (ie dryRun=false and dryRun=true)

My test setup
Machine 1
- Debian Sarge
Subversion built from 1.2rc2 tarball + modified BasicTest.java from Mark
Phippard + kaffe_patches, using apr apache neon etc as installed from
debian packages. Sun jdk1.4.2

libapr0 2.0.53-5
libapr0-dev 2.0.53-5
libneon24 0.24.7.dfsg-1
libneon24-dev 0.24.7.dfsg-1
swig 1.3.24-1

tests all pass with java versions sun 1.4.2, sun 1.5, IBM 1.4.2,
Sablevm 1.11.3-1

Machine 2
- Debian Sarge

as above but built from 1.2.x at rev 14530

- windows 2000 sp4
1.2rc2 downloaded from tigris.org

BasicTest.java Fails with both sun 1.4.2 and 1.5 jvms

Attached error logs from sun 1.4.2 and 1.5 jvm

Hope this helps
Andrew V.

</Humour mode on>
Mark do you think this might get more attention if you just committed
the failing test to trunk.
I believe someone is running automated tests of trunk.
</Humour mode off>

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

Received on Sun May 1 15:29:44 2005

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