You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have a Git Client add-on for Oxygen XML Editor, built on top of JGit. Oxygen uses a SecurityManager. Everything worked fine until we updated JGit from 7.0.0 to 7.1.0. Now we get an AccessControlException when we start Oxygen.
Actual behavior
Oxygen cannot start and we get the exception from Relevant log output.
Expected behavior
The error should not happen.
Relevant log output
Exception in thread "pool-3-thread-1" java.lang.NoClassDefFoundError: Could not initialize class ch.qos.logback.core.CoreConstants
at ch.qos.logback.classic.pattern.LineSeparatorConverter.convert(LineSeparatorConverter.java:22)
at ch.qos.logback.classic.pattern.LineSeparatorConverter.convert(LineSeparatorConverter.java:19)
at ch.qos.logback.core.pattern.FormattingConverter.write(FormattingConverter.java:36)
at ch.qos.logback.core.pattern.PatternLayoutBase.writeLoopOnConverters(PatternLayoutBase.java:116)
at ch.qos.logback.classic.PatternLayout.doLayout(PatternLayout.java:176)
at ch.qos.logback.classic.PatternLayout.doLayout(PatternLayout.java:39)
at ch.qos.logback.core.encoder.LayoutWrappingEncoder.encode(LayoutWrappingEncoder.java:114)
at ch.qos.logback.core.OutputStreamAppender.writeOut(OutputStreamAppender.java:192)
at ch.qos.logback.core.OutputStreamAppender.subAppend(OutputStreamAppender.java:237)
at ch.qos.logback.core.OutputStreamAppender.append(OutputStreamAppender.java:102)
at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:85)
at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:51)
at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:272)
at ch.qos.logback.classic.Logger.callAppenders(Logger.java:259)
at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:426)
at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:386)
at ch.qos.logback.classic.Logger.error(Logger.java:543)
at com.oxygenxml.git.service.x$1.afterExecute(x.java)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1139)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.lang.ExceptionInInitializerError: Exception java.security.AccessControlException: access denied ("java.util.PropertyPermission""line.separator""read") [in thread "ForkJoinPool.commonPool-worker-1"]
at java.base/java.security.AccessControlContext.checkPermission(AccessControlContext.java:485)
at java.base/java.security.AccessController.checkPermission(AccessController.java:1068)
at java.base/java.lang.SecurityManager.checkPermission(SecurityManager.java:416)
at ro.sync.security.manager.q.checkPermissionInternal(q.java)
at ro.sync.security.manager.q.checkPermission(q.java)
at java.base/java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1160)
at java.base/java.lang.System.getProperty(System.java:929)
at ch.qos.logback.core.CoreConstants.<clinit>(CoreConstants.java:44)
at ch.qos.logback.classic.pattern.LineSeparatorConverter.convert(LineSeparatorConverter.java:22)
at ch.qos.logback.classic.pattern.LineSeparatorConverter.convert(LineSeparatorConverter.java:19)
at ch.qos.logback.core.pattern.FormattingConverter.write(FormattingConverter.java:36)
at ch.qos.logback.core.pattern.PatternLayoutBase.writeLoopOnConverters(PatternLayoutBase.java:116)
at ch.qos.logback.classic.PatternLayout.doLayout(PatternLayout.java:176)
at ch.qos.logback.classic.PatternLayout.doLayout(PatternLayout.java:39)
at ch.qos.logback.core.encoder.LayoutWrappingEncoder.encode(LayoutWrappingEncoder.java:114)
at ch.qos.logback.core.OutputStreamAppender.writeOut(OutputStreamAppender.java:192)
at ch.qos.logback.core.OutputStreamAppender.subAppend(OutputStreamAppender.java:237)
at ch.qos.logback.core.OutputStreamAppender.append(OutputStreamAppender.java:102)
at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:85)
at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:51)
at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:272)
at ch.qos.logback.classic.Logger.callAppenders(Logger.java:259)
at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:426)
at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:386)
at ch.qos.logback.classic.Logger.error(Logger.java:543)
at org.eclipse.jgit.util.FS$FileStoreAttributes.lambda$5(FS.java:442)
at java.base/java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:990)
at java.base/java.util.concurrent.CompletableFuture$UniExceptionally.tryFire(CompletableFuture.java:974)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1773)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
Other information
I think the fix is to be done on org.eclipse.jgit.util.FS.FileStoreAttributes.getFileStoreAttributes(Path). When creating CompletableFuture<Optional<FileStoreAttributes>> f, insead of calling java.util.concurrent.CompletableFuture.supplyAsync(Supplier<U>), try using the other signature, java.util.concurrent.CompletableFuture.supplyAsync(Supplier<U>, Executor) and for the second param pass a thread pool other than java.util.concurrent.ForkJoinPool.commonPool(), for example Executors.newFixedThreadPool(1).
The text was updated successfully, but these errors were encountered:
Version
7.1.0
Operating System
Windows
Bug description
We have a Git Client add-on for Oxygen XML Editor, built on top of JGit. Oxygen uses a SecurityManager. Everything worked fine until we updated JGit from 7.0.0 to 7.1.0. Now we get an
AccessControlException
when we start Oxygen.Actual behavior
Oxygen cannot start and we get the exception from
Relevant log output
.Expected behavior
The error should not happen.
Relevant log output
Other information
I think the fix is to be done on
org.eclipse.jgit.util.FS.FileStoreAttributes.getFileStoreAttributes(Path)
. When creatingCompletableFuture<Optional<FileStoreAttributes>> f
, insead of callingjava.util.concurrent.CompletableFuture.supplyAsync(Supplier<U>)
, try using the other signature,java.util.concurrent.CompletableFuture.supplyAsync(Supplier<U>, Executor)
and for the second param pass a thread pool other thanjava.util.concurrent.ForkJoinPool.commonPool()
, for exampleExecutors.newFixedThreadPool(1)
.The text was updated successfully, but these errors were encountered: