Unable to make field private java.lang.Throwable java.lang.Throwable.cause accessible
Summary
It seems like some parts of Subversive are not Java 17 ready, as Subversive tries to get access to a field via reflection which isn't allowed on Java 17 anymore.
Steps to reproduce
Perform an SVN action that fails, Subversion tries to process the Exception and fails to do so.
Affected versions
- Eclipse Version: 2023-06 (see: Help | Eclipse IDE)
- Subversive Version: 4.8.0 (see: Help | Eclipse IDE | Installation Details -> search for 'Subversive')
- Subversive Connector Version: SVNKit/1.8.14 (see same search dialog as above)
Version: 4.8.0
SVN Client: org.eclipse.team.svn.connector.svnkit18 6.0.4.I20161211-1700 SVN/1.9.0 SVNKit/1.8.14 (http://svnkit.com/) r10627
JVM Properties: {java.version=17.0.7, os.arch=amd64, user.language=de, java.runtime.version=17.0.7+7, eclipse.commands=-os win32 -ws win32 -arch x86_64 -showsplash C:\Eclipse\plugins\org.eclipse.epp.package.common_4.28.0.20230608-1200\splash.bmp -launcher C:\Eclipse\eclipse.exe -name Eclipse --launcher.library C:\Eclipse\plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.700.v20221108-1024\eclipse_11801.dll -startup C:\Eclipse\plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar --launcher.appendVmargs -product org.eclipse.epp.package.rcp.product -launcher C:\Eclipse\eclipse.exe -product org.eclipse.epp.package.rcp.product -data file:/C:/MyWorkspace/ -vm C:\Eclipse\plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.7.v20230425-1502/jre/bin\server\jvm.dll , path.separator=;, os.version=10.0, file.separator=, java.runtime.name=OpenJDK Runtime Environment, line.separator= , file.encoding=Cp1252, java.vm.info=mixed mode, java.vendor=Eclipse Adoptium, user.timezone=Europe/Berlin, os.name=Windows 10, java.vm.name=OpenJDK 64-Bit Server VM, java.class.version=61.0, user.country=DE}
org.eclipse.team.svn.core.connector.SVNConnectorException: svn: E200007: Commit failed (details follow): org.eclipse.team.svn.core.connector.SVNConnectorException: svn: E200007: Commit failed (details follow): at org.eclipse.team.svn.core.operation.SVNProgressMonitor.progress(SVNProgressMonitor.java:50) at org.polarion.team.svn.connector.svnkit.SVNKitService$ProgressMonitorWrapper.notify(SVNKitService.java:139) at org.eclipse.team.svn.core.utility.SVNNotificationComposite.notify(SVNNotificationComposite.java:51) at org.polarion.team.svn.connector.svnkit.ConversionUtility$Notify2Wrapper.onNotify(ConversionUtility.java:926) at org.tmatesoft.svn.core.javahl17.JavaHLEventHandler.handleEvent(JavaHLEventHandler.java:64) at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.handleEvent(SvnOperationRunner.java:67) at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCommit.doRun(SvnNgCommit.java:284) at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCommit.run(SvnNgCommit.java:145) at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCommit.run(SvnNgCommit.java:1) at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgOperationRunner.run(SvnNgOperationRunner.java:20) at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:21) at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1235) at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294) at org.tmatesoft.svn.core.wc2.SvnCommit.run(SvnCommit.java:198) at org.tmatesoft.svn.core.javahl17.SVNClientImpl.commit(SVNClientImpl.java:502) at org.polarion.team.svn.connector.svnkit.SVNKitConnector.commit(SVNKitConnector.java:494) at org.eclipse.team.svn.core.extension.factory.ThreadNameModifier.commit(ThreadNameModifier.java:117) at org.eclipse.team.svn.core.operation.local.CommitOperation$2.run(CommitOperation.java:130) at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doSubTask(ProgressMonitorUtility.java:118) at org.eclipse.team.svn.core.operation.AbstractActionOperation.protectStep(AbstractActionOperation.java:156) at org.eclipse.team.svn.core.operation.AbstractActionOperation.protectStep(AbstractActionOperation.java:151) at org.eclipse.team.svn.core.operation.local.CommitOperation.performCommit(CommitOperation.java:127) at org.eclipse.team.svn.core.operation.local.CommitOperation.runImpl(CommitOperation.java:98) at org.eclipse.team.svn.core.operation.AbstractActionOperation.run(AbstractActionOperation.java:82) at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doTask(ProgressMonitorUtility.java:104) at org.eclipse.team.svn.core.operation.CompositeOperation.runImpl(CompositeOperation.java:99) at org.eclipse.team.svn.core.operation.AbstractActionOperation.run(AbstractActionOperation.java:82) at org.eclipse.team.svn.core.operation.LoggedOperation.run(LoggedOperation.java:40) at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doTask(ProgressMonitorUtility.java:104) at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doTaskExternal(ProgressMonitorUtility.java:90) at org.eclipse.team.svn.ui.utility.WorkspaceModifyCancellableOperationWrapper.execute(WorkspaceModifyCancellableOperationWrapper.java:58) at org.eclipse.ui.actions.WorkspaceModifyOperation.lambda$0(WorkspaceModifyOperation.java:110) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2382) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2407) at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:131) at org.eclipse.team.svn.ui.utility.SVNTeamOperationWrapper.run(SVNTeamOperationWrapper.java:35) at org.eclipse.team.internal.ui.actions.JobRunnableContext.run(JobRunnableContext.java:155) at org.eclipse.team.internal.ui.actions.JobRunnableContext$ResourceJob.runInWorkspace(JobRunnableContext.java:83) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
java.lang.reflect.InaccessibleObjectException: Unable to make field private java.lang.Throwable java.lang.Throwable.cause accessible: module java.base does not "opens java.lang" to unnamed module @5603e432 java.lang.reflect.InaccessibleObjectException: Unable to make field private java.lang.Throwable java.lang.Throwable.cause accessible: module java.base does not "opens java.lang" to unnamed module @5603e432 at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178) at java.base/java.lang.reflect.Field.setAccessible(Field.java:172) at org.tmatesoft.svn.core.javahl17.SVNClientImpl.getClientException(SVNClientImpl.java:1547) at org.tmatesoft.svn.core.javahl17.SVNClientImpl.commit(SVNClientImpl.java:504) at org.polarion.team.svn.connector.svnkit.SVNKitConnector.commit(SVNKitConnector.java:494) at org.eclipse.team.svn.core.extension.factory.ThreadNameModifier.commit(ThreadNameModifier.java:117) at org.eclipse.team.svn.core.operation.local.CommitOperation$2.run(CommitOperation.java:130) at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doSubTask(ProgressMonitorUtility.java:118) at org.eclipse.team.svn.core.operation.AbstractActionOperation.protectStep(AbstractActionOperation.java:156) at org.eclipse.team.svn.core.operation.AbstractActionOperation.protectStep(AbstractActionOperation.java:151) at org.eclipse.team.svn.core.operation.local.CommitOperation.performCommit(CommitOperation.java:127) at org.eclipse.team.svn.core.operation.local.CommitOperation.runImpl(CommitOperation.java:98) at org.eclipse.team.svn.core.operation.AbstractActionOperation.run(AbstractActionOperation.java:82) at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doTask(ProgressMonitorUtility.java:104) at org.eclipse.team.svn.core.operation.CompositeOperation.runImpl(CompositeOperation.java:99) at org.eclipse.team.svn.core.operation.AbstractActionOperation.run(AbstractActionOperation.java:82) at org.eclipse.team.svn.core.operation.LoggedOperation.run(LoggedOperation.java:40) at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doTask(ProgressMonitorUtility.java:104) at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doTaskExternal(ProgressMonitorUtility.java:90) at org.eclipse.team.svn.ui.utility.WorkspaceModifyCancellableOperationWrapper.execute(WorkspaceModifyCancellableOperationWrapper.java:58) at org.eclipse.ui.actions.WorkspaceModifyOperation.lambda$0(WorkspaceModifyOperation.java:110) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2382) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2407) at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:131) at org.eclipse.team.svn.ui.utility.SVNTeamOperationWrapper.run(SVNTeamOperationWrapper.java:35) at org.eclipse.team.internal.ui.actions.JobRunnableContext.run(JobRunnableContext.java:155) at org.eclipse.team.internal.ui.actions.JobRunnableContext$ResourceJob.runInWorkspace(JobRunnableContext.java:83) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)