getsentry / sentry-android-gradle-plugin

Gradle plugin for Sentry Android. Upload proguard, debug files, and more.

Home Page:https://docs.sentry.io/platforms/android/gradle/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Release build fails on Linux CI

tananaev opened this issue · comments

Gradle Version

8.4

AGP Version

8.3.1

Code Minifier/Optimizer

R8

Version

4.4.0

Sentry SDK Version

7.6.0

Steps to Reproduce

Sentry configuration:

val isCi = System.getenv("CI") == "true"
sentry {
    org.set("...")
    projectName.set("...")
    authToken.set(System.getenv("SENTRY_AUTH_TOKEN"))
    includeProguardMapping.set(isCi)
    autoUploadProguardMapping.set(isCi)
    uploadNativeSymbols.set(isCi)
    autoUploadNativeSymbols.set(isCi)
    additionalSourceDirsForSourceContext.addAll("src/googlePlay/java", "src/internal/java")

    autoInstallation {
        enabled.set(false)
    }
}

Run release build:

./gradlew clean :app:bundleFlavorRelease --no-configuration-cache

Expected Result

Build should not fail.

Actual Result

Build fails with:

* What went wrong:
Execution failed for task ':app:***SentryNativeSymbolsForInternalRelease'.
> A problem occurred starting process 'command '/home/runner/work/.../app/build/tmp/sentry-cli-2.28.6.exe''

It's unclear why it's trying to run an exe file on Linux.

hi @tananaev could you please post the full log (and also enable debug logging via sentry { debug.set(true) }? I believe the reason is something different, .exe is just a file extension to run the cli on Windows, but it shouldn't matter really for Linux. E.g. we run the cli on our CI just fine, see here: https://github.com/getsentry/sentry-android-gradle-plugin/actions/runs/8435337336/job/23100506620#step:4:674

@romtsn, here's the last part of the build log with debug enabled:

...
> Task :app:kaptGenerateStubsInternalReleaseKotlin
> Task :app:kaptInternalReleaseKotlin
> Task :app:compileInternalReleaseKotlin
> Task :app:compileInternalReleaseJavaWithJavac
> Task :app:processInternalReleaseJavaRes
> Task :app:transformInternalReleaseClassesWithAsm
> Task :app:mergeInternalReleaseGeneratedProguardFiles
> Task :app:mergeInternalReleaseJavaResource
> Task :app:expandInternalReleaseArtProfileWildcards
> Task :app:minifyInternalReleaseWithR8

> Task :app:***MappingInternalRelease
Mapping file *** successful with tags `service:com.openai.chatgpt.internal`, `version:277`, `variant:internal`. 
Make sure the SDK is initialized with the same values to ensure proper deobfuscation. Mapping files will be processed and ready within the next five minutes.

> Task :app:generateSentryProguardUuidInternalRelease
> Task :app:generateSentryDebugMetaPropertiesInternalRelease
> Task :app:mergeInternalReleaseAssets
> Task :app:l8DexDesugarLibInternalRelease
> Task :app:buildInternalReleasePreBundle
> Task :app:compileInternalReleaseArtProfile
> Task :app:packageInternalReleaseBundle
> Task :app:shrinkBundleInternalReleaseResources
> Task :app:signInternalReleaseBundle
> Task :app:produceInternalReleaseBundleIdeListingFile
> Task :app:createInternalReleaseBundleListingFileRedirect
> Task :app:bundleInternalRelease
> Task :app:***SentryProguardMappingsInternalRelease FAILED
DEBUG: Capturing event: 08d516a14dcf4664b0e3cc0a2d48787a
> Task :app:***SentryNativeSymbolsForInternalRelease FAILED
DEBUG: Capturing event: 04dfa12414434930bdbc2c09ce489133
DEBUG: Capturing transaction: 64c9520245984b2a878a5eafc369f733
ASM Instrumentation process wasn't able to resolve some classes, this means that
the instrumented classes might contain corrupt stack frames. Make sure the
dependencies that contain these classes are on the runtime or the provided
classpath. Otherwise, the jvm might fail to load the corrupt classes at runtime
when running in a jvm environment like unit tests.

Classes that weren't resolved:
> com.amazon.device.iap.model.Receipt
> com.amazon.device.iap.model.RequestId
> io.sentry.instrumentation.file.SentryFileReader

DEBUG: UncaughtExceptionHandlerIntegration removed.
DEBUG: Serializing object: {"timestamp":"2024-03-28T19:28:42.640Z","exception":{"values":[{"type":"SentryMinimalException","value":"build failed with class org.gradle.api.tasks.TaskExecutionException","module":"io.sentry.android.gradle.telemetry","thread_id":183,"mechanism":{"type":"GradleTelemetry","handled":false}}]},"level":"fatal","transaction":"gradle build Android","fingerprint":[],"event_id":"08d516a14dcf4664b0e3cc0a2d48787a","contexts":{"runtime":{"name":"Eclipse Adoptium","version":"17.0.10"},"trace":{"trace_id":"d0b8cf3c694446588f257043833e8d5d","span_id":"717aec6a0a3549e9","parent_span_id":"3011f4dfc55248ce","op":"3379458255_SentryUploadProguardMappingsTask_Decorated","status":"deadline_exceeded","origin":"manual"}},"sdk":{"name":"sentry.java","version":"6.31.0","packages":[{"name":"maven:io.sentry:sentry","version":"6.31.0"}],"integrations":["UncaughtExceptionHandler","ShutdownHook"]},"tags":{"AGP_VERSION":"8.3.1","includeNativeSources":"false","ignoredBuildTypes_set":"false","tracing_enabled":"true","includeSourceContext":"false","autoInstallation_enabled":"false","***NativeSymbols":"true","autoUpload":"true","includeDependenciesReport":"true","SDK_VERSION":"7.6.0","dexguardEnabled":"false","tracing_features":"[DATABASE, FILE_IO, OKHTTP, COMPOSE]","tracing_logcat_minLevel":"WARNING","tracing_debug":"false","tracing_forceInstrumentDependencies":"false","SENTRY_CLI_VERSION":"2.28.6","ignoredVariants_set":"false","debug":"true","GRADLE_VERSION":"8.4","includeProguardMapping":"true","additionalSourceDirsForSourceContext_set":"true","BUILD_SYSTEM":"gradle","tracing_logcat_enabled":"true","autoInstallation_sentryVersion":"7.6.0","autoUploadNativeSymbols":"true","autoUploadProguardMapping":"true","ignoredFlavors_set":"false","step":"3379458255_SentryUploadProguardMappingsTask_Decorated"},"release":"4.4.0","environment":"Android","platform":"java","user":{"id":"openai"},"server_name":"runner.cji1shrscegerkzgoh2wgkvkke.cx.internal.cloudapp.net"}
INFO: Closing SentryClient.
DEBUG: Serializing object: {"sid":"1c13c695-27fc-482f-b4fc-2215eccce6bb","started":"2024-03-28T19:23:35.788Z","status":"crashed","seq":1711654122645,"errors":1,"duration":306.857,"timestamp":"2024-03-28T19:28:42.645Z","attrs":{"release":"4.4.0","environment":"Android"}}
DEBUG: Envelope sent successfully.
DEBUG: Envelope flushed
DEBUG: Serializing object: {"timestamp":"2024-03-28T19:28:42.651Z","exception":{"values":[{"type":"SentryMinimalException","value":"build failed with class org.gradle.api.tasks.TaskExecutionException","module":"io.sentry.android.gradle.telemetry","thread_id":183,"mechanism":{"type":"GradleTelemetry","handled":false}}]},"level":"fatal","transaction":"gradle build Android","fingerprint":[],"event_id":"04dfa12414434930bdbc2c09ce489133","contexts":{"runtime":{"name":"Eclipse Adoptium","version":"17.0.10"},"trace":{"trace_id":"d0b8cf3c694446588f257043833e8d5d","span_id":"d99100691b774c4f","parent_span_id":"717aec6a0a3549e9","op":"3379458255_SentryUploadNativeSymbolsTask_Decorated","status":"deadline_exceeded","origin":"manual"}},"sdk":{"name":"sentry.java","version":"6.31.0","packages":[{"name":"maven:io.sentry:sentry","version":"6.31.0"}],"integrations":["UncaughtExceptionHandler","ShutdownHook"]},"tags":{"AGP_VERSION":"8.3.1","includeNativeSources":"false","ignoredBuildTypes_set":"false","tracing_enabled":"true","includeSourceContext":"false","autoInstallation_enabled":"false","***NativeSymbols":"true","autoUpload":"true","includeDependenciesReport":"true","SDK_VERSION":"7.6.0","dexguardEnabled":"false","tracing_features":"[DATABASE, FILE_IO, OKHTTP, COMPOSE]","tracing_logcat_minLevel":"WARNING","tracing_debug":"false","tracing_forceInstrumentDependencies":"false","SENTRY_CLI_VERSION":"2.28.6","ignoredVariants_set":"false","debug":"true","GRADLE_VERSION":"8.4","includeProguardMapping":"true","additionalSourceDirsForSourceContext_set":"true","BUILD_SYSTEM":"gradle","tracing_logcat_enabled":"true","autoInstallation_sentryVersion":"7.6.0","autoUploadNativeSymbols":"true","autoUploadProguardMapping":"true","ignoredFlavors_set":"false","step":"3379458255_SentryUploadNativeSymbolsTask_Decorated"},"release":"4.4.0","environment":"Android","platform":"java","user":{"id":"openai"},"server_name":"runner.cji1shrscegerkzgoh2wgkvkke.cx.internal.cloudapp.net"}
DEBUG: Envelope sent successfully.
DEBUG: Envelope flushed

DEBUG: Serializing object: {"transaction":"gradle build Android","start_timestamp":1711653815.798908,"timestamp":1711654122.662906,"spans":[{"start_timestamp":1711653833.334410,"timestamp":1711653833.470474,"trace_id":"d0b8cf3c694446588f257043833e8d5d","span_id":"0443441454964b58","parent_span_id":"3011f4dfc55248ce","op":"3379458255_SentryGenerateIntegrationListTask_Decorated","origin":"manual","data":{}},{"start_timestamp":1711653835.396603,"timestamp":1711653835.397143,"trace_id":"d0b8cf3c694446588f257043833e8d5d","span_id":"606bd72fcb8643f2","parent_span_id":"3011f4dfc55248ce","op":"3379458255_SentryExternalDependenciesReportTaskV2_Decorated","origin":"manual","data":{}},{"start_timestamp":1711654099.188694,"timestamp":1711654099.189509,"trace_id":"d0b8cf3c694446588f257043833e8d5d","span_id":"ae609a879de04cd6","parent_span_id":"3011f4dfc55248ce","op":"3379458255_SentryGenerateProguardUuidTask_Decorated","origin":"manual","data":{}},{"start_timestamp":1711654099.196226,"timestamp":1711654099.197039,"trace_id":"d0b8cf3c694446588f257043833e8d5d","span_id":"568e6d2f4adf43d9","parent_span_id":"3011f4dfc55248ce","op":"3379458255_SentryGenerateDebugMetaPropertiesTask_Decorated","origin":"manual","data":{}},{"start_timestamp":1711654122.620476,"timestamp":1711654122.662906,"trace_id":"d0b8cf3c694446588f257043833e8d5d","span_id":"717aec6a0a3549e9","parent_span_id":"3011f4dfc55248ce","op":"3379458255_SentryUploadProguardMappingsTask_Decorated","status":"deadline_exceeded","origin":"manual","data":{}},{"start_timestamp":1711654122.643123,"timestamp":1711654122.662906,"trace_id":"d0b8cf3c694446588f257043833e8d5d","span_id":"d99100691b774c4f","parent_span_id":"717aec6a0a3549e9","op":"3379458255_SentryUploadNativeSymbolsTask_Decorated","status":"deadline_exceeded","origin":"manual","data":{}}],"type":"transaction","transaction_info":{"source":"custom"},"event_id":"64c9520245984b2a878a5eafc369f733","contexts":{"runtime":{"name":"Eclipse Adoptium","version":"17.0.10"},"trace":{"trace_id":"d0b8cf3c694446588f257043833e8d5d","span_id":"3011f4dfc55248ce","op":"build","status":"unknown_error","origin":"manual"}},"sdk":{"name":"sentry.java","version":"6.31.0","packages":[{"name":"maven:io.sentry:sentry","version":"6.31.0"}],"integrations":["UncaughtExceptionHandler","ShutdownHook"]},"tags":{"AGP_VERSION":"8.3.1","includeNativeSources":"false","ignoredBuildTypes_set":"false","tracing_enabled":"true","includeSourceContext":"false","autoInstallation_enabled":"false","***NativeSymbols":"true","autoUpload":"true","includeDependenciesReport":"true","SDK_VERSION":"7.6.0","dexguardEnabled":"false","tracing_features":"[DATABASE, FILE_IO, OKHTTP, COMPOSE]","tracing_logcat_minLevel":"WARNING","tracing_debug":"false","tracing_forceInstrumentDependencies":"false","SENTRY_CLI_VERSION":"2.28.6","ignoredVariants_set":"false","debug":"true","GRADLE_VERSION":"8.4","includeProguardMapping":"true","additionalSourceDirsForSourceContext_set":"true","BUILD_SYSTEM":"gradle","tracing_logcat_enabled":"true","autoInstallation_sentryVersion":"7.6.0","autoUploadNativeSymbols":"true","autoUploadProguardMapping":"true","ignoredFlavors_set":"false","step":"3379458255_SentryUploadNativeSymbolsTask_Decorated"},"release":"4.4.0","environment":"Android","platform":"java","user":{"id":"openai"},"server_name":"runner.cji1shrscegerkzgoh2wgkvkke.cx.internal.cloudapp.net"}
DEBUG: Envelope sent successfully.
DEBUG: Envelope flushed
DEBUG: Serializing object: {"sid":"1c13c695-27fc-482f-b4fc-2215eccce6bb","started":"2024-03-28T19:23:35.788Z","status":"crashed","seq":1711654122664,"errors":1,"duration":306.876,"timestamp":"2024-03-28T19:28:42.664Z","attrs":{"release":"4.4.0","environment":"Android"}}
DEBUG: Envelope sent successfully.
DEBUG: Envelope flushed
DEBUG: Shutting down
FAILURE: Build completed with 2 failures.

1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:***SentryProguardMappingsInternalRelease'.
> A problem occurred starting process 'command '/home/runner/work/chatgpt-android/chatgpt-android/app/build/tmp/sentry-cli-2.28.6.exe''

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Get more help at https://help.gradle.org.
==============================================================================

2: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:***SentryNativeSymbolsForInternalRelease'.
> A problem occurred starting process 'command '/home/runner/work/chatgpt-android/chatgpt-android/app/build/tmp/sentry-cli-2.28.6.exe''

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Get more help at https://help.gradle.org.
==============================================================================

BUILD FAILED in 5m 45s

@tananaev hmm, could you also run with --stacktrace perhaps? I'd expect the reason to be somewhere in the stacktrace, analogous to https://stackoverflow.com/q/51081282

Stack traces:

1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:***SentryProguardMappingsInternalRelease'.
> A problem occurred starting process 'command '/home/runner/work/chatgpt-android/chatgpt-android/app/build/tmp/sentry-cli-2.28.6.exe''

* Try:
> Run with --info or --debug option to get more log output.
> Get more help at https://help.gradle.org./

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:***SentryProguardMappingsInternalRelease'.
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:148)
	at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:146)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:134)
	at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
	at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74)
DEBUG: Serializing object: {"sid":"29868cec-0b82-4e5c-8849-c2a2af827186","started":"2024-03-30T14:46:53.256Z","status":"crashed","seq":1711810319728,"errors":1,"duration":306.472,"timestamp":"2024-03-30T14:51:59.728Z","attrs":{"release":"4.4.0","environment":"Android"}}
DEBUG: Envelope sent successfully.
DEBUG: Envelope flushed
DEBUG: Shutting down
	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:78)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
	at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314)
	at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:80)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:463)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:380)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47)
Caused by: org.gradle.process.internal.ExecException: A problem occurred starting process 'command '/home/runner/work/chatgpt-android/chatgpt-android/app/build/tmp/sentry-cli-2.28.6.exe''
	at org.gradle.process.internal.DefaultExecHandle.execExceptionFor(DefaultExecHandle.java:241)
	at org.gradle.process.internal.DefaultExecHandle.setEndStateInfo(DefaultExecHandle.java:218)
	at org.gradle.process.internal.DefaultExecHandle.failed(DefaultExecHandle.java:386)
	at org.gradle.process.internal.ExecHandleRunner.lambda$run$3(ExecHandleRunner.java:102)
	at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:80)
	at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:101)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47)
Caused by: net.rubygrapefruit.platform.NativeException: Could not start '/home/runner/work/chatgpt-android/chatgpt-android/app/build/tmp/sentry-cli-2.28.6.exe'
	at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:27)
	at net.rubygrapefruit.platform.internal.WrapperProcessLauncher.start(WrapperProcessLauncher.java:36)
	at org.gradle.process.internal.ExecHandleRunner.startProcess(ExecHandleRunner.java:122)
	at org.gradle.process.internal.ExecHandleRunner.lambda$run$0(ExecHandleRunner.java:80)
	at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:80)
	at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:79)
	... 2 more
Caused by: java.io.IOException: Cannot run program "/home/runner/work/chatgpt-android/chatgpt-android/app/build/tmp/sentry-cli-2.28.6.exe" (in directory "/home/runner/work/chatgpt-android/chatgpt-android"): error=2, No such file or directory
	at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25)
	... 7 more
Caused by: java.io.IOException: error=2, No such file or directory
	... 8 more

==============================================================================

2: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:***SentryNativeSymbolsForInternalRelease'.
> A problem occurred starting process 'command '/home/runner/work/chatgpt-android/chatgpt-android/app/build/tmp/sentry-cli-2.28.6.exe''

* Try:
> Run with --info or --debug option to get more log output.
> Get more help at https://help.gradle.org./

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:***SentryNativeSymbolsForInternalRelease'.
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:148)
	at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:146)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:134)
	at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
	at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74)
	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:78)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
	at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314)
	at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:80)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:463)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:380)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: org.gradle.process.internal.ExecException: A problem occurred starting process 'command '/home/runner/work/chatgpt-android/chatgpt-android/app/build/tmp/sentry-cli-2.28.6.exe''
	at org.gradle.process.internal.DefaultExecHandle.execExceptionFor(DefaultExecHandle.java:241)
	at org.gradle.process.internal.DefaultExecHandle.setEndStateInfo(DefaultExecHandle.java:218)
	at org.gradle.process.internal.DefaultExecHandle.failed(DefaultExecHandle.java:386)
	at org.gradle.process.internal.ExecHandleRunner.lambda$run$3(ExecHandleRunner.java:102)
	at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:80)
	at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:101)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: net.rubygrapefruit.platform.NativeException: Could not start '/home/runner/work/chatgpt-android/chatgpt-android/app/build/tmp/sentry-cli-2.28.6.exe'
	at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:27)
	at net.rubygrapefruit.platform.internal.WrapperProcessLauncher.start(WrapperProcessLauncher.java:36)
	at org.gradle.process.internal.ExecHandleRunner.startProcess(ExecHandleRunner.java:122)
	at org.gradle.process.internal.ExecHandleRunner.lambda$run$0(ExecHandleRunner.java:80)
	at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:80)
	at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:79)
	... 5 more
Caused by: java.io.IOException: Cannot run program "/home/runner/work/chatgpt-android/chatgpt-android/app/build/tmp/sentry-cli-2.28.6.exe" (in directory "/home/runner/work/chatgpt-android/chatgpt-android"): error=2, No such file or directory
	at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143)
	at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
	at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25)
	... 10 more
Caused by: java.io.IOException: error=2, No such file or directory
	at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
	at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:314)
	at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:244)
	at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110)
	... 12 more

==============================================================================

BUILD FAILED in 5m 45s

Hello @romtsn, I'm facing same issue on my CI environment:

Starting a Gradle Daemon (subsequent builds will be faster)
INFO: Initializing SDK with DSN: '***'
INFO: No outbox dir path is defined in options.
INFO: sentry-debug-meta.properties file was not found.
INFO: GlobalHubMode: 'false'
DEBUG: UncaughtExceptionHandlerIntegration enabled: true
DEBUG: UncaughtExceptionHandlerIntegration installed.
DEBUG: ShutdownHookIntegration installed.
INFO: Cache dir is not set, not finalizing the previous session.
DEBUG: Serializing object: {"sid":"0a934949-0497-46a1-9e5b-1dcff5499ad0","init":true,"started":"2024-04-01T05:34:09.655Z","status":"ok","errors":0,"timestamp":"2024-04-01T05:34:09.656Z","attrs":{"release":"4.4.0","environment":"JVM"}}
> Task :clean
DEBUG: Envelope sent successfully.
DEBUG: Envelope flushed
> Task :compileJava
> Task :generateGitProperties
> Task :collectExternalDependenciesForSentry
> Task :generateSentryBundleIdJava
> Task :generateSentryDebugMetaPropertiesjava
> Task :processResources
> Task :classes
> Task :resolveMainClassName
> Task :bootJar
> Task :jar
> Task :assemble
> Task :sentryCollectSourcesJava
> Task :sentryBundleSourcesJava FAILED
DEBUG: Capturing event: 38775532832c42c69a0c090d968360df
DEBUG: Capturing transaction: 37d6b2db695f438fb03a11d8333dfe89
DEBUG: UncaughtExceptionHandlerIntegration removed.
INFO: Closing SentryClient.
DEBUG: Serializing object: {"timestamp":"2024-04-01T05:35:09.478Z","exception":{"values":[{"type":"SentryMinimalException","value":"build failed with class org.gradle.api.tasks.TaskExecutionException","module":"io.sentry.android.gradle.telemetry","thread_id":61,"mechanism":{"type":"GradleTelemetry","handled":false}}]},"level":"fatal","transaction":"gradle build JVM","fingerprint":[],"event_id":"38775532832c42c69a0c090d968360df","contexts":{"runtime":{"name":"Debian","version":"17.0.10"},"trace":{"trace_id":"f0a987d594294983aa28073df481a57a","span_id":"35c348332cb44d7a","parent_span_id":"8ad83ac0b87e448f","op":"1847391098_BundleSourcesTask_Decorated","status":"deadline_exceeded","origin":"manual"}},"sdk":{"name":"sentry.java","version":"6.31.0","packages":[{"name":"maven:io.sentry:sentry","version":"6.31.0"}],"integrations":["UncaughtExceptionHandler","ShutdownHook"]},"tags":{"includeNativeSources":"false","ignoredBuildTypes_set":"false","tracing_enabled":"true","includeSourceContext":"true","autoInstallation_enabled":"true","uploadNativeSymbols":"false","autoUpload":"true","includeDependenciesReport":"true","SDK_VERSION":"7.6.0","dexguardEnabled":"false","tracing_features":"[DATABASE, FILE_IO, OKHTTP, COMPOSE]","tracing_logcat_minLevel":"WARNING","tracing_debug":"false","tracing_forceInstrumentDependencies":"false","SENTRY_CLI_VERSION":"2.28.6","ignoredVariants_set":"false","debug":"true","GRADLE_VERSION":"8.6","includeProguardMapping":"true","additionalSourceDirsForSourceContext_set":"false","BUILD_SYSTEM":"gradle","tracing_logcat_enabled":"true","autoInstallation_sentryVersion":"7.6.0","autoUploadNativeSymbols":"true","autoUploadProguardMapping":"true","ignoredFlavors_set":"false","step":"1847391098_BundleSourcesTask_Decorated"},"release":"4.4.0","environment":"JVM","platform":"java","user":{"id":"***"},"server_name":"runner-jlguopmm-project-45964583-concurrent-0"}
DEBUG: Serializing object: {"sid":"0a934949-0497-46a1-9e5b-1dcff5499ad0","started":"2024-04-01T05:34:09.655Z","status":"crashed","seq":1711949709497,"errors":1,"duration":59.842,"timestamp":"2024-04-01T05:35:09.497Z","attrs":{"release":"4.4.0","environment":"JVM"}}
DEBUG: Envelope sent successfully.
DEBUG: Envelope flushed
DEBUG: Serializing object: {"transaction":"gradle build JVM","start_timestamp":1711949649.676673,"timestamp":1711949709.500043,"spans":[{"start_timestamp":1711949702.339970,"timestamp":1711949702.341196,"trace_id":"f0a987d594294983aa28073df481a57a","span_id":"84cbbed866f546d4","parent_span_id":"8ad83ac0b87e448f","op":"1847391098_SentryExternalDependenciesReportTaskV2_Decorated","origin":"manual","data":{}},{"start_timestamp":1711949702.354255,"timestamp":1711949702.356314,"trace_id":"f0a987d594294983aa28073df481a57a","span_id":"384b9b2d4ff644c4","parent_span_id":"8ad83ac0b87e448f","op":"1847391098_GenerateBundleIdTask_Decorated","origin":"manual","data":{}},{"start_timestamp":1711949702.360984,"timestamp":1711949702.361842,"trace_id":"f0a987d594294983aa28073df481a57a","span_id":"d3444cd11df9475e","parent_span_id":"8ad83ac0b87e448f","op":"1847391098_SentryGenerateDebugMetaPropertiesTask_Decorated","origin":"manual","data":{}},{"start_timestamp":1711949709.413188,"timestamp":1711949709.431691,"trace_id":"f0a987d594294983aa28073df481a57a","span_id":"bf423888c7d64bc4","parent_span_id":"8ad83ac0b87e448f","op":"1847391098_CollectSourcesTask_Decorated","origin":"manual","data":{}},{"start_timestamp":1711949709.462604,"timestamp":1711949709.500043,"trace_id":"f0a987d594294983aa28073df481a57a","span_id":"35c348332cb44d7a","parent_span_id":"8ad83ac0b87e448f","op":"1847391098_BundleSourcesTask_Decorated","status":"deadline_exceeded","origin":"manual","data":{}}],"type":"transaction","transaction_info":{"source":"custom"},"event_id":"37d6b2db695f438fb03a11d8333dfe89","contexts":{"runtime":{"name":"Debian","version":"17.0.10"},"trace":{"trace_id":"f0a987d594294983aa28073df481a57a","span_id":"8ad83ac0b87e448f","op":"build","status":"unknown_error","origin":"manual"}},"sdk":{"name":"sentry.java","version":"6.31.0","packages":[{"name":"maven:io.sentry:sentry","version":"6.31.0"}],"integrations":["UncaughtExceptionHandler","ShutdownHook"]},"tags":{"includeNativeSources":"false","ignoredBuildTypes_set":"false","tracing_enabled":"true","includeSourceContext":"true","autoInstallation_enabled":"true","uploadNativeSymbols":"false","autoUpload":"true","includeDependenciesReport":"true","SDK_VERSION":"7.6.0","dexguardEnabled":"false","tracing_features":"[DATABASE, FILE_IO, OKHTTP, COMPOSE]","tracing_logcat_minLevel":"WARNING","tracing_debug":"false","tracing_forceInstrumentDependencies":"false","SENTRY_CLI_VERSION":"2.28.6","ignoredVariants_set":"false","debug":"true","GRADLE_VERSION":"8.6","includeProguardMapping":"true","additionalSourceDirsForSourceContext_set":"false","BUILD_SYSTEM":"gradle","tracing_logcat_enabled":"true","autoInstallation_sentryVersion":"7.6.0","autoUploadNativeSymbols":"true","autoUploadProguardMapping":"true","ignoredFlavors_set":"false","step":"1847391098_BundleSourcesTask_Decorated"},"release":"4.4.0","environment":"JVM","platform":"java","user":{"id":"***"},"server_name":"runner-jlguopmm-project-45964583-concurrent-0"}
DEBUG: Envelope sent successfully.
DEBUG: Envelope flushed
DEBUG: Serializing object: {"sid":"0a934949-0497-46a1-9e5b-1dcff5499ad0","started":"2024-04-01T05:34:09.655Z","status":"crashed","seq":1711949709504,"errors":1,"duration":59.849,"timestamp":"2024-04-01T05:35:09.504Z","attrs":{"release":"4.4.0","environment":"JVM"}}
DEBUG: Envelope sent successfully.
DEBUG: Envelope flushed
DEBUG: Shutting down
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':sentryBundleSourcesJava'.
> A problem occurred starting process 'command '/builds/my-service/build/tmp/sentry-cli-2.28.6.exe''
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.
BUILD FAILED in 1m 24s

