goccy / bigquery-emulator

BigQuery emulator server implemented in Go
MIT License
840 stars 107 forks source link

Error in BigQuery Emulator When Importing JSON from Google Cloud Storage #340

Closed stepanov1997 closed 3 weeks ago

stepanov1997 commented 4 months ago

What happened?

When I tried to import JSON (both gzipped and not gzipped) from Google Cloud Storage into BigQuery (as job), I received this error in the BigQuery Emulator.

2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:33 internalError   {"error": "internalError: runtime error: invalid memory address or nil pointer dereference"}
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 1: /usr/local/go/src/runtime/panic.go:914
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 2: /usr/local/go/src/runtime/panic.go:261
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 3: /usr/local/go/src/runtime/signal_unix.go:861
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 4: /work/server/handler.go:429
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 5: /work/server/handler.go:1184
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 6: /work/server/handler.go:1091
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 7: /work/server/handler.go:1379
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 8: /work/server/handler.go:1012
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 9: /work/server/middleware.go:297
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 10: /usr/local/go/src/net/http/server.go:2136
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 11: /work/server/middleware.go:274
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 12: /usr/local/go/src/net/http/server.go:2136
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 13: /work/server/middleware.go:251
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 14: /usr/local/go/src/net/http/server.go:2136
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 15: /work/server/middleware.go:228
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 16: /usr/local/go/src/net/http/server.go:2136
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 17: /work/server/middleware.go:205
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 18: /usr/local/go/src/net/http/server.go:2136
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 19: /work/server/middleware.go:182
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 20: /usr/local/go/src/net/http/server.go:2136
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 21: /work/server/middleware.go:100
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 22: /usr/local/go/src/net/http/server.go:2136
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 23: /work/server/middleware.go:81
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 24: /usr/local/go/src/net/http/server.go:2136
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 25: /work/server/middleware.go:67
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 26: /usr/local/go/src/net/http/server.go:2136
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 27: /work/server/middleware.go:55
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 28: /usr/local/go/src/net/http/server.go:2136
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 29: /work/server/middleware.go:46
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 30: /usr/local/go/src/net/http/server.go:2136
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 31: /work/server/middleware.go:22
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 32: /usr/local/go/src/net/http/server.go:2136
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 33: /go/pkg/mod/github.com/gorilla/mux@v1.8.0/mux.go:210
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 34: /usr/local/go/src/net/http/server.go:2938
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 35: /usr/local/go/src/net/http/server.go:2009
2024-07-16 18:53:14 2024-07-16T16:53:14.002Z    ERROR   server/middleware.go:40 36: /usr/local/go/src/runtime/asm_amd64.s:1650

What did you expect to happen?

I could import data from GCS into BigQuery without error.

How can we reproduce it (as minimally and precisely as possible)?

Simply run the job that imports data from Cloud storage to BigQuery.

Anything else we need to know?

I run this on M1 Pro chip.