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 runsentry-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:
- move cli outside the build folder
- 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 🚀