Skip to content

Tests fail on Apple silicon on Julia 1.8 #345

@palday

Description

@palday
ArgumentError: unsafe_wrap: pointer 0x14858d048 is not properly aligned to 16 bytes
      Stacktrace:
        [1] #unsafe_wrap#102
          @ ./pointer.jl:89 [inlined]
        [2] unsafe_wrap
          @ ./pointer.jl:87 [inlined]
        [3] reinterp(#unused#::Type{Arrow.Decimal{2, 2, Int128}}, batch::Arrow.Batch, buf::Arrow.Flatbuf.Buffer, compression::Nothing)
          @ Arrow ~/Code/arrow-julia/src/table.jl:507
        [4] build(f::Arrow.Flatbuf.Field, #unused#::Arrow.Flatbuf.Decimal, batch::Arrow.Batch, rb::Arrow.Flatbuf.RecordBatch, de::Dict{Int64, Arrow.DictEncoding}, nodeidx::Int64, bufferidx::Int64, convert::Bool)
Full test output
(Arrow) pkg> test
     Testing Arrow
      Status `/private/var/folders/yy/nyj87tsn7093bb7d84rl64rh0000gp/T/jl_xRGYNK/Project.toml`
  [69666777] Arrow v2.3.0 `~/Code/arrow-julia`
⌅ [31f734f8] ArrowTypes v1.2.1
  [c3b6d118] BitIntegers v0.2.6
  [324d7699] CategoricalArrays v0.10.7
  [5ba52731] CodecLz4 v0.4.0
  [6b39b394] CodecZstd v0.7.2
  [9a962f9c] DataAPI v1.12.0
  [48062228] FilePathsBase v0.9.20
  [0f8b85d8] JSON3 v1.10.0
  [2dfb63ee] PooledArrays v1.4.2
  [91c51154] SentinelArrays v1.3.16
  [856f2bd8] StructTypes v1.10.0
  [bd369af6] Tables v1.10.0
  [f269a46b] TimeZones v1.9.0
  [76eceee3] WorkerUtilities v1.1.0
  [ade2ca70] Dates `@stdlib/Dates`
  [a63ad114] Mmap `@stdlib/Mmap`
  [9a3f8284] Random `@stdlib/Random`
  [8dfed614] Test `@stdlib/Test`
  [cf7118a7] UUIDs `@stdlib/UUIDs`
      Status `/private/var/folders/yy/nyj87tsn7093bb7d84rl64rh0000gp/T/jl_xRGYNK/Manifest.toml`
  [69666777] Arrow v2.3.0 `~/Code/arrow-julia`
⌅ [31f734f8] ArrowTypes v1.2.1
  [c3b6d118] BitIntegers v0.2.6
  [fa961155] CEnum v0.4.2
  [324d7699] CategoricalArrays v0.10.7
  [5ba52731] CodecLz4 v0.4.0
  [6b39b394] CodecZstd v0.7.2
⌅ [34da2185] Compat v3.46.0
  [9a962f9c] DataAPI v1.12.0
  [e2d170a0] DataValueInterfaces v1.0.0
  [e2ba6199] ExprTools v0.1.8
  [48062228] FilePathsBase v0.9.20
  [842dd82b] InlineStrings v1.2.2
  [82899510] IteratorInterfaceExtensions v1.0.0
  [692b3bcd] JLLWrappers v1.4.1
  [0f8b85d8] JSON3 v1.10.0
  [e1d29d7a] Missings v1.0.2
  [78c3b35d] Mocking v0.7.3
  [bac558e1] OrderedCollections v1.4.1
  [69de0a69] Parsers v2.4.2
  [2dfb63ee] PooledArrays v1.4.2
  [21216c6a] Preferences v1.3.0
  [3cdcf5f2] RecipesBase v1.3.1
  [ae029012] Requires v1.3.0
  [6c6a2e73] Scratch v1.1.1
  [91c51154] SentinelArrays v1.3.16
  [66db9d55] SnoopPrecompile v1.0.1
  [856f2bd8] StructTypes v1.10.0
  [3783bdb8] TableTraits v1.0.1
  [bd369af6] Tables v1.10.0
  [f269a46b] TimeZones v1.9.0
  [3bb67fe8] TranscodingStreams v0.9.9
  [76eceee3] WorkerUtilities v1.1.0
  [5ced341a] Lz4_jll v1.9.3+0
  [3161d3a3] Zstd_jll v1.5.2+0
  [0dad84c5] ArgTools v1.1.1 `@stdlib/ArgTools`
  [56f22d72] Artifacts `@stdlib/Artifacts`
  [2a0f44e3] Base64 `@stdlib/Base64`
  [ade2ca70] Dates `@stdlib/Dates`
  [8bb1440f] DelimitedFiles `@stdlib/DelimitedFiles`
  [8ba89e20] Distributed `@stdlib/Distributed`
  [f43a241f] Downloads v1.6.0 `@stdlib/Downloads`
  [7b1f6079] FileWatching `@stdlib/FileWatching`
  [9fa8497b] Future `@stdlib/Future`
  [b77e0a4c] InteractiveUtils `@stdlib/InteractiveUtils`
  [4af54fe1] LazyArtifacts `@stdlib/LazyArtifacts`
  [b27032c2] LibCURL v0.6.3 `@stdlib/LibCURL`
  [76f85450] LibGit2 `@stdlib/LibGit2`
  [8f399da3] Libdl `@stdlib/Libdl`
  [37e2e46d] LinearAlgebra `@stdlib/LinearAlgebra`
  [56ddb016] Logging `@stdlib/Logging`
  [d6f4376e] Markdown `@stdlib/Markdown`
  [a63ad114] Mmap `@stdlib/Mmap`
  [ca575930] NetworkOptions v1.2.0 `@stdlib/NetworkOptions`
  [44cfe95a] Pkg v1.8.0 `@stdlib/Pkg`
  [de0858da] Printf `@stdlib/Printf`
  [3fa0cd96] REPL `@stdlib/REPL`
  [9a3f8284] Random `@stdlib/Random`
  [ea8e919c] SHA v0.7.0 `@stdlib/SHA`
  [9e88b42a] Serialization `@stdlib/Serialization`
  [1a1011a3] SharedArrays `@stdlib/SharedArrays`
  [6462fe0b] Sockets `@stdlib/Sockets`
  [2f01184e] SparseArrays `@stdlib/SparseArrays`
  [10745b16] Statistics `@stdlib/Statistics`
  [fa267f1f] TOML v1.0.0 `@stdlib/TOML`
  [a4e569a6] Tar v1.10.1 `@stdlib/Tar`
  [8dfed614] Test `@stdlib/Test`
  [cf7118a7] UUIDs `@stdlib/UUIDs`
  [4ec0a83e] Unicode `@stdlib/Unicode`
  [e66e0078] CompilerSupportLibraries_jll v0.5.2+0 `@stdlib/CompilerSupportLibraries_jll`
  [deac9b47] LibCURL_jll v7.84.0+0 `@stdlib/LibCURL_jll`
  [29816b5a] LibSSH2_jll v1.10.2+0 `@stdlib/LibSSH2_jll`
  [c8ffd9c3] MbedTLS_jll v2.28.0+0 `@stdlib/MbedTLS_jll`
  [14a3606d] MozillaCACerts_jll v2022.2.1 `@stdlib/MozillaCACerts_jll`
  [4536629a] OpenBLAS_jll v0.3.20+0 `@stdlib/OpenBLAS_jll`
  [83775a58] Zlib_jll v1.2.12+3 `@stdlib/Zlib_jll`
  [8e850b90] libblastrampoline_jll v5.1.1+0 `@stdlib/libblastrampoline_jll`
  [8e850ede] nghttp2_jll v1.48.0+0 `@stdlib/nghttp2_jll`
  [3f19e933] p7zip_jll v17.4.0+0 `@stdlib/p7zip_jll`
        Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading.
     Testing Running tests...
Test Summary: | Pass  Total  Time
ArrowTypes    |   89     89  0.3s
Test Summary:                       | Pass  Total  Time
Date and time wrappers with missing |    4      4  5.5s
Test Summary:      | Pass  Total  Time
`default(T) isa T` |   10     10  0.0s
testing: basic
testing: missing values
testing: primitive types
testing: arrow date/time types
table roundtrips: Error During Test at /Users/palday/Code/arrow-julia/test/runtests.jl:39
  Got exception outside of a @test
  TaskFailedException
  
      nested task error: ArgumentError: unsafe_wrap: pointer 0x14858d048 is not properly aligned to 16 bytes
      Stacktrace:
        [1] #unsafe_wrap#102
          @ ./pointer.jl:89 [inlined]
        [2] unsafe_wrap
          @ ./pointer.jl:87 [inlined]
        [3] reinterp(#unused#::Type{Arrow.Decimal{2, 2, Int128}}, batch::Arrow.Batch, buf::Arrow.Flatbuf.Buffer, compression::Nothing)
          @ Arrow ~/Code/arrow-julia/src/table.jl:507
        [4] build(f::Arrow.Flatbuf.Field, #unused#::Arrow.Flatbuf.Decimal, batch::Arrow.Batch, rb::Arrow.Flatbuf.RecordBatch, de::Dict{Int64, Arrow.DictEncoding}, nodeidx::Int64, bufferidx::Int64, convert::Bool)
          @ Arrow ~/Code/arrow-julia/src/table.jl:639
        [5] build(field::Arrow.Flatbuf.Field, batch::Arrow.Batch, rb::Arrow.Flatbuf.RecordBatch, de::Dict{Int64, Arrow.DictEncoding}, nodeidx::Int64, bufferidx::Int64, convert::Bool)
          @ Arrow ~/Code/arrow-julia/src/table.jl:468
        [6] iterate(x::Arrow.VectorIterator, ::Tuple{Int64, Int64, Int64})
          @ Arrow ~/Code/arrow-julia/src/table.jl:444
        [7] iterate
          @ ~/Code/arrow-julia/src/table.jl:441 [inlined]
        [8] copyto!(dest::Vector{Any}, src::Arrow.VectorIterator)
          @ Base ./abstractarray.jl:901
        [9] _collect
          @ ./array.jl:718 [inlined]
       [10] collect
          @ ./array.jl:712 [inlined]
       [11] macro expansion
          @ ~/Code/arrow-julia/src/table.jl:354 [inlined]
       [12] (::Arrow.var"#108#114"{Bool, Channel{Any}, WorkerUtilities.OrderedSynchronizer, Dict{Int64, Arrow.DictEncoding}, Arrow.Batch, Int64})()
          @ Arrow ./threadingconstructs.jl:258
  Stacktrace:
    [1] sync_end(c::Channel{Any})
      @ Base ./task.jl:436
    [2] macro expansion
      @ ./task.jl:455 [inlined]
    [3] Arrow.Table(blobs::Vector{Arrow.ArrowBlob}; convert::Bool)
      @ Arrow ~/Code/arrow-julia/src/table.jl:299
    [4] Arrow.Table(input::IOBuffer, pos::Int64, len::Nothing; kw::Base.Pairs{Symbol, Bool, Tuple{Symbol}, NamedTuple{(:convert,), Tuple{Bool}}})
      @ Arrow ~/Code/arrow-julia/src/table.jl:268
    [5] testtable(nm::String, t::NamedTuple{(:col14, :col15, :col16, :col17, :col18, :col19, :col20), Tuple{Vector{Union{Missing, Arrow.Decimal{2, 2, Int128}}}, Vector{Union{Missing, Arrow.Date{Arrow.Flatbuf.DateUnits.DAY, Int32}}}, Vector{Union{Missing, Arrow.Time{Arrow.Flatbuf.TimeUnits.SECOND, Int32}}}, Vector{Union{Missing, Arrow.Timestamp{Arrow.Flatbuf.TimeUnits.SECOND, nothing}}}, Vector{Union{Missing, Arrow.Interval{Arrow.Flatbuf.IntervalUnits.YEAR_MONTH, Int32}}}, Vector{Union{Missing, Arrow.Duration{Arrow.Flatbuf.TimeUnits.SECOND}}}, Vector{Union{Missing, Arrow.Date{Arrow.Flatbuf.DateUnits.MILLISECOND, Int64}}}}}, writekw::NamedTuple{(), Tuple{}}, readkw::NamedTuple{(:convert,), Tuple{Bool}}, extratests::Nothing)
      @ Main ~/Code/arrow-julia/test/testtables.jl:247
    [6] macro expansion
      @ ~/Code/arrow-julia/test/runtests.jl:42 [inlined]
    [7] macro expansion
      @ ~/.julia/juliaup/julia-1.8.2+0.aarch64/share/julia/stdlib/v1.8/Test/src/Test.jl:1357 [inlined]
    [8] macro expansion
      @ ~/Code/arrow-julia/test/runtests.jl:41 [inlined]
    [9] macro expansion
      @ ~/.julia/juliaup/julia-1.8.2+0.aarch64/share/julia/stdlib/v1.8/Test/src/Test.jl:1357 [inlined]
   [10] top-level scope
      @ ~/Code/arrow-julia/test/runtests.jl:39
   [11] include(fname::String)
      @ Base.MainInclude ./client.jl:476
   [12] top-level scope
      @ none:6
   [13] eval
      @ ./boot.jl:368 [inlined]
   [14] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:276
   [15] _start()
      @ Base ./client.jl:522
testing append: basic
testing append: missing values
testing append: primitive types
testing append: arrow date/time types
table append: Error During Test at /Users/palday/Code/arrow-julia/test/runtests.jl:47
  Got exception outside of a @test
  ArgumentError: unsafe_wrap: pointer 0x1664fc368 is not properly aligned to 16 bytes
  Stacktrace:
    [1] #unsafe_wrap#102
      @ ./pointer.jl:89 [inlined]
    [2] unsafe_wrap
      @ ./pointer.jl:87 [inlined]
    [3] reinterp(#unused#::Type{Arrow.Decimal{2, 2, Int128}}, batch::Arrow.Batch, buf::Arrow.Flatbuf.Buffer, compression::Nothing)
      @ Arrow ~/Code/arrow-julia/src/table.jl:507
    [4] build(f::Arrow.Flatbuf.Field, #unused#::Arrow.Flatbuf.Decimal, batch::Arrow.Batch, rb::Arrow.Flatbuf.RecordBatch, de::Dict{Int64, Arrow.DictEncoding}, nodeidx::Int64, bufferidx::Int64, convert::Bool)
      @ Arrow ~/Code/arrow-julia/src/table.jl:639
    [5] build(field::Arrow.Flatbuf.Field, batch::Arrow.Batch, rb::Arrow.Flatbuf.RecordBatch, de::Dict{Int64, Arrow.DictEncoding}, nodeidx::Int64, bufferidx::Int64, convert::Bool)
      @ Arrow ~/Code/arrow-julia/src/table.jl:468
    [6] iterate(x::Arrow.VectorIterator, ::Tuple{Int64, Int64, Int64})
      @ Arrow ~/Code/arrow-julia/src/table.jl:444
    [7] iterate
      @ ~/Code/arrow-julia/src/table.jl:441 [inlined]
    [8] iterate(x::Arrow.Stream, ::Tuple{Int64, Int64})
      @ Arrow ~/Code/arrow-julia/src/table.jl:169
    [9] iterate
      @ ~/Code/arrow-julia/src/table.jl:102 [inlined]
   [10] stream_properties(io::IOStream; convert::Bool)
      @ Arrow ~/Code/arrow-julia/src/append.jl:170
   [11] append(io::IOStream, tbl::Arrow.Table; metadata::Nothing, colmetadata::Nothing, largelists::Bool, denseunions::Bool, dictencode::Bool, dictencodenested::Bool, alignment::Int64, maxdepth::Int64, ntasks::Float64, convert::Bool, file::Bool)
      @ Arrow ~/Code/arrow-julia/src/append.jl:87
   [12] #153
      @ ~/Code/arrow-julia/src/append.jl:64 [inlined]
   [13] open(::Arrow.var"#153#154"{Base.Pairs{Symbol, Bool, Tuple{Symbol}, NamedTuple{(:convert,), Tuple{Bool}}}, Arrow.Table}, ::String, ::Vararg{String}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
      @ Base ./io.jl:384
   [14] open
      @ ./io.jl:381 [inlined]
   [15] #append#152
      @ ~/Code/arrow-julia/src/append.jl:63 [inlined]
   [16] (::var"#5#6"{NamedTuple{(), Tuple{}}, NamedTuple{(:convert,), Tuple{Bool}}, Vector{UInt8}})(path::String, io::IOStream)
      @ Main ~/Code/arrow-julia/test/testappend.jl:28
   [17] mktemp(fn::var"#5#6"{NamedTuple{(), Tuple{}}, NamedTuple{(:convert,), Tuple{Bool}}, Vector{UInt8}}, parent::String)
      @ Base.Filesystem ./file.jl:736
   [18] mktemp
      @ ./file.jl:734 [inlined]
   [19] testappend(nm::String, t::NamedTuple{(:col14, :col15, :col16, :col17, :col18, :col19, :col20), Tuple{Vector{Union{Missing, Arrow.Decimal{2, 2, Int128}}}, Vector{Union{Missing, Arrow.Date{Arrow.Flatbuf.DateUnits.DAY, Int32}}}, Vector{Union{Missing, Arrow.Time{Arrow.Flatbuf.TimeUnits.SECOND, Int32}}}, Vector{Union{Missing, Arrow.Timestamp{Arrow.Flatbuf.TimeUnits.SECOND, nothing}}}, Vector{Union{Missing, Arrow.Interval{Arrow.Flatbuf.IntervalUnits.YEAR_MONTH, Int32}}}, Vector{Union{Missing, Arrow.Duration{Arrow.Flatbuf.TimeUnits.SECOND}}}, Vector{Union{Missing, Arrow.Date{Arrow.Flatbuf.DateUnits.MILLISECOND, Int64}}}}}, writekw::NamedTuple{(), Tuple{}}, readkw::NamedTuple{(:convert,), Tuple{Bool}}, extratests::Nothing)
      @ Main ~/Code/arrow-julia/test/testappend.jl:22
   [20] macro expansion
      @ ~/Code/arrow-julia/test/runtests.jl:50 [inlined]
   [21] macro expansion
      @ ~/.julia/juliaup/julia-1.8.2+0.aarch64/share/julia/stdlib/v1.8/Test/src/Test.jl:1357 [inlined]
   [22] macro expansion
      @ ~/Code/arrow-julia/test/runtests.jl:49 [inlined]
   [23] macro expansion
      @ ~/.julia/juliaup/julia-1.8.2+0.aarch64/share/julia/stdlib/v1.8/Test/src/Test.jl:1357 [inlined]
   [24] top-level scope
      @ ~/Code/arrow-julia/test/runtests.jl:39
   [25] include(fname::String)
      @ Base.MainInclude ./client.jl:476
   [26] top-level scope
      @ none:6
   [27] eval
      @ ./boot.jl:368 [inlined]
   [28] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:276
   [29] _start()
      @ Base ./client.jl:522
integration test for /Users/palday/Code/arrow-julia/src/../test/arrowjson/datetime.json
integration test for /Users/palday/Code/arrow-julia/src/../test/arrowjson/decimal.json
arrow json integration tests: Error During Test at /Users/palday/Code/arrow-julia/test/runtests.jl:61
  Got exception outside of a @test
  TaskFailedException
  
      nested task error: ArgumentError: unsafe_wrap: pointer 0x130d28ef8 is not properly aligned to 16 bytes
      Stacktrace:
        [1] #unsafe_wrap#102
          @ ./pointer.jl:89 [inlined]
        [2] unsafe_wrap
          @ ./pointer.jl:87 [inlined]
        [3] reinterp(#unused#::Type{Arrow.Decimal{4, 2, Int128}}, batch::Arrow.Batch, buf::Arrow.Flatbuf.Buffer, compression::Nothing)
          @ Arrow ~/Code/arrow-julia/src/table.jl:507
        [4] build(f::Arrow.Flatbuf.Field, #unused#::Arrow.Flatbuf.Decimal, batch::Arrow.Batch, rb::Arrow.Flatbuf.RecordBatch, de::Dict{Int64, Arrow.DictEncoding}, nodeidx::Int64, bufferidx::Int64, convert::Bool)
          @ Arrow ~/Code/arrow-julia/src/table.jl:639
        [5] build(field::Arrow.Flatbuf.Field, batch::Arrow.Batch, rb::Arrow.Flatbuf.RecordBatch, de::Dict{Int64, Arrow.DictEncoding}, nodeidx::Int64, bufferidx::Int64, convert::Bool)
          @ Arrow ~/Code/arrow-julia/src/table.jl:468
        [6] iterate(x::Arrow.VectorIterator, ::Tuple{Int64, Int64, Int64})
          @ Arrow ~/Code/arrow-julia/src/table.jl:444
        [7] copyto!(dest::Vector{Any}, src::Arrow.VectorIterator)
          @ Base ./abstractarray.jl:906
        [8] _collect
          @ ./array.jl:718 [inlined]
        [9] collect
          @ ./array.jl:712 [inlined]
       [10] macro expansion
          @ ~/Code/arrow-julia/src/table.jl:354 [inlined]
       [11] (::Arrow.var"#108#114"{Bool, Channel{Any}, WorkerUtilities.OrderedSynchronizer, Dict{Int64, Arrow.DictEncoding}, Arrow.Batch, Int64})()
          @ Arrow ./threadingconstructs.jl:258
  
  ...and 35 more exceptions.
  
  Stacktrace:
    [1] sync_end(c::Channel{Any})
      @ Base ./task.jl:436
    [2] macro expansion
      @ ./task.jl:455 [inlined]
    [3] Arrow.Table(blobs::Vector{Arrow.ArrowBlob}; convert::Bool)
      @ Arrow ~/Code/arrow-julia/src/table.jl:299
    [4] Arrow.Table(input::IOBuffer, pos::Int64, len::Nothing; kw::Base.Pairs{Symbol, Bool, Tuple{Symbol}, NamedTuple{(:convert,), Tuple{Bool}}})
      @ Arrow ~/Code/arrow-julia/src/table.jl:268
    [5] macro expansion
      @ ~/Code/arrow-julia/test/runtests.jl:68 [inlined]
    [6] macro expansion
      @ ~/.julia/juliaup/julia-1.8.2+0.aarch64/share/julia/stdlib/v1.8/Test/src/Test.jl:1357 [inlined]
    [7] macro expansion
      @ ~/Code/arrow-julia/test/runtests.jl:63 [inlined]
    [8] macro expansion
      @ ~/.julia/juliaup/julia-1.8.2+0.aarch64/share/julia/stdlib/v1.8/Test/src/Test.jl:1357 [inlined]
    [9] top-level scope
      @ ~/Code/arrow-julia/test/runtests.jl:39
   [10] include(fname::String)
      @ Base.MainInclude ./client.jl:476
   [11] top-level scope
      @ none:6
   [12] eval
      @ ./boot.jl:368 [inlined]
   [13] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:276
   [14] _start()
      @ Base ./client.jl:522
Test Summary:                  | Pass  Error  Total     Time
Arrow                          |  180      3    183  2m21.3s
  table roundtrips             |   44      1     45    14.8s
  table append                 |    9      1     10     2.4s
  arrow json integration tests |    1      1      2    26.8s
  abstract path                |    3             3     0.9s
  misc                         |  123           123  1m36.4s
ERROR: LoadError: Some tests did not pass: 180 passed, 0 failed, 3 errored, 0 broken.
in expression starting at /Users/palday/Code/arrow-julia/test/runtests.jl:37
ERROR: Package Arrow errored during testing
Details

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions