[
https://issues.apache.org/jira/browse/BEAM-14237?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17545113#comment-17545113
]
Robert Burke commented on BEAM-14237:
-------------------------------------
It seems like this might happen in specific cases when profiling/debugging is
occuring on Arm processors:
https://github.com/golang/go/issues/52116
So it might be fixed in a newer go tools release
Either way, the failure isn't beam specific, it's related to the compiler for
the architecture. At worst, there might be some bad interaction between Beam's
use of reflection, and how the ARM compiler aligns things. My recommendation
would be to update to the latest version go, and if still reproducible, file an
issue with the Go issue tracker, as they're more capable of tracing this issue
down.
> Golang Beam ParDo job not working as expected on Apple M1 chip
> --------------------------------------------------------------
>
> Key: BEAM-14237
> URL: https://issues.apache.org/jira/browse/BEAM-14237
> Project: Beam
> Issue Type: Bug
> Components: sdk-go
> Affects Versions: 2.37.0
> Reporter: Maksim Gaiduk
> Priority: P2
>
> Reproducible example:
> reproducible.go: [https://pastebin.com/raw/LqADath4]
> go.mod: [https://pastebin.com/raw/qXmyh62N]
> run cmd: go run reproducible.go --output output.tsv
> On lines 29-31, the program is supposed to read from rowIter function only
> while new data is available (this is standard interface to read input after
> GroupBy operation).
> Instead, the cycle runs indefinitely. In gdb/debug prints it can be clearly
> seen that program just steps through the "if !b" block when "b" is false.
> Supposedly this is the cause of UB from ABI function call inside beam.
>
> Go version: go1.18 darwin/arm64
--
This message was sent by Atlassian Jira
(v8.20.7#820007)