You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am trying to convert an apache arrow record to JSON. This same code works correctly in 1.17.3 but not in 1.18beta1 or 1.18beta2.
I have tried removing arrow and doing something similar to what array.RecordToJSON does, but was not able to reproduce that way. I wanted to report this anyway because it seems like a regression. Please let me know if I can provide more information.
This is similar code not using arrow, in an attempt to reproduce, but it does not panic:
Thank you for the bug report. However, this appears to be a panic stemming from github.com/goccy/go-json and not the standard library implementation. Please a file bug there.
goccy makes extensive use of unsafe where the package makes assumptions about how the Go runtime works. I would say the responsibility is on goccy to investigate and demonstrate that this is a bug in the Go runtime, rather than what is probably a bug in some unspecified assumption the package makes about the Go runtime that no longer holds.
The internal details of reflection map iteration changed from 1.17 to 1.18. This code is reaching into unstable runtime internals. That is always going to require careful attention when updating to a new version of Go. It would, in my opinion, be better to not do that.
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
Reproduces with latest beta.
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
I am trying to convert an apache arrow record to JSON. This same code works correctly in 1.17.3 but not in 1.18beta1 or 1.18beta2.
I have tried removing arrow and doing something similar to what
array.RecordToJSON
does, but was not able to reproduce that way. I wanted to report this anyway because it seems like a regression. Please let me know if I can provide more information.This is similar code not using arrow, in an attempt to reproduce, but it does not panic:
This is the code using arrow that panics:
What did you expect to see?
Exit 0
What did you see instead?
The text was updated successfully, but these errors were encountered: