Non-zero exit code 129 BCMA Migration Failure

Still need help?

The Atlassian Community is here for you.

Ask the community


  

Platform Notice: Cloud, Server, and Data Center - This article applies equally to all platforms.

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

Unable to migrate repository to Bitbucket Cloud due to Git error code 129.

2022-12-10 11:11:11,101 ERROR [bcma-4]  c.a.b.s.g.c.GitCommandExitHandler [/bin/git rev-list --format=%H%x02%P%x02%aN%x02%aE%x02%at%x02%cN%x02%cE%x02%ct%n%B%n%x03END%x04 --ignore-missing --stdin --no-walk=unsorted --] The syntax used is incorrect. git exited and printed a usage block
2022-11-11 11:11:11,101 ERROR [bcma-1]  c.a.b.p.b.j.MigrationJobPollerDelegate task worker failed to process a task [<...>::BitbucketRepositoryPullRequestUpload::<...>, poller-BitbucketRepositoryPullRequestUpload-<...>]
com.atlassian.bitbucket.scm.CommandUsageException: The syntax used for the command is incorrect.
...
Suppressed: com.atlassian.utils.process.ProcessException: Non-zero exit code: 129 


Environment

Any migration from Bitbucket Data Center to Bitbucket Cloud where git 2.24 or earlier is installed on Bitbucket Data Center.

Diagnosis

When upgrading, Bitbucket Data Center will show the following exception in the atlassian-bitbucket.log log:


2022-12-10 11:11:11,101 ERROR [bcma-4]  c.a.b.s.g.c.GitCommandExitHandler [/bin/git rev-list --format=%H%x02%P%x02%aN%x02%aE%x02%at%x02%cN%x02%cE%x02%ct%n%B%n%x03END%x04 --ignore-missing --stdin --no-walk=unsorted --] The syntax used is incorrect. git exited and printed a usage block
2022-11-11 11:11:11,101 ERROR [bcma-1]  c.a.b.p.b.j.MigrationJobPollerDelegate task worker failed to process a task [<...>::BitbucketRepositoryPullRequestUpload::<...>, poller-BitbucketRepositoryPullRequestUpload-<...>]
com.atlassian.bitbucket.scm.CommandUsageException: The syntax used for the command is incorrect.
        at com.atlassian.bitbucket.scm.git.command.GitCommandExitHandler.checkUsage(GitCommandExitHandler.java:63)
        at com.atlassian.bitbucket.scm.git.command.GitCommandExitHandler.evaluateStdErr(GitCommandExitHandler.java:69)
        at com.atlassian.bitbucket.scm.git.command.GitCommandExitHandler.onError(GitCommandExitHandler.java:204)
        at com.atlassian.bitbucket.scm.DefaultCommandExitHandler.onExit(DefaultCommandExitHandler.java:32)
        at com.atlassian.bitbucket.internal.process.nu.NioNuProcessHandler.callExitHandler(NioNuProcessHandler.java:314)
        at com.atlassian.bitbucket.internal.process.nu.NioNuProcessHandler.finish(NioNuProcessHandler.java:355)
        at com.atlassian.bitbucket.internal.process.nu.NioNuProcessHandler.onExit(NioNuProcessHandler.java:122)
        at com.zaxxer.nuprocess.internal.BasePosixProcess.onExit(BasePosixProcess.java:317)
        at com.zaxxer.nuprocess.linux.ProcessEpoll.handleExit(ProcessEpoll.java:356)
        at com.zaxxer.nuprocess.linux.ProcessEpoll.cleanupProcess(ProcessEpoll.java:319)
        at com.zaxxer.nuprocess.linux.ProcessEpoll.process(ProcessEpoll.java:257)
        at com.zaxxer.nuprocess.internal.BaseEventProcessor.run(BaseEventProcessor.java:86)
        at com.zaxxer.nuprocess.linux.ProcessEpoll.run(ProcessEpoll.java:163)
        at com.zaxxer.nuprocess.linux.LinuxProcess.run(LinuxProcess.java:111)
        at com.zaxxer.nuprocess.linux.LinProcessFactory.runProcess(LinProcessFactory.java:50)
        at com.zaxxer.nuprocess.NuProcessBuilder.run(NuProcessBuilder.java:275)
        at com.atlassian.bitbucket.internal.process.nu.NuNioProcessHelper.run(NuNioProcessHelper.java:75)
        at com.atlassian.bitbucket.internal.process.NioCommand.call(NioCommand.java:52)
        at com.atlassian.stash.internal.commit.DefaultCommitService.streamCommits(DefaultCommitService.java:248)
        at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
        at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
        at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
        at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)
        at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)
        at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
        at com.atlassian.bitbucket.plugin.bcma.pullrequest.CommentService.getCommitOrNull(CommentService.kt:92)
        at com.atlassian.bitbucket.plugin.bcma.pullrequest.CommentService.toStashPullRequestAnchor(CommentService.kt:113)
        at com.atlassian.bitbucket.plugin.bcma.pullrequest.CommentService.access$toStashPullRequestAnchor(CommentService.kt:23)
        at com.atlassian.bitbucket.plugin.bcma.pullrequest.CommentService$getComments$1$1.invoke(CommentService.kt:50)
        at com.atlassian.bitbucket.plugin.bcma.pullrequest.CommentService$getComments$1$1.invoke(CommentService.kt:36)
        at com.atlassian.bitbucket.plugin.bcma.pullrequest.compat.BitbucketPre714PullRequestActivityService.visitPullRequestActivities$lambda-1$lambda-0(BitbucketPre714PullRequestActivityService.kt:67)
        at java.lang.Iterable.forEach(Iterable.java:75)
        at com.atlassian.bitbucket.util.PageImpl.forEach(PageImpl.java:92)
        at com.atlassian.bitbucket.plugin.bcma.pullrequest.compat.BitbucketPre714PullRequestActivityService.visitPullRequestActivities$lambda-1(BitbucketPre714PullRequestActivityService.kt:67)
        at com.atlassian.sal.core.transaction.HostContextTransactionTemplate$1.doInTransaction(HostContextTransactionTemplate.java:21)
        at com.atlassian.stash.internal.sal.spi.HostContextAccessorImpl.doInTransaction(HostContextAccessorImpl.java:54)
        at com.atlassian.sal.core.transaction.HostContextTransactionTemplate.execute(HostContextTransactionTemplate.java:18)
        at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
        at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
        at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
        at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)
        at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)
        at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
        at com.atlassian.bitbucket.plugin.bcma.pullrequest.compat.BitbucketPre714PullRequestActivityService.visitPullRequestActivities(BitbucketPre714PullRequestActivityService.kt:65)
        at com.atlassian.bitbucket.plugin.bcma.pullrequest.CommentService.getComments$lambda-0(CommentService.kt:36)
        at com.atlassian.stash.internal.user.DefaultEscalatedSecurityContext.call(DefaultEscalatedSecurityContext.java:59)
        at com.atlassian.bitbucket.plugin.bcma.pullrequest.CommentService.getComments(CommentService.kt:35)
        at com.atlassian.bitbucket.plugin.bcma.jobs.RepositoryPullRequestUploadJob.run(RepositoryPullRequestUploadJob.kt:60)
        at com.atlassian.bitbucket.plugin.bcma.jobs.InterruptableMigrationJob.run(InterruptableMigrationJob.kt:37)
        at com.atlassian.bitbucket.plugin.bcma.jobs.DefaultMigrationJobService$TrackingMigrationJob.run(DefaultMigrationJobService.kt:77)
        at com.atlassian.bitbucket.plugin.bcma.jobs.MigrationJobPollerDelegate$createAndRunJob$2.invoke(MigrationJobPollerDelegate.kt:199)
        at com.atlassian.bitbucket.plugin.bcma.jobs.MigrationJobPollerDelegate$createAndRunJob$2.invoke(MigrationJobPollerDelegate.kt:199)
        at com.atlassian.bitbucket.plugin.bcma.utils.WorkTracker.createWorkAndRun(WorkTracker.kt:37)
        at com.atlassian.bitbucket.plugin.bcma.jobs.MigrationJobPollerDelegate.createAndRunJob(MigrationJobPollerDelegate.kt:196)
        at com.atlassian.bitbucket.plugin.bcma.jobs.MigrationJobPollerDelegate.runJob(MigrationJobPollerDelegate.kt:131)
        at com.atlassian.bitbucket.plugin.bcma.jobs.MigrationJobPollerDelegate.dispatchTask(MigrationJobPollerDelegate.kt:119)
        at com.atlassian.bitbucket.plugin.bcma.jobs.MigrationJobPollerDelegate.pollForTaskAndDispatch(MigrationJobPollerDelegate.kt:98)
        at com.atlassian.bitbucket.plugin.bcma.jobs.MigrationJobPollerDelegate.run(MigrationJobPollerDelegate.kt:40)
        at com.atlassian.bitbucket.plugin.bcma.polling.Poller.doPoll(Poller.kt:115)
        at com.atlassian.sal.core.executor.ThreadLocalDelegateRunnable.run(ThreadLocalDelegateRunnable.java:34)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.lang.Thread.run(Thread.java:748)
        ... 83 frames trimmed
        Suppressed: com.atlassian.utils.process.ProcessException: Non-zero exit code: 129
                at com.atlassian.bitbucket.internal.process.nu.NioNuProcessHandler.callExitHandler(NioNuProcessHandler.java:306)
                ... 62 common frames omitted


Cause

When git rev-list on git version 2.24 or earlier gets a incomplete or null hash, it exits with 129.  For git version 2.25 or later, the exit code status is null.  Bitbucket Cloud Migration Assistant, BMCA, expects a exit code of 0 when this happens.  This error code cause the migration to stop.  

Solution

Upgrade git on Bitbucket Data Center to v2.25 or higher.      

Last modified on Dec 15, 2022

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.