JuliaData / CSV.jl

Utility library for working with CSV and other delimited files in the Julia programming language
https://csv.juliadata.org/
Other
459 stars 141 forks source link

CSV.jl errors on nightly #1124

Closed longemen3000 closed 4 months ago

longemen3000 commented 4 months ago

on julia nightly, CSV.jl fails to precompile:

ERROR: LoadError: TypeError: in typeassert, expected Tuple{Vector{UInt8}, Int64, Int64, Union{Nothing, String}}, got a value of type Nothing
Stacktrace:
  [1] getsource(x::Any, buffer_in_memory::Bool)
    @ CSV ~/.julia/packages/CSV/aoJqo/src/utils.jl:288
  [2] CSV.Context(source::CSV.Arg, header::CSV.Arg, normalizenames::CSV.Arg, datarow::CSV.Arg, skipto::CSV.Arg, footerskip::CSV.Arg, transpose::CSV.Arg, comment::CSV.Arg, ignoreemptyrows::CSV.Arg, ignoreemptylines::CSV.Arg, select::CSV.Arg, drop::CSV.Arg, limit::CSV.Arg, buffer_in_memory::CSV.Arg, threaded::CSV.Arg, ntasks::CSV.Arg, tasks::CSV.Arg, rows_to_check::CSV.Arg, lines_to_check::CSV.Arg, missingstrings::CSV.Arg, missingstring::CSV.Arg, delim::CSV.Arg, ignorerepeated::CSV.Arg, quoted::CSV.Arg, quotechar::CSV.Arg, openquotechar::CSV.Arg, closequotechar::CSV.Arg, escapechar::CSV.Arg, dateformat::CSV.Arg, dateformats::CSV.Arg, decimal::CSV.Arg, groupmark::CSV.Arg, truestrings::CSV.Arg, falsestrings::CSV.Arg, stripwhitespace::CSV.Arg, type::CSV.Arg, types::CSV.Arg, typemap::CSV.Arg, pool::CSV.Arg, downcast::CSV.Arg, lazystrings::CSV.Arg, stringtype::CSV.Arg, strict::CSV.Arg, silencewarnings::CSV.Arg, maxwarnings::CSV.Arg, debug::CSV.Arg, parsingdebug::CSV.Arg, validate::CSV.Arg, streaming::CSV.Arg)
    @ CSV ~/.julia/packages/CSV/aoJqo/src/context.jl:382
  [3] CSV.File(source::IOBuffer; header::Int64, normalizenames::Bool, datarow::Int64, skipto::Int64, footerskip::Int64, transpose::Bool, comment::Nothing, ignoreemptyrows::Bool, ignoreemptylines::Nothing, select::Nothing, drop::Nothing, limit::Nothing, buffer_in_memory::Bool, threaded::Nothing, ntasks::Nothing, tasks::Nothing, rows_to_check::Int64, lines_to_check::Nothing, missingstrings::Vector{String}, missingstring::String, delim::Nothing, ignorerepeated::Bool, quoted::Bool, quotechar::Char, openquotechar::Nothing, closequotechar::Nothing, escapechar::Char, dateformat::Nothing, dateformats::Nothing, decimal::UInt8, groupmark::Nothing, truestrings::Vector{String}, falsestrings::Vector{String}, stripwhitespace::Bool, type::Nothing, types::Nothing, typemap::IdDict{Type, Type}, pool::Tuple{Float64, Int64}, downcast::Bool, lazystrings::Bool, stringtype::Type{InlineStrings.InlineString}, strict::Bool, silencewarnings::Bool, maxwarnings::Int64, debug::Bool, parsingdebug::Bool, validate::Bool)
    @ CSV ~/.julia/packages/CSV/aoJqo/src/file.jl:222
  [4] CSV.File(source::IOBuffer)
    @ CSV ~/.julia/packages/CSV/aoJqo/src/file.jl:162
  [5] macro expansion
    @ ~/.julia/packages/CSV/aoJqo/src/precompile.jl:10 [inlined]
  [6] macro expansion
    @ ~/.julia/packages/PrecompileTools/kmH5L/src/workloads.jl:78 [inlined]
  [7] macro expansion
    @ ~/.julia/packages/CSV/aoJqo/src/precompile.jl:7 [inlined]
  [8] macro expansion
    @ ~/.julia/packages/PrecompileTools/kmH5L/src/workloads.jl:140 [inlined]
  [9] top-level scope
    @ ~/.julia/packages/CSV/aoJqo/src/precompile.jl:139
 [10] include(mod::Module, _path::String)
    @ Base ./Base.jl:556
 [11] include(x::String)
    @ CSV ~/.julia/packages/CSV/aoJqo/src/CSV.jl:24
 [12] top-level scope
    @ ~/.julia/packages/CSV/aoJqo/src/CSV.jl:120
 [13] include
    @ ./Base.jl:556 [inlined]
 [14] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::String)
    @ Base ./loading.jl:2604
 [15] top-level scope
    @ stdin:4
in expression starting at /home/runner/.julia/packages/CSV/aoJqo/src/precompile.jl:3
in expression starting at /home/runner/.julia/packages/CSV/aoJqo/src/CSV.jl:1
in expression starting at stdin:4

the error seems to originate here: https://github.com/JuliaData/CSV.jl/commit/953636a363525e3027d690b8a30448d115249bf9#diff-47c27891e951c8cd946b850dc2df31082624afdf57446c21cb6992f5f4b74aa2R156-R162

the error seems related to https://github.com/JuliaLang/julia/pull/53192. It seems that there was an attempt to fix this in https://github.com/JuliaData/CSV.jl/pull/1121