Intermittent [tier 2] package> /builds/worker/workspace/obj-build/gradle/build/mobile/android/android-components/components/concept/base/generated/source/buildConfig/androidTest/debug/mozilla/components/concept/base/test/BuildConfig | single tracking bug
Categories
(GeckoView :: General, defect, P5)
Tracking
(firefox151 unaffected, firefox152 wontfix, firefox153 fixed, firefox154 fixed)
| Tracking | Status | |
|---|---|---|
| firefox151 | --- | unaffected |
| firefox152 | --- | wontfix |
| firefox153 | --- | fixed |
| firefox154 | --- | fixed |
People
(Reporter: intermittent-bug-filer, Assigned: RyanVM)
References
Details
(Keywords: intermittent-failure)
Attachments
(4 files)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-beta+
|
Details | Review |
|
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-beta+
|
Details | Review |
Filed by: amarc [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=563861842&repo=mozilla-central&task=Awb1EAaZREez7iNuJQ1tfQ.0
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/Awb1EAaZREez7iNuJQ1tfQ/runs/0/artifacts/public/logs/live_backing.log
[task 2026-05-01T16:55:50.632+00:00] 16:55:50 INFO - package> > Task :components:compose-browser-toolbar:mergeDebugAndroidTestResources
[task 2026-05-01T16:55:50.632+00:00] 16:55:50 INFO - package> > Task :components:concept-ai-controls:compileDebugAndroidTestJavaWithJavac
[task 2026-05-01T16:55:50.633+00:00] 16:55:50 INFO - package> > Task :components:concept-ai-controls:compileDebugAndroidTestSources
[task 2026-05-01T16:55:50.633+00:00] 16:55:50 INFO - package>
[task 2026-05-01T16:55:50.633+00:00] 16:55:50 INFO - package> > Task :components:concept-base:compileDebugAndroidTestJavaWithJavac FAILED
[task 2026-05-01T16:55:50.634+00:00] 16:55:50 ERROR - package> /builds/worker/workspace/obj-build/gradle/build/mobile/android/android-components/components/concept/base/generated/source/buildConfig/androidTest/debug/mozilla/components/concept/base/test/BuildConfig.java:4: error: semanticdb-javac: com.sourcegraph.shaded.com.google.protobuf.InvalidProtocolBufferException: While parsing a protocol message, the input ended unexpectedly in the middle of a field. This could mean either that the input has been truncated or that an embedded message misreported its own length.
[task 2026-05-01T16:55:50.634+00:00] 16:55:50 INFO - package> package mozilla.components.concept.base.test;
[task 2026-05-01T16:55:50.634+00:00] 16:55:50 INFO - package> ^
[task 2026-05-01T16:55:50.635+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.google.protobuf.InvalidProtocolBufferException.truncatedMessage(InvalidProtocolBufferException.java:84)
[task 2026-05-01T16:55:50.635+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.google.protobuf.CodedInputStream$StreamDecoder.refillBuffer(CodedInputStream.java:2738)
[task 2026-05-01T16:55:50.635+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.google.protobuf.CodedInputStream$StreamDecoder.readStringRequireUtf8(CodedInputStream.java:2290)
[task 2026-05-01T16:55:50.635+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.sourcegraph.semanticdb_javac.Semanticdb$SymbolOccurrence.<init>(Semanticdb.java:18288)
[task 2026-05-01T16:55:50.635+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.sourcegraph.semanticdb_javac.Semanticdb$SymbolOccurrence.<init>(Semanticdb.java:18229)
[task 2026-05-01T16:55:50.636+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.sourcegraph.semanticdb_javac.Semanticdb$SymbolOccurrence$1.parsePartialFrom(Semanticdb.java:19451)
[task 2026-05-01T16:55:50.636+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.sourcegraph.semanticdb_javac.Semanticdb$SymbolOccurrence$1.parsePartialFrom(Semanticdb.java:19445)
[task 2026-05-01T16:55:50.636+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.google.protobuf.CodedInputStream$StreamDecoder.readMessage(CodedInputStream.java:2367)
[task 2026-05-01T16:55:50.636+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.sourcegraph.semanticdb_javac.Semanticdb$TextDocument.<init>(Semanticdb.java:1697)
[task 2026-05-01T16:55:50.636+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.sourcegraph.semanticdb_javac.Semanticdb$TextDocument.<init>(Semanticdb.java:1613)
[task 2026-05-01T16:55:50.637+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.sourcegraph.semanticdb_javac.Semanticdb$TextDocument$1.parsePartialFrom(Semanticdb.java:3657)
[task 2026-05-01T16:55:50.637+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.sourcegraph.semanticdb_javac.Semanticdb$TextDocument$1.parsePartialFrom(Semanticdb.java:3651)
[task 2026-05-01T16:55:50.637+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.google.protobuf.CodedInputStream$StreamDecoder.readMessage(CodedInputStream.java:2367)
[task 2026-05-01T16:55:50.637+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.sourcegraph.semanticdb_javac.Semanticdb$TextDocuments.<init>(Semanticdb.java:764)
[task 2026-05-01T16:55:50.637+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.sourcegraph.semanticdb_javac.Semanticdb$TextDocuments.<init>(Semanticdb.java:714)
[task 2026-05-01T16:55:50.637+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.sourcegraph.semanticdb_javac.Semanticdb$TextDocuments$1.parsePartialFrom(Semanticdb.java:1456)
[task 2026-05-01T16:55:50.638+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.sourcegraph.semanticdb_javac.Semanticdb$TextDocuments$1.parsePartialFrom(Semanticdb.java:1450)
[task 2026-05-01T16:55:50.638+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:215)
[task 2026-05-01T16:55:50.638+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:232)
[task 2026-05-01T16:55:50.638+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:237)
[task 2026-05-01T16:55:50.638+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:48)
[task 2026-05-01T16:55:50.638+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.google.protobuf.GeneratedMessageV3.parseWithIOException(GeneratedMessageV3.java:339)
[task 2026-05-01T16:55:50.639+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.sourcegraph.semanticdb_javac.Semanticdb$TextDocuments.parseFrom(Semanticdb.java:944)
[task 2026-05-01T16:55:50.639+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.sourcegraph.semanticdb_javac.SemanticdbTaskListener.appendSemanticdb(SemanticdbTaskListener.java:154)
[task 2026-05-01T16:55:50.639+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.sourcegraph.semanticdb_javac.SemanticdbTaskListener.onFinishedAnalyze(SemanticdbTaskListener.java:118)
[task 2026-05-01T16:55:50.639+00:00] 16:55:50 INFO - package> at com.sourcegraph.shaded.com.sourcegraph.semanticdb_javac.SemanticdbTaskListener.finished(SemanticdbTaskListener.java:79)
[task 2026-05-01T16:55:50.639+00:00] 16:55:50 INFO - package> at jdk.compiler/com.sun.tools.javac.api.ClientCodeWrapper$WrappedTaskListener.finished(ClientCodeWrapper.java:854)
[task 2026-05-01T16:55:50.640+00:00] 16:55:50 INFO - package> at jdk.compiler/com.sun.tools.javac.api.MultiTaskListener.finished(MultiTaskListener.java:132)
[task 2026-05-01T16:55:50.640+00:00] 16:55:50 INFO - package> at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1397)
[task 2026-05-01T16:55:50.640+00:00] 16:55:50 INFO - package> at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1354)
[task 2026-05-01T16:55:50.640+00:00] 16:55:50 INFO - package> at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:946)
[task 2026-05-01T16:55:50.640+00:00] 16:55:50 INFO - package> at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:104)
[task 2026-05-01T16:55:50.640+00:00] 16:55:50 INFO - package> at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.invocationHelper(JavacTaskImpl.java:152)
[task 2026-05-01T16:55:50.640+00:00] 16:55:50 INFO - package> at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:100)
[task 2026-05-01T16:55:50.641+00:00] 16:55:50 INFO - package> at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:94)
[task 2026-05-01T16:55:50.641+00:00] 16:55:50 INFO - package> at org.gradle.internal.compiler.java.IncrementalCompileTask.call(IncrementalCompileTask.java:92)
[task 2026-05-01T16:55:50.641+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.compile.AnnotationProcessingCompileTask.call(AnnotationProcessingCompileTask.java:94)
[task 2026-05-01T16:55:50.641+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.compile.ResourceCleaningCompilationTask.call(ResourceCleaningCompilationTask.java:57)
[task 2026-05-01T16:55:50.641+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:83)
[task 2026-05-01T16:55:50.641+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:50)
[task 2026-05-01T16:55:50.642+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:98)
[task 2026-05-01T16:55:50.642+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:52)
[task 2026-05-01T16:55:50.642+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:38)
[task 2026-05-01T16:55:50.642+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:52)
[task 2026-05-01T16:55:50.642+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:38)
[task 2026-05-01T16:55:50.642+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.compile.ModuleApplicationNameWritingCompiler.execute(ModuleApplicationNameWritingCompiler.java:46)
[task 2026-05-01T16:55:50.643+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.compile.ModuleApplicationNameWritingCompiler.execute(ModuleApplicationNameWritingCompiler.java:36)
[task 2026-05-01T16:55:50.643+00:00] 16:55:50 INFO - package> at org.gradle.jvm.toolchain.internal.DefaultToolchainJavaCompiler.execute(DefaultToolchainJavaCompiler.java:57)
[task 2026-05-01T16:55:50.643+00:00] 16:55:50 INFO - package> at org.gradle.api.tasks.compile.JavaCompile.lambda$createToolchainCompiler$3(JavaCompile.java:206)
[task 2026-05-01T16:55:50.643+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.compile.CleaningJavaCompiler.execute(CleaningJavaCompiler.java:53)
[task 2026-05-01T16:55:50.643+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilerFactory.lambda$createRebuildAllCompiler$0(IncrementalCompilerFactory.java:55)
[task 2026-05-01T16:55:50.644+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.compile.incremental.SelectiveCompiler.execute(SelectiveCompiler.java:70)
[task 2026-05-01T16:55:50.644+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.compile.incremental.SelectiveCompiler.execute(SelectiveCompiler.java:44)
[task 2026-05-01T16:55:50.644+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:66)
[task 2026-05-01T16:55:50.644+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:52)
[task 2026-05-01T16:55:50.644+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$1.call(CompileJavaBuildOperationReportingCompiler.java:64)
[task 2026-05-01T16:55:50.645+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$1.call(CompileJavaBuildOperationReportingCompiler.java:48)
[task 2026-05-01T16:55:50.645+00:00] 16:55:50 INFO - package> at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:210)
[task 2026-05-01T16:55:50.645+00:00] 16:55:50 INFO - package> at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:205)
[task 2026-05-01T16:55:50.645+00:00] 16:55:50 INFO - package> at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:67)
[task 2026-05-01T16:55:50.645+00:00] 16:55:50 INFO - package> at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:60)
[task 2026-05-01T16:55:50.645+00:00] 16:55:50 INFO - package> at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:167)
[task 2026-05-01T16:55:50.646+00:00] 16:55:50 INFO - package> at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:60)
[task 2026-05-01T16:55:50.646+00:00] 16:55:50 INFO - package> at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:54)
[task 2026-05-01T16:55:50.646+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler.execute(CompileJavaBuildOperationReportingCompiler.java:48)
[task 2026-05-01T16:55:50.646+00:00] 16:55:50 INFO - package> at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:224)
[task 2026-05-01T16:55:50.646+00:00] 16:55:50 INFO - package> at org.gradle.api.tasks.compile.JavaCompile.performIncrementalCompilation(JavaCompile.java:165)
[task 2026-05-01T16:55:50.646+00:00] 16:55:50 INFO - package> at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:150)
[task 2026-05-01T16:55:50.647+00:00] 16:55:50 INFO - package> at jdk.internal.reflect.GeneratedMethodAccessor1537.invoke(Unknown Source)
[task 2026-05-01T16:55:50.647+00:00] 16:55:50 INFO - package> at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[task 2026-05-01T16:55:50.647+00:00] 16:55:50 INFO - package> at java.base/java.lang.reflect.Method.invoke(Method.java:569)
[task 2026-05-01T16:55:50.647+00:00] 16:55:50 INFO - package> at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125)
[task 2026-05-01T16:55:50.647+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:45)
[task 2026-05-01T16:55:50.647+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
[task 2026-05-01T16:55:50.648+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.execute(IncrementalTaskAction.java:26)
[task 2026-05-01T16:55:50.648+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
[task 2026-05-01T16:55:50.648+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.execution.TaskExecution$3.run(TaskExecution.java:259)
[task 2026-05-01T16:55:50.648+00:00] 16:55:50 INFO - package> at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:30)
[task 2026-05-01T16:55:50.648+00:00] 16:55:50 INFO - package> at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:27)
[task 2026-05-01T16:55:50.648+00:00] 16:55:50 INFO - package> at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:67)
[task 2026-05-01T16:55:50.648+00:00] 16:55:50 INFO - package> at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:60)
[task 2026-05-01T16:55:50.649+00:00] 16:55:50 INFO - package> at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:167)
[task 2026-05-01T16:55:50.649+00:00] 16:55:50 INFO - package> at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:60)
[task 2026-05-01T16:55:50.649+00:00] 16:55:50 INFO - package> at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:48)
[task 2026-05-01T16:55:50.649+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.execution.TaskExecution.executeAction(TaskExecution.java:244)
[task 2026-05-01T16:55:50.649+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.execution.TaskExecution.executeActions(TaskExecution.java:227)
[task 2026-05-01T16:55:50.649+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.execution.TaskExecution.executeWithPreviousOutputFiles(TaskExecution.java:210)
[task 2026-05-01T16:55:50.650+00:00] 16:55:50 INFO - package> at org.gradle.api.internal.tasks.execution.TaskExecution.execute(TaskExecution.java:176)
[task 2026-05-01T16:55:50.650+00:00] 16:55:50 INFO - package> at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:167)
[task 2026-05-01T16:55:50.650+00:00] 16:55:50 INFO - package> at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:47)
[task 2026-05-01T16:55:50.650+00:00] 16:55:50 INFO - package> at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:137)
[task 2026-05-01T16:55:50.650+00:00] 16:55:50 INFO - package> at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:134)
[task 2026-05-01T16:55:50.650+00:00] 16:55:50 INFO - package> at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:210)
| Comment hidden (Intermittent Failures Robot) |
| Comment hidden (Intermittent Failures Robot) |
| Comment hidden (Intermittent Failures Robot) |
| Comment hidden (Intermittent Failures Robot) |
| Comment hidden (Intermittent Failures Robot) |
| Comment hidden (Intermittent Failures Robot) |
| Assignee | ||
Comment 7•3 months ago
|
||
This started suspiciously close to when the Gradle 9.5.0 update landed in bug 2035694, but Claude's analysis suggests it may be exposing a pre-existing race rather than being the direct cause.
- build.gradle:153-157 attaches the semanticdb-javac plugin to every JavaCompile task with a single shared output dir: -targetroot:$topobjdir/mozsearch_java_index.
- In CI, topsrcdir = /builds/worker/checkouts/gecko but topobjdir = /builds/worker/workspace/obj-build — the objdir is not under the source root. So every generated file (BuildConfig.java, R.java, …) fails the plugin's absolutePath.startsWith(sourceroot) check.
- For files outside sourceroot, the plugin's default mode is INDEX_ANYWAY, which writes them to a shared META-INF/semanticdb/no-relative-path/ dir using a filename built from a per-task counter: String.format("%d.%s.semanticdb", ++noRelativePathCounter, filename). The counter is a per-JavaCompile-instance field that resets to 1 every task.
- So the first generated file in every module's compileDebugAndroidTestJavaWithJavac task gets the identical name 1.BuildConfig.java.semanticdb in the same shared directory.
- With org.gradle.parallel=true, multiple module compile tasks run concurrently. One does writeSemanticdb (file absent) while another sees the file exists and calls appendSemanticdb → Files.readAllBytes + TextDocuments.parseFrom on a file that's still mid-write → InvalidProtocolBufferException: input ended unexpectedly (a non-atomic read-modify-write on a shared path).
This explains every observed property:
- It's always BuildConfig.java (counter 1 → guaranteed name collision across all modules).
- The module varies run to run (concept-base in the filed log, lib-shake in your example) — it's whichever pair of parallel tasks loses the timing dice.
- It's a truncated protobuf, not malformed content.
| Assignee | ||
Comment 8•3 months ago
•
|
||
Setting --max-workers=1 for Android searchfox jobs fixes the problem at the cost of about a 10min hit to job runtime (~65min -> 75min). That seems like an OK penalty to pay here since I have very low confidence in trying to fix this on the scip-java side of things.
https://treeherder.mozilla.org/jobs?repo=try&group_state=expanded&revision=2e2adfe9eb798ff81518b633150c4ed767de88f0
| Assignee | ||
Comment 9•3 months ago
|
||
Updated Try push: https://treeherder.mozilla.org/jobs?repo=try&revision=23b4c8171dbc771397883b9e8468a6c3928cd3e6
I'm not setting bug 2035694 as the regressor since I don't think it directly caused it, but I do think it's reasonably likely to have been what perturbed the the underlying race condition being hit.
| Assignee | ||
Comment 10•3 months ago
|
||
The suppression was wired as a finalizedBy task on generateSafeArgs, which only orders it
after generation, not before the Kotlin compile that consumes the generated sources. The
two then race, and under strict-serial scheduling the compile reliably wins and fails the
generated NavGraphDirections under -Werror. Fold the rewrite into each generateSafeArgs
task's own final action so the output is clean before the task completes.
| Assignee | ||
Comment 11•3 months ago
|
||
The semanticdb-javac plugin writes generated sources, which live in the objdir outside
the sourceroot, into a shared targetroot using a per-task counter for their filenames.
Concurrent compile tasks then race on identically-named files such as
1.BuildConfig.java.semanticdb, reading one mid-write and failing to parse the corrupted
protobuf. Cap the worker pool to one for compile-all when the mozsearch plugin is enabled
so the indexing build runs strictly serially.
| Comment hidden (Intermittent Failures Robot) |
| Comment hidden (Intermittent Failures Robot) |
Comment 14•2 months ago
|
||
Comment 15•2 months ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/75bc0f19e6e1
https://hg.mozilla.org/mozilla-central/rev/7b6c44ffb28c
Comment 16•2 months ago
|
||
The patch landed in nightly and beta is affected.
:RyanVM, is this bug important enough to require an uplift?
- If yes, please nominate the patch for beta approval.
- See https://wiki.mozilla.org/Release_Management/Requesting_an_Uplift for documentation on how to request an uplift.
- If no, please set
status-firefox153towontfix.
For more information, please visit BugBot documentation.
| Assignee | ||
Updated•2 months ago
|
| Assignee | ||
Comment 17•2 months ago
|
||
The suppression was wired as a finalizedBy task on generateSafeArgs, which only orders it
after generation, not before the Kotlin compile that consumes the generated sources. The
two then race, and under strict-serial scheduling the compile reliably wins and fails the
generated NavGraphDirections under -Werror. Fold the rewrite into each generateSafeArgs
task's own final action so the output is clean before the task completes.
Original Revision: https://phabricator.services.mozilla.com/D306513
Updated•2 months ago
|
Comment 18•2 months ago
|
||
firefox-beta Uplift Approval Request
- User impact if declined/Reason for urgency: No user impact. Frequent CI failure and waste of resources.
- Code covered by automated testing?: no
- Fix verified in Nightly?: yes
- Needs manual QE testing?: no
- Steps to reproduce for manual QE testing: n/a
- Risk associated with taking this patch: low
- Explanation of risk level: No user impact, job still passes.
- String changes made/needed?: none
- Is Android affected?: yes
| Assignee | ||
Comment 19•2 months ago
|
||
The semanticdb-javac plugin writes generated sources, which live in the objdir outside
the sourceroot, into a shared targetroot using a per-task counter for their filenames.
Concurrent compile tasks then race on identically-named files such as
1.BuildConfig.java.semanticdb, reading one mid-write and failing to parse the corrupted
protobuf. Cap the worker pool to one for compile-all when the mozsearch plugin is enabled
so the indexing build runs strictly serially.
Original Revision: https://phabricator.services.mozilla.com/D306514
Updated•2 months ago
|
Updated•2 months ago
|
Updated•2 months ago
|
Comment 20•2 months ago
|
||
| uplift | ||
| Comment hidden (Intermittent Failures Robot) |
Description
•