Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Anomalous “JuliaSyntax parser failed” error - julia 1.11.0-DEV.715 #54989

Open
ghjwp7 opened this issue Jul 1, 2024 · 0 comments
Open

Anomalous “JuliaSyntax parser failed” error - julia 1.11.0-DEV.715 #54989

ghjwp7 opened this issue Jul 1, 2024 · 0 comments
Labels
domain:error messages Better, more actionable error messages parser Language parsing and surface syntax

Comments

@ghjwp7
Copy link

ghjwp7 commented Jul 1, 2024

I posted at https://discourse.julialang.org/t/anomalous-juliasyntax-parser-failed-error-julia-1-11-0-dev/116382 regarding a parsing problem with Julia Version 1.11.0-DEV.715 Commit abd00d0 (2023-10-24 02:31 UTC) and got advice to post here (github JuliaLang/julia/issues).

Note, the problem does not occur with other versions than 1.11.0-DEV.715 that I've tried, including Julia Version 1.10.4 48d4fd4 2024-06-04; 1.11.0-beta2 edb3c92 2024-05-29; 1.11.0-rc1 3a35aec 2024-06-25; and 1.12.0-DEV.800 334e4d9 2024-06-28. At the moment I don't have 1.11.0-DEV.715 installed and haven't figured out how to find it or how to install it (if I find it) using jill without jill overwriting 1.11.0-rc1.

Contents here: Part 1: Problem description. Part 2: Program text. Part 3: Anomalous error text, from 1.11.0-DEV.715. Part 4: "Correct" error text, from 1.12.0-DEV.800. Part 5: versioninfo() for 1.11.0-DEV.715 and 1.12.0-DEV.800 on my system

Part 1. Problem description: Given the program shown next, with the second line of main() as shown, Julia Version 1.11.0-DEV.715 anomalously throws an exception after a message, Error: JuliaSyntax parser failed — falling back to flisp!, and before showing a message about the obviously misplaced bracket. See message in Part 3 (shown with file path redacted). Note, if a newline is added before for in the problem line, 1.11.0-DEV.715 no longer throws the anomalous exception.

Part 2: Program text.

module d6
mutable struct SE
    w   ::String
    vb  ::Int
    ve  ::Int
end
vv(s) = 5
function main()
    wi=["aaaa", "bbbb",]
    wo = [SE(w, vv(w), vv(w[4]:end)) for w in sort(unique(wi))]
end
main()
end # module

Part 3: Anomalous error text, from 1.11.0-DEV.715.

┌ Error: JuliaSyntax parser failed — falling back to flisp!
│   exception = (BoundsError(Any[], (1,)), Union{Ptr{Nothing}, Base.InterpreterIP}[Ptr{Nothing} @0x00007ff209c3b5ec, Ptr{Nothing} @0x00007ff1f7d21d17, Ptr{Nothing} @0x00007ff1f73ff479, Ptr{Nothing} @0x00007ff1f73fefa4, Ptr{Nothing} @0x00007ff1f73fefa4, Ptr{Nothing} @0x00007ff1f774659f, Ptr{Nothing} @0x00007ff1f83a3e50, Ptr{Nothing} @0x00007ff1f7682b5c, Ptr{Nothing} @0x00007ff209bb5ccd, Ptr{Nothing} @0x00007ff209bc6329, Ptr{Nothing} @0x00007ff209bb5ccd, Ptr{Nothing} @0x00007ff209bc83e8, Ptr{Nothing} @0x00007ff1f7439d43, Ptr{Nothing} @0x00007ff209bb5ccd, Ptr{Nothing} @0x00007ff209bc83e8, Ptr{Nothing} @0x00007ff1f763b2ca, Ptr{Nothing} @0x00007ff209bb5ccd, Ptr{Nothing} @0x00007ff209bc83e8, Ptr{Nothing} @0x00007ff1f7ab5dcd, Ptr{Nothing} @0x00007ff209bb5ccd, Ptr{Nothing} @0x00007ff209bc83e8, Ptr{Nothing} @0x00007ff1f8143201, Ptr{Nothing} @0x00007ff209bb5ccd, Ptr{Nothing} @0x00007ff1f787d243, Ptr{Nothing} @0x00007ff1f7c075d6, Ptr{Nothing} @0x00007ff209bb5ccd, Ptr{Nothing} @0x00007ff1f7ad4723, Ptr{Nothing} @0x00007ff1f789abcd, Ptr{Nothing} @0x00007ff1f7df648a, Ptr{Nothing} @0x00007ff209bb5ccd, Ptr{Nothing} @0x00007ff1f7ca64e5, Ptr{Nothing} @0x00007ff1f7c98972, Ptr{Nothing} @0x00007ff1f820ed83, Ptr{Nothing} @0x00007ff209bb5ccd, Ptr{Nothing} @0x00007ff209c24012, Ptr{Nothing} @0x00007ff209c24aee, Ptr{Nothing} @0x0000000000401088, Ptr{Nothing} @0x00007ff20a79bd8f, Ptr{Nothing} @0x00007ff20a79be3f, Ptr{Nothing} @0x00000000004010b8])
│   offset = 0
│   code = module d6
mutable struct SE
    w   ::String
    vb  ::Int
    ve  ::Int
end
vv(s) = 5
function main()
    wi=["aaaa", "bbbb",]
    wo = [SE(w, vv(w), vv(w[4]:end)) for w in sort(unique(wi))]
end
main()
end # module

└ @ Base.JuliaSyntax /cache/build/default-amdci4-1/julialang/julia-master/base/JuliaSyntax/src/hooks.jl:258
ERROR: LoadError: syntax: missing last argument in "w[4]:" range expression 
Stacktrace:
 [1] top-level scope
   @ ... /parsererr2.jl:10
in expression starting at ... /parsererr2.jl:10

Part 4: "Correct" error text, from 1.12.0-DEV.800.

ERROR: LoadError: ParseError:
# Error @ ... /parsererr2.jl:10:32
    wi=["aaaa", "bbbb",]
    wo = [SE(w, vv(w), vv(w[4]:end)) for w in sort(unique(wi))]
#                              └ ── missing last argument in range expression
Stacktrace:
 [1] top-level scope
   @ ... /parsererr2.jl:10
 [2] include
   @ ./Base.jl:580 [inlined]
 [3] exec_options(opts::Base.JLOptions)
   @ Base ./client.jl:324
 [4] _start()
   @ Base ./client.jl:532
in expression starting at ... /parsererr2.jl:10

Part 5: versioninfo() for 1.11.0-DEV.715 and 1.12.0-DEV.800:

Julia Version 1.11.0-DEV.715
Commit abd00d09ce3 (2023-10-24 02:31 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 4 × Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz
  WORD_SIZE: 64
  LLVM: libLLVM-15.0.7 (ORCJIT, skylake)
  Threads: 1 on 4 virtual cores

Julia Version 1.12.0-DEV.800
Commit 334e4d9f5d5 (2024-06-28 15:46 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 4 × Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz
  WORD_SIZE: 64
  LLVM: libLLVM-17.0.6 (ORCJIT, skylake)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)
@nsajko nsajko added parser Language parsing and surface syntax domain:error messages Better, more actionable error messages labels Jul 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain:error messages Better, more actionable error messages parser Language parsing and surface syntax
Projects
None yet
Development

No branches or pull requests

2 participants