[
https://issues.apache.org/jira/browse/ARROW-6966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Wes McKinney resolved ARROW-6966.
---------------------------------
Resolution: Fixed
Issue resolved by pull request 5714
[https://github.com/apache/arrow/pull/5714]
> [Go] 32bit memset is null
> -------------------------
>
> Key: ARROW-6966
> URL: https://issues.apache.org/jira/browse/ARROW-6966
> Project: Apache Arrow
> Issue Type: Bug
> Components: Go
> Reporter: Jonathan A Sternberg
> Assignee: Jonathan A Sternberg
> Priority: Minor
> Labels: pull-request-available
> Fix For: 1.0.0
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> If you use a function that calls `memset.Set`, the implementation on a 32 bit
> machine seems to be unset. This happened in our 32 bit build here:
> [https://circleci.com/gh/influxdata/influxdb/66112#tests/containers/2]
> {code:java}
> goroutine 66 [running]:goroutine 66
> [running]:testing.tRunner.func1(0x9e1f2c0)
> /usr/local/go/src/testing/testing.go:830 +0x30epanic(0x899cb40, 0x9403c40)
> /usr/local/go/src/runtime/panic.go:522
> +0x16egithub.com/influxdata/influxdb/vendor/github.com/apache/arrow/go/arrow/memory.Set(...)
>
> /root/go/src/github.com/influxdata/influxdb/vendor/github.com/apache/arrow/go/arrow/memory/memory.go:25github.com/influxdata/influxdb/vendor/github.com/apache/arrow/go/arrow/array.(*builder).init(0x9e44990,
> 0x20)
> /root/go/src/github.com/influxdata/influxdb/vendor/github.com/apache/arrow/go/arrow/array/builder.go:101
>
> +0xc7github.com/influxdata/influxdb/vendor/github.com/apache/arrow/go/arrow/array.(*Int64Builder).init(0x9e44990,
> 0x20)
> /root/go/src/github.com/influxdata/influxdb/vendor/github.com/apache/arrow/go/arrow/array/numericbuilder.gen.go:102
>
> +0x2fgithub.com/influxdata/influxdb/vendor/github.com/apache/arrow/go/arrow/array.(*Int64Builder).Resize(0x9e44990,
> 0x2)
> /root/go/src/github.com/influxdata/influxdb/vendor/github.com/apache/arrow/go/arrow/array/numericbuilder.gen.go:125
>
> +0x42github.com/influxdata/influxdb/vendor/github.com/apache/arrow/go/arrow/array.(*builder).reserve(0x9e44990,
> 0x1, 0x9c52464)
> /root/go/src/github.com/influxdata/influxdb/vendor/github.com/apache/arrow/go/arrow/array/builder.go:138
>
> +0x72github.com/influxdata/influxdb/vendor/github.com/apache/arrow/go/arrow/array.(*Int64Builder).Reserve(0x9e44990,
> 0x1)
> /root/go/src/github.com/influxdata/influxdb/vendor/github.com/apache/arrow/go/arrow/array/numericbuilder.gen.go:113
>
> +0x51github.com/influxdata/influxdb/vendor/github.com/influxdata/flux/arrow.NewInt(0x9e4a770,
> 0x1, 0x1, 0x0, 0x89f0360)
> /root/go/src/github.com/influxdata/influxdb/vendor/github.com/influxdata/flux/arrow/int.go:10
>
> +0x6cgithub.com/influxdata/influxdb/storage/reads.(*floatTable).advance(0x9e42070,
> 0x0)
> /root/go/src/github.com/influxdata/influxdb/storage/reads/table.gen.go:91
> +0x7egithub.com/influxdata/influxdb/storage/reads.newFloatTable(0x9e17740,
> 0xe521a160, 0x9e1b8c0, 0x0, 0x0, 0x1e, 0x0, 0x8c13be0, 0x9e448a0, 0x9e448d0,
> ...)
> /root/go/src/github.com/influxdata/influxdb/storage/reads/table.gen.go:47
> +0x1c2github.com/influxdata/influxdb/storage/reads.(*filterIterator).handleRead(0x9e22840,
> 0x9e0d1a0, 0x8c0ce00, 0x9e48780, 0x0, 0x0)
> /root/go/src/github.com/influxdata/influxdb/storage/reads/reader.go:177
> +0x755github.com/influxdata/influxdb/storage/reads.(*filterIterator).Do(0x9e22840,
> 0x9e0d170, 0x9c40070, 0x0)
> /root/go/src/github.com/influxdata/influxdb/storage/reads/reader.go:140
> +0x138github.com/influxdata/influxdb/storage/reads_test.TestDuplicateKeys_ReadFilter(0x9e1f2c0)
> /root/go/src/github.com/influxdata/influxdb/storage/reads/reader_test.go:89
> +0x1dftesting.tRunner(0x9e1f2c0, 0x8ad44e4)
> /usr/local/go/src/testing/testing.go:865 +0x97created by testing.(*T).Run
> /usr/local/go/src/testing/testing.go:916 +0x2b2
> {code}
> I added a print statement at where memset happened to print the function that
> was being used and got this:
> {code}
> <nil> [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] 0
> {code}
> If I set {{memset}} with a default, the code that calls into this works fine.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)