Error with signed system commits made in the Bitbucket Data Center editor
Platform Notice: Data Center Only - This article only applies to Atlassian apps on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
Users are unable to commit changes using the UI browser editor. The commits fail with the error:
“Bitbucket couldn't sign your commits with the system signing key. Contact your administrator to check the logs for more details."
System signed commits work correctly when performed on local GIT client, and changes are pushed correctly to remote repository. Rotating the system signing key using the instructions from Signed system commits documentation does not fix the issue.
Environment
Bitbucket 8.19 but may apply to other version
Root cause
The system signing error is observed if the script, $BITBUCKET_HOME/mesh/bin/git-scripts/signing-callback fails to execute. This is a Perl script that Mesh uses to perform Git object signing/GPG signing of commits.
Solution
Validate perl signing callback
Validate the Perl installation on the server by running the following command as the Bitbucket user:
/usr/bin/env perl -V
Check the perl script
signing-callbackhas execute permission and is owned by the Bitbucket user by running:ls -lrt $BITBUCKET_HOME/mesh/bin/git-scripts/
Perform a simple perl syntax check against the script by running the following as the Bitbucket user:
cd $BITBUCKET_HOME/mesh/bin/git-scripts//usr/bin/env perl -c signing-callbackThe output should look like the following:
signing-callback syntax OK
If the above steps did resolve the issue, you'll need the output of the git command directed to stderr to get additional debug logging. Please reach out to Atlassian Support for assistance.
Diagnosis and log analysis
When affected by the error, Bitbucket Application logs will report following error message:
2025-09-19 13:23:38,820 DEBUG [http-nio-28199-exec-8 url: /b8199/rest/api/latest/projects/PROJ1/repos/repo8199b/browse/d.html; user: admin] admin @BF83M9x803x579x0 8g38f6 127.0.0.1 "PUT /rest/api/latest/projects/PROJ1/repos/repo8199b/browse/d.html HTTP/1.1" c.a.s.i.s.g.m.SigningErrorTranslator INTERNAL: Failed to sign the data
2025-09-19 13:23:38,821 ERROR [http-nio-28199-exec-8 url: /b8199/rest/api/latest/projects/PROJ1/repos/repo8199b/browse/d.html; user: admin] admin @BF83M9x803x579x0 8g38f6 127.0.0.1 "PUT /rest/api/latest/projects/PROJ1/repos/repo8199b/browse/d.html HTTP/1.1" c.a.s.i.s.git.mesh.GrpcCommitClient Failed to edit the file due to an issue with signing the commit
com.atlassian.bitbucket.scm.signed.SigningFailedException: Bitbucket couldn't sign your commits with the system signing key. Contact your administrator to check the logs for more details.
at com.atlassian.stash.internal.scm.git.mesh.SigningErrorTranslator.translate(SigningErrorTranslator.java:41)
at com.atlassian.stash.internal.scm.git.mesh.CreateBranchErrorTranslator.translate(CreateBranchErrorTranslator.java:46)
at com.atlassian.stash.internal.scm.git.mesh.EditFileErrorTranslator.translate(EditFileErrorTranslator.java:47)
...........
at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doFilter(BeforeLoginPluginAuthenticationFilter.java:73)
at com.atlassian.stash.internal.request.DefaultRequestManager.doAsRequest(DefaultRequestManager.java:84)
at com.atlassian.stash.internal.hazelcast.ConfigurableWebFilter.doFilter(ConfigurableWebFilter.java:38)
at java.base/java.lang.Thread.run(Thread.java:840)
... 342 frames trimmed
2025-09-19 13:23:38,822 DEBUG [http-nio-28199-exec-8 url: /b8199/rest/api/latest/projects/PROJ1/repos/repo8199b/browse/d.html; user: admin] admin @BF83M9x803x579x0 8g38f6 127.0.0.1 "PUT /rest/api/latest/projects/PROJ1/repos/repo8199b/browse/d.html HTTP/1.1" c.a.s.i.r.e.ServiceExceptionMapper Mapping SigningFailedException to REST response 500 - Bitbucket couldn't sign your commits with the system signing key. Contact your administrator to check the logs for more details.
atlassiTheMesh Application Log shows that git commit command is exited with code 128:
2025-09-19 13:23:38,813 DEBUG [grpc-server:thread-32] admin 4ERVU5LHx803x1236x2 @BF83M9x803x579x0 127.0.0.1 "CommitService/EditFile" (>2 <0) c.a.bitbucket.mesh.process.OsProcess 29869: [git commit -m d.html edited online with Bitbucket -q --no-verify -- d.html] exited 128 in 69ms (stdin: 0, stdout: 0, stderr: 450)Was this helpful?