Skip to content

Error: JuliaSyntax parser failed — falling back to flisp! #505

Closed
@resmaeilbeigi

Description

@resmaeilbeigi

I got this error in a large Julia codebase and cannot reproduce the issue on a small instance, but I think it is still useful to share what piece of code failed and how to work around it.

So calling the function

function timeToFloat(time)
  s = split(string(time), ":")
  Meta.parse(s[1])+Meta.parse(s[2])/60.0
end  

raised the error

┌ Error: JuliaSyntax parser failed — falling back to flisp!
│ This is not your fault. Please submit a bug report to https://github.com/JuliaLang/JuliaSyntax.jl/issues
│   exception =
│    MethodError: no method matching pointer(::SubString{InlineStrings.String15})
│    
│    Closest candidates are:
│      pointer(::LaTeXStrings.LaTeXString) (method too new to be called from this world context.)
│       @ LaTeXStrings ~/tmp/julia-packages/1.10.5/packages/LaTeXStrings/ZtSdh/src/LaTeXStrings.jl:129
│      pointer(::CSV.ReversedBuf) (method too new to be called from this world context.)
│       @ CSV ~/tmp/julia-packages/1.10.5/packages/CSV/cwX2w/src/utils.jl:572
│      pointer(::CSV.ReversedBuf, ::Integer) (method too new to be called from this world context.)
│       @ CSV ~/tmp/julia-packages/1.10.5/packages/CSV/cwX2w/src/utils.jl:572
│      ...
│    
│    Stacktrace:
│      [1] Base.JuliaSyntax.ParseStream(text::SubString{InlineStrings.String15}, index::Int64; version::VersionNumber)
│        @ Base.JuliaSyntax /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/base/JuliaSyntax/src/parse_stream.jl:309
│      [2] Base.JuliaSyntax.ParseStream(text::SubString{InlineStrings.String15}, index::Int64)
│        @ Base.JuliaSyntax /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/base/JuliaSyntax/src/parse_stream.jl:307
│      [3] core_parser_hook(code::SubString{InlineStrings.String15}, filename::String, lineno::Int64, offset::Int64, options::Symbol)
│        @ Base.JuliaSyntax /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/base/JuliaSyntax/src/hooks.jl:162
│      [4] invoke_in_world(::UInt64, ::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
│        @ Base ./essentials.jl:926
│      [5] invoke_in_world(::UInt64, ::Any, ::Any, ::Vararg{Any})
│        @ Base ./essentials.jl:923
│      [6] (::Base.JuliaSyntax.var"#invoke_fixedworld#120"{Base.JuliaSyntax.var"#invoke_fixedworld#117#121"{typeof(Base.JuliaSyntax.core_parser_hook), UInt64}})(::SubString{InlineStrings.String15}, ::Vararg{Any}; kws::@Kwargs{})
│        @ Base.JuliaSyntax /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/base/JuliaSyntax/src/hooks.jl:118
│      [7] (::Base.JuliaSyntax.var"#invoke_fixedworld#120"{Base.JuliaSyntax.var"#invoke_fixedworld#117#121"{typeof(Base.JuliaSyntax.core_parser_hook), UInt64}})(::SubString{InlineStrings.String15}, ::Vararg{Any})
│        @ Base.JuliaSyntax /cache/build/builder-amdci4-4/julialang/julia-release-1-dot-10/base/JuliaSyntax/src/hooks.jl:117
│      [8] _parse_string(text::SubString{InlineStrings.String15}, filename::String, lineno::Int64, index::Int64, options::Symbol)
│        @ Base.Meta ./meta.jl:200
│      [9] #parse#3
│        @ ./meta.jl:238 [inlined]
│     [10] parse
│        @ ./meta.jl:236 [inlined]
│     [11] parse(str::SubString{InlineStrings.String15}; filename::String, raise::Bool, depwarn::Bool)
│        @ Base.Meta ./meta.jl:278
│     [12] parse
│        @ ./meta.jl:276 [inlined]
│     [13] timeToFloat(time::InlineStrings.String15)

at the line containing Meta.parse(s[1])+Meta.parse(s[2])/60.0. The error goes away if s is a list of Strings:

function timeToFloat(time)
  s = map(String, split(string(time), ":"))
  Meta.parse(s[1])+Meta.parse(s[2])/60.0
end

I should point out that this error happens after several calls to the function with varying arguments (the function argument time can be a String or Dates.Time object).

Version Info:

Julia Version 1.10.5
Commit 6f3fdf7b362 (2024-08-27 14:19 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 16 × 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, tigerlake)
Threads: 1 default, 0 interactive, 1 GC (on 16 virtual cores)
Environment:
  LD_LIBRARY_PATH = :/opt/gurobi1001/linux64/lib
  JULIA_PARALLEL = false
  JULIA_VERSION = 1.10.5
  JULIA_LOAD_PATH = ./src/:
  JULIA_DEPOT_PATH = /home/rasul/tmp/julia-packages/1.10.5

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions