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

Hello everyone,

I’m getting StackOverflowError() when runing the folowing code in Julia 1.7:

using CSV, Symbolics, HybridArrays

function test1()
    CSV.File("test.dat"; delim = "; ", types = Float64)
end

test1()

test.data is just

Number
2.0

The code works under 1.6.4. Does anyone experience the same error?

julia> versioninfo()
Julia Version 1.7.0
Commit 3bf9d17731 (2021-11-30 12:12 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Xeon(R) CPU E5-2660 v3 @ 2.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-12.0.1 (ORCJIT, haswell)

I get 1000s of lines of this repeated over and over

intersect_union at /buildworker/worker/package_linux64/build/src/subtype.c:2154
intersect_all at /buildworker/worker/package_linux64/build/src/subtype.c:3196
intersect_aside at /buildworker/worker/package_linux64/build/src/subtype.c:2131
intersect_var at /buildworker/worker/package_linux64/build/src/subtype.c:2334
intersect at /buildworker/worker/package_linux64/build/src/subtype.c:3053
intersect_union at /buildworker/worker/package_linux64/build/src/subtype.c:2154

until eventually it spits this out


jfptr__start_43127.clone_1 at /opt/julia-1.7.0/lib/julia/sys.so (unknown line)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1788 [inlined]
true_main at /buildworker/worker/package_linux64/build/src/jlapi.c:559
jl_repl_entrypoint at /buildworker/worker/package_linux64/build/src/jlapi.c:701
main at /buildworker/worker/package_linux64/build/cli/loader_exe.c:42
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
_start at julia (unknown line)

1-element CSV.File:
 CSV.Row: (Number = 2.0,)

In fact you don’t even need a CSV file, or a function

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

does the same at eventually pops out ERROR: ArgumentError: "" is not a valid file or doesn't exist after 1000s of the same error message

using CSV, Symbolics works OK
as does
using CSV, HybridArrays

Can you please report it in CSV.jl?

I filed an issue.

Im geting many lines of intersect ... following the Stack Overflow with some others mixed in as well.

For completeness:

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)

I don’t see the same error on linux, latest 1.7 release:

The stacktrace, however, suggests some kind of internal compiler failure. I’d report an issue to JuliaLang/julia with the exact versions of OS, julia, etc. to reproduce.

Have you been using HybridArrays, Symbolics as well? I don’t see them in your screenshot.
I only get the error when these are both active too, combining CSV with either one of these works fine (It was quite difficult to find this combination as the original project had many more dependencies).

One more machine I see the problem on:

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)

As it is related to 1.7 you are probably right that I should report to base.

Update: The report