Skip to content

Error: JuliaSyntax parser failed — falling back to flisp!

Open

Description

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions