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

Re: JavaHL: JNIError: bad C++ this

From: Mark Phippard <markphip_at_gmail.com>
Date: Fri, 8 Jul 2016 10:38:16 -0400

On Fri, Jul 8, 2016 at 4:58 AM, Walter Klust <walter.klust_at_elego.de> wrote:

> Hello,
>
> I have an interesting problem concerning JavaHL:
>
> - Windows 7, JRE 8u66, Eclipse 4.2.1, Subclipse 1.8.22, JavaHL 1.8.10
> - a changeset of around 2000 files; roughly 50% modified and 50% deleted
> (probably to a large refactoring)
> - on trying to commit the changes eclipse pops up a message after a short
> time: "Internal error occured during SVNCommit", "bad C++ this"
>

I do not know if you are using changeset generically or referencing the
Eclipse changeset feature. But just to clarify for SVN devs, this is not
the SVN changelist feature. In terms of SVN commit, it would just be a
specific list of files to commit like any other commit. Eclipse changesets
are just a UI feature to organize the modified files.

> - in the eclipse logs a stacktrace was found:
>
> org.apache.subversion.javahl.JNIError: bad C++ this
> at org.apache.subversion.javahl.SVNClient.dispose(Native Method)
> at
>
> org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.dispose(AbstractJhlClientAdapter.java:3007)
> at
>
> org.tigris.subversion.subclipse.core.SVNClientManager.returnSVNClient(SVNClientManager.java:162)
> at
>
> org.tigris.subversion.subclipse.ui.operations.CommitOperation.execute(CommitOperation.java:113)
> at
>
> org.tigris.subversion.subclipse.ui.operations.SVNOperation.run(SVNOperation.java:90)
> at
>
> org.eclipse.team.internal.ui.actions.JobRunnableContext.run(JobRunnableContext.java:144)
> at
>
> org.eclipse.team.internal.ui.actions.JobRunnableContext$ResourceJob.runInWorkspace(JobRunnableContext.java:72)
> at
>
> org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
>
>
> - this error does not occur when trying to commit a subset of the changes,
> e.g. any 2 of 4 subdirectories can be comitted successfully but not all 4
> together.
>
> It looks to me like a quantity problem; something like an internal buffer
> overflow due to the large changeset. I tried to reproduce this with a
> similar number of modified/deleted files but had no success so far.
>
> Any ideas how to analyze this problem further ?
>
>
It sort of seems like it could be a Subclipse bug, though it is interesting
that it only manifests in specific scenarios. Makes me not really sure
where to look.

Does the commit work or record any errors? This exception is only
happening in some cleanup that occurs after the API calls would all be
completed or possibly after having processed an exception. IOW, this is
not failing during an API call, it is failing when Subclipse is just
disposing of the JavaHL client it obtained to make the API calls.
Something that is done for every API call.

The stack trace does not make a lot of sense either. This should be the
relevant place in the code:

 org.tigris.subversion.subclipse.ui.operations.CommitOperation.execute(CommitOperation.java:113)

But that does not line up with anything that makes a lot of sense for the
error.

-- 
Thanks
Mark Phippard
http://markphip.blogspot.com/
Received on 2016-07-08 16:38:25 CEST

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

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