Skip to content

StackOverflowError with CSV.File when using HybridArrays and Symbolics in 1.7 #43357

@judober

Description

@judober

I'm comming from Discourse.

I experience a 'StackOverflowError()' when running this

using CSV, Symbolics, HybridArrays

function test1()
    CSV.File(IOBuffer("Number\n2.0"); delim = "; ", types = Float64)
end

function test2()
    CSV.File(""; delim = "; ", types = Float64)
end

test1()
test2()

Both, test1 and test2 throw the 'StackOverflowError()', many of these are printed:

intersect_aside at /cygdrive/c/buildbot/worker/package_win64/build/src\subtype.c:2131
intersect_var at /cygdrive/c/buildbot/worker/package_win64/build/src\subtype.c:2334
intersect at /cygdrive/c/buildbot/worker/package_win64/build/src\subtype.c:3053
intersect_union at /cygdrive/c/buildbot/worker/package_win64/build/src\subtype.c:2154
intersect at /cygdrive/c/buildbot/worker/package_win64/build/src\subtype.c:3066
intersect_all at /cygdrive/c/buildbot/worker/package_win64/build/src\subtype.c:3196

and then the right results appears as well. However I had also cases where julia stoped working.

The problem only appears when using Symbolics, HybridArrays.

In 1.6.4 everything works as expected.

#43050 looks related but there 1.6.3 error'd as well.

I've seen this for different systems:

julia> versioninfo()
Julia Version 1.7.0
Commit 3bf9d17731 (2021-11-30 12:12 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i5-7600 CPU @ 3.50GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-12.0.1 (ORCJIT, skylake)
julia> versioninfo()
Julia Version 1.7.0
Commit 3bf9d17731 (2021-11-30 12:12 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin19.5.0)
  CPU: Intel(R) Core(TM) i5-7287U CPU @ 3.30GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-12.0.1 (ORCJIT, skylake)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions