Commit 36472a7
authored
gc: fix assertion / ASAN violation in gc_big_object_link (JuliaLang#56944)
We somehow just got (un)lucky that `DFS!` at
Compiler/src/ssair/domtree.jl:184 just happened to store exactly the
same value as this pointer in this particular memory location
previously, so that this branch on `undef` hit exactly the right value
to fail. What are the odds?
Seen on a CI run (with rr)
The odds of this happening seem somewhere around 2^60 against, to 1 for
each time. So that seems impressive we hit this even this once.
But we did, and the proof is here, caught in rr:
https://buildkite.com/julialang/julia-master/builds/43366#019425d7-67fd-4f33-a025-6d7cd6181649
```
From worker 6: julia: /cache/build/tester-amdci5-10/julialang/julia-master/src/gc-stock.h:492: gc_big_object_link: Assertion `node->header != gc_bigval_sentinel_tag' failed.
2025-01-02 07:47:22 UTC From worker 6:
2025-01-02 07:47:22 UTC From worker 6: [3877] signal 6 (-6): Aborted
2025-01-02 07:47:22 UTC From worker 6: in expression starting at none:1
2025-01-02 07:47:22 UTC From worker 6: gsignal at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
2025-01-02 07:47:22 UTC From worker 6: abort at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
2025-01-02 07:47:22 UTC From worker 6: unknown function (ip: 0x7fb9a4b5040e) at /lib/x86_64-linux-gnu/libc.so.6
2025-01-02 07:47:22 UTC From worker 6: __assert_fail at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
2025-01-02 07:47:22 UTC From worker 6: gc_big_object_link at /cache/build/tester-amdci5-10/julialang/julia-master/src/gc-stock.h:492 [inlined]
2025-01-02 07:47:22 UTC From worker 6: gc_setmark_big at /cache/build/tester-amdci5-10/julialang/julia-master/src/gc-stock.c:276
2025-01-02 07:47:22 UTC From worker 6: jl_gc_big_alloc_inner at /cache/build/tester-amdci5-10/julialang/julia-master/src/gc-stock.h:491
```1 parent 5058dba commit 36472a7
1 file changed
+4
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
423 | 423 | | |
424 | 424 | | |
425 | 425 | | |
426 | | - | |
| 426 | + | |
427 | 427 | | |
428 | 428 | | |
429 | 429 | | |
| |||
448 | 448 | | |
449 | 449 | | |
450 | 450 | | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
451 | 454 | | |
452 | 455 | | |
453 | 456 | | |
| |||
0 commit comments