-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Nil pointer access due to empty chunk returned from gosnowflake.buildFirstArrowChunk #987
Comments
thank you for raising this issue, we'll take a look |
is there perhaps any chance you have a reproducible scenario ? i tried breaking the response / chunk to see if i can get to the panic, but obviously doing something wrong because i saw different results with the latest code in
in all of the scenarios, the driver immediately retried the chunk download instead of panicking. |
Hi thanks for checking! |
btw I already merged a fix in our forked repo: observeinc#17 |
this is very helpful, thank you so much for pointing it out ! |
fix coming under #993 . thank you so much for your contribution ! |
and it's already merged into main. since we just had a release hours ago; it will be part of January's release. again the contribution and the pointers are very much appreciated ! |
Great, I'm happy I could help out! And thanks for adding the unit test :-) |
apache/arrow-adbc#1454 is exhibiting the same |
released with gosnowflake 1.7.2 |
panic: runtime error: invalid memory address or nil pointer dereference
in gosnowflake due to the following sequence of events:In
gosnowflake.(*snowflakeChunkDownloader).start()
the chunk is created usingbuildFirstArrowChunk
and thendecodeArrowChunk
is called on it.When an error happens during creation of the chunk,
buildFirstArrowChunk
silently swallows any error and returns a default-constructed chunk. By that, the chunk's reader pointer is nil and when calling Next() on it inarrow_chunk.go:26
we get a nil pointer dereference ingithub.com/apache/arrow/go/v12/arrow/ipc.(*Reader).Next(0x0?)
Stack trace (sensitive parts removed):
5c79db8
We required two fixes included since 1.7.0.
Ubuntu 20.04.6
x86_64
go1.20.10 linux/amd64
4.Server version:* E.g. 1.90.1
You may get the server version by running a query:
7.4
What did you do?
What did you expect to see?
An error must be returned from chunk creation all the way up to the client code.
Can you set logging to DEBUG and collect the logs?
no
What is your Snowflake account identifier, if any? (Optional)
The text was updated successfully, but these errors were encountered: