Codegen assertion fails in 1.5.0-DEV.51
- Dominant language
- Julia
- Stars
- 113
- Forks
- 37
- PR merge metrics
- No merged PRs in 30d
Description
I have been observing an assertion failure in `codegen.cpp` since about a month on nightly (see [here](https://travis-ci.org/TuringLang/IRTracker.jl/jobs/635928695?utm_medium=notification&utm_source=github_status)), but couldn't yet find a minimal example.
```
codegen.cpp:4353: jl_cgval_t emit_expr(jl_codectx_t&, jl_value_t*, ssize_t): Assertion `token.V->getType()->isTokenTy()' failed.
signal (6): Aborted
in expression starting at /home/travis/build/phipsgabler/DynamicComputationGraphs.jl/test/test_basics.jl:6
gsignal at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
abort at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x7f25a5a3cbd6)
__assert_fail at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
emit_expr at /buildworker/worker/package_linux64/build/src/codegen.cpp:4353
```
Maybe [this change](https://github.com/JuliaLang/julia/commit/b80702968ebca5559805a49c4a0e3f8decd7cb4d#diff-6d4d21428a67320600faf5a1a9f3a16a) has something to do with it -- the part of the code causing this is where `gc_preserve_end_sym` expressions are handled.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the nightly failure from test/test_basics.jl:6 and inspect codegen.cpp around line 4353. Compare the handling of gc_preserve_end_sym expressions with Julia change b80702968ebca5559805a49c4a0e3f8decd7cb4d; done means isolating a minimal example and resolving the assertion failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100