-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Description
JabRef version
6.0-alpha2
Operating system
GNU / Linux
Details on version and operating system
Linux 6.8.0-71-generic amd64 / Java 24.0.2 / JavaFX 24.0.2+1
Checked with the latest development build (copy version output from About dialog)
- I made a backup of my libraries before testing the latest development version.
- I have tested the latest development version and the problem persists
Steps to reproduce the behaviour
- Configure git ssh key signing.
- Run the tests.
- Tests that rely on git client commits fail.
Appendix
SlrGitHandlerTest.calculateDiffOnBranch
2025-08-14 16:57:57 [ForkJoinPool-1-worker-1] org.eclipse.jgit.lib.Signers.loadSigners()
ERROR: org.eclipse.jgit.lib.SignerFactory: module org.eclipse.jgit does not declare `uses`: java.util.ServiceConfigurationError: org.eclipse.jgit.lib.SignerFactory: module org.eclipse.jgit does not declare `uses`
at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:559)
at java.base/java.util.ServiceLoader.checkCaller(ServiceLoader.java:545)
at java.base/java.util.ServiceLoader.<init>(ServiceLoader.java:480)
at java.base/java.util.ServiceLoader.load(ServiceLoader.java:1547)
at [email protected]/org.eclipse.jgit.lib.Signers.loadSigners(Signers.java:42)
at [email protected]/org.eclipse.jgit.lib.Signers.<clinit>(Signers.java:33)
at [email protected]/org.eclipse.jgit.api.CommitCommand.sign(CommitCommand.java:325)
at [email protected]/org.eclipse.jgit.api.CommitCommand.call(CommitCommand.java:281)
at org.jabref.jablib/org.jabref.logic.git.GitHandler.createCommitOnCurrentBranch(GitHandler.java:144)
at org.jabref.jablib/org.jabref.logic.git.GitHandler.<init>(GitHandler.java:51)
at org.jabref.jablib/org.jabref.logic.git.SlrGitHandler.<init>(SlrGitHandler.java:34)
at org.jabref.jablib/org.jabref.logic.git.SlrGitHandlerTest.setUpGitHandler(SlrGitHandlerTest.java:32)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
at [email protected]/org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:787)
at [email protected]/org.junit.platform.commons.support.ReflectionSupport.invokeMethod(ReflectionSupport.java:478)
at [email protected]/org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
at [email protected]/org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
at [email protected]/org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:161)
at [email protected]/org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:133)
at [email protected]/org.junit.jupiter.engine.extension.TimeoutExtension.interceptBeforeEachMethod(TimeoutExtension.java:83)
at [email protected]/org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:112)
at [email protected]/org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:94)
at [email protected]/org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
at [email protected]/org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
at [email protected]/org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
at [email protected]/org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
at [email protected]/org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:93)
at [email protected]/org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:87)
at [email protected]/org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeMethodInExtensionContext(ClassBasedTestDescriptor.java:547)
at [email protected]/org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$synthesizeBeforeEachMethodAdapter$20(ClassBasedTestDescriptor.java:532)
at [email protected]/org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeEachMethods$2(TestMethodTestDescriptor.java:193)
at [email protected]/org.junit.jupiter.engine.descriptor.CallbackSupport.lambda$invokeBeforeCallbacks$0(CallbackSupport.java:34)
at [email protected]/org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at [email protected]/org.junit.jupiter.engine.descriptor.CallbackSupport.invokeBeforeCallbacks(CallbackSupport.java:34)
at [email protected]/org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeEachMethods(TestMethodTestDescriptor.java:191)
at [email protected]/org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:155)
at [email protected]/org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:70)
at [email protected]/org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:157)
at [email protected]/org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at [email protected]/org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:147)
at [email protected]/org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at [email protected]/org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:145)
at [email protected]/org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at [email protected]/org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:144)
at [email protected]/org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:101)
at [email protected]/org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:274)
at [email protected]/org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.execSync(ForkJoinPoolHierarchicalTestExecutorService.java:247)
at [email protected]/org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.executeSync(ForkJoinPoolHierarchicalTestExecutorService.java:194)
at [email protected]/org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:166)
at [email protected]/org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:161)
at [email protected]/org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at [email protected]/org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:147)
at [email protected]/org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at [email protected]/org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:145)
at [email protected]/org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at [email protected]/org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:144)
at [email protected]/org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:101)
at [email protected]/org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:274)
at [email protected]/org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.execSync(ForkJoinPoolHierarchicalTestExecutorService.java:247)
at [email protected]/org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.executeSync(ForkJoinPoolHierarchicalTestExecutorService.java:194)
at [email protected]/org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:166)
at [email protected]/org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:161)
at [email protected]/org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at [email protected]/org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:147)
at [email protected]/org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at [email protected]/org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:145)
at [email protected]/org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at [email protected]/org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:144)
at [email protected]/org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:101)
at [email protected]/org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:274)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1394)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1970)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187)
2025-08-14 16:57:57 [ForkJoinPool-1-worker-1] org.jabref.logic.git.GitHandler.<init>()
ERROR: Initialization failed
SemanticConflictDetectorTest.semanticConflicts
org.eclipse.jgit.api.errors.UnsupportedSigningFormatException: No signer for ssh signatures. Use another signature type for git config gpg.format, or do not sign.
at [email protected]/org.eclipse.jgit.api.CommitCommand.sign(CommitCommand.java:327)
at [email protected]/org.eclipse.jgit.api.CommitCommand.call(CommitCommand.java:281)
at org.jabref.jablib/org.jabref.logic.git.util.SemanticConflictDetectorTest.writeAndCommit(SemanticConflictDetectorTest.java:92)
at org.jabref.jablib/org.jabref.logic.git.util.SemanticConflictDetectorTest.writeAndCommit(SemanticConflictDetectorTest.java:96)
at org.jabref.jablib/org.jabref.logic.git.util.SemanticConflictDetectorTest.semanticConflicts(SemanticConflictDetectorTest.java:67)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215)
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:807)
at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:294)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215)
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:636)
at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:294)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1716)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:636)
at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:294)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1716)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:636)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1394)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1970)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187)
SSH Configuration
user.name=Chris Denman
user.email=[email protected]
user.signingkey=/home/cdenman/.ssh/my_key.pub
core.autocrlf=input
init.defaultbranch=main
gpg.format=ssh
commit.gpgsign=true
tag.gpgsign=true
gpg.ssh.allowedsignersfile=/home/cdenman/.git/allowed_signers
Metadata
Metadata
Assignees
Type
Projects
Status
Done