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

  1. Validate the Perl installation on the server by running the following command as the Bitbucket user:

    • /usr/bin/env perl -V

  2. Check the perl script signing-callback has execute permission and is owned by the Bitbucket user by running:

    • ls -lrt $BITBUCKET_HOME/mesh/bin/git-scripts/

  3. 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-callback

    • The 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. atlassi

TheMesh 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)

Updated on December 11, 2025

Still need help?

The Atlassian Community is here for you.