When I try to send analysis results to Bitbucket from multiple runners in reviewdog, it crashes with a panic error.
+ /app/reviewdog -reporter=bitbucket-code-report -fail-level=any -fail-level=any -tee
time=2025-08-13T09:39:29.787+02:00 level=INFO msg="reviewdog: [start] runner=phpcs"
<?xml version="1.0" encoding="UTF-8"?>
<checkstyle version="3.7.2">
</checkstyle>
time=2025-08-13T09:39:30.067+02:00 level=INFO msg="reviewdog: [finish] runner=phpcs"
time=2025-08-13T09:39:30.067+02:00 level=INFO msg="reviewdog: [start] runner=phpstan"
<?xml version="1.0" encoding="UTF-8"?>
<checkstyle>
<file name="src/Entity/Lead/Project.php">
<error line="110" column="1" severity="error" message="Property App\Entity\Lead\Project::$lead has no type specified." source="missingType.property" />
<error line="194" column="1" severity="error" message="Property App\Entity\Lead\Project::$rawData type has no value type specified in iterable type array." source="missingType.iterableValue" />
<error line="197" column="1" severity="error" message="Property App\Entity\Lead\Project::$transitions type has no value type specified in iterable type array." source="missingType.iterableValue" />
<error line="204" column="1" severity="error" message="Property App\Entity\Lead\Project::$extraData type has no value type specified in iterable type array." source="missingType.iterableValue" />
<error line="211" column="1" severity="error" message="Property App\Entity\Lead\Project::$notes with generic interface Doctrine\Common\Collections\Collection does not specify its types: TKey, T" source="missingType.generics" />
<error line="224" column="1" severity="error" message="Method App\Entity\Lead\Project::doPropertyDetailsPostLoad() has no return type specified." source="missingType.return" />
<error line="270" column="1" severity="error" message="Property App\Entity\Lead\Project::$type (string) on left side of ?? is not nullable." source="nullCoalesce.property" />
<error line="287" column="1" severity="error" message="Property App\Entity\Lead\Project::$address (string) does not accept string|null." source="assign.propertyType" />
<error line="316" column="1" severity="error" message="Method App\Entity\Lead\Project::getFeedbackSurveySend() has no return type specified." source="missingType.return" />
<error line="321" column="1" severity="error" message="Method App\Entity\Lead\Project::setFeedbackSurveySend() has no return type specified." source="missingType.return" />
<error line="321" column="1" severity="error" message="Method App\Entity\Lead\Project::setFeedbackSurveySend() has parameter $feedbackSurveySend with no type specified." source="missingType.parameter" />
<error line="400" column="1" severity="error" message="Method App\Entity\Lead\Project::getRawData() return type has no value type specified in iterable type array." source="missingType.iterableValue" />
<error line="405" column="1" severity="error" message="Method App\Entity\Lead\Project::setRawData() has parameter $rawData with no value type specified in iterable type array." source="missingType.iterableValue" />
<error line="446" column="1" severity="error" message="Property App\Entity\Lead\Project::$externalId (string) does not accept string|null." source="assign.propertyType" />
<error line="451" column="1" severity="error" message="Method App\Entity\Lead\Project::getTransitions() return type has no value type specified in iterable type array." source="missingType.iterableValue" />
<error line="456" column="1" severity="error" message="Method App\Entity\Lead\Project::setTransitions() has parameter $transitions with no value type specified in iterable type array." source="missingType.iterableValue" />
<error line="463" column="1" severity="error" message="Method App\Entity\Lead\Project::getSourceIds() return type has no value type specified in iterable type array." source="missingType.iterableValue" />
<error line="468" column="1" severity="error" message="Method App\Entity\Lead\Project::getExtraData() return type has no value type specified in iterable type array." source="missingType.iterableValue" />
<error line="476" column="1" severity="error" message="Method App\Entity\Lead\Project::setExtraData() has parameter $extraData with no value type specified in iterable type array." source="missingType.iterableValue" />
<error line="483" column="1" severity="error" message="Method App\Entity\Lead\Project::getNotes() return type with generic interface Doctrine\Common\Collections\Collection does not specify its types: TKey, T" source="missingType.generics" />
<error line="488" column="1" severity="error" message="Method App\Entity\Lead\Project::setNotes() has parameter $notes with generic interface Doctrine\Common\Collections\Collection but does not specify its types: TKey, T" source="missingType.generics" />
<error line="507" column="1" severity="error" message="Parameter $string of function strtolower expects string, string|null given." source="argument.type" />
</file>
</checkstyle>
time=2025-08-13T09:39:33.881+02:00 level=INFO msg="reviewdog: [finish] runner=phpstan\terror=exit status 1"
panic: assignment to entry in nil map
goroutine 1 [running]:
github.com/reviewdog/reviewdog/service/bitbucket.(*ReportAnnotator).Post(0xc0001b7490, {0xc00046a100?, 0x16?}, 0xc00040a090)
/home/runner/work/reviewdog/reviewdog/service/bitbucket/annotator.go:92 +0x1d5
github.com/reviewdog/reviewdog.(*Reviewdog).runFromResult(0xc0001939f0, {0xd81d00, 0xc0001fe9f0}, {0xc00046a100, 0x16, 0x20}, {0x0, 0x0, 0x0}, 0x0)
/home/runner/work/reviewdog/reviewdog/reviewdog.go:103 +0x1e2
github.com/reviewdog/reviewdog.RunFromResult(...)
/home/runner/work/reviewdog/reviewdog/reviewdog.go:37
github.com/reviewdog/reviewdog/project.Run.func1({0xc000131014, 0x7}, 0xc00041c780)
/home/runner/work/reviewdog/reviewdog/project/run.go:122 +0x2a5
github.com/reviewdog/reviewdog/project.Run.(*ResultMap).Range.func2({0xab6d60?, 0xc0004107c0?}, {0xaedbe0?, 0xc00041c780?})
/home/runner/work/reviewdog/reviewdog/resultmap.go:62 +0x4d
sync.(*Map).Range(0xc0000b4200, 0xc000193bc8)
/opt/hostedtoolcache/go/1.21.7/x64/src/sync/map.go:476 +0x228
github.com/reviewdog/reviewdog.(*ResultMap).Range(...)
/home/runner/work/reviewdog/reviewdog/resultmap.go:61
github.com/reviewdog/reviewdog/project.Run({0xd81d00?, 0xc0001fe9f0}, 0xc000104e10?, 0xc00002e30b?, {0xd7dfe0?, 0xc0001b7490}, {0xd7fd68?, 0x1243f20}, 0xc?, 0x4, ...)
/home/runner/work/reviewdog/reviewdog/project/run.go:114 +0x26d
main.run({0xd7e080, 0xc000106020}, {0xd7dec0?, 0xc000106028}, 0x1215240)
/home/runner/work/reviewdog/reviewdog/cmd/reviewdog/main.go:461 +0x1491
main.main()
/home/runner/work/reviewdog/reviewdog/cmd/reviewdog/main.go:268 +0xa5
Hello,
When I try to send analysis results to Bitbucket from multiple runners in reviewdog, it crashes with a panic error.
.reviewdog.yaml
CI step for Reviewdog (woodpecker)
Observed behavior
When running with two runners (phpcs then phpstan), the first runner works fine, but the second causes Reviewdog to panic when posting results to Bitbucket.
Output (truncated)
Notes