As you can see plugin serializes context and identify that it's running on Debian, but for some reason it's trying to execute exe file on linux environment

Hope this helps.

I feel like I have an idea what's going on here: since your gradle command looks like this

./gradlew clean :app:bundleFlavorRelease --no-configuration-cache

I think clean would wipe the build folder together with the cli executable, and the other task running (maybe in parallel) is trying to access it while it's not there already. We'd have to investigate and try to reproduce it though, unless someone can provide an MRE.

Somehow it worked now. No changes. Going to close the ticket for now.

we'd still like to fix it though, as our logic for extracting the cli is not resilient really, so I'll keep it open 😅

For me unfortunately it's still an issue.

However I made small test and here is what I found:

  • plugin id "io.sentry.jvm.gradle" version "4.4.0" is trying to run sentry-cli-2.28.6.exe
  • plugin id "io.sentry.jvm.gradle" version "4.3.1" is working well, so probably you can check what was changed between those

Hope it will help @romtsn

There are two ways of fixing this:

  1. move cli outside the build folder
  2. extract the cli on-demand, prior to every relevant task execution

We're also affected by this problem atm (using Bitrise and Linux), just wanted to open up an issue for it but found this one with a quick search.

Could you somehow provide a solution without the need to move stuff outside the build folder? @markushi
We use :app:uploadSentryProguardMappings and it would be great if this would just work as in v4.3.x...

Edit: just saw that a fix already got merged and released in v4.4.1, so for anyone who's affected, update to 4.4.1 or later 🚀