-
-
Couldn't load subscription status.
- Fork 5.7k
Closed
Labels
bugIndicates an unexpected problem or unintended behaviorIndicates an unexpected problem or unintended behaviorneeds testsUnit tests are required for this changeUnit tests are required for this changesystem:32-bitAffects only 32-bit systemsAffects only 32-bit systemstestsystemThe unit testing framework and Test stdlibThe unit testing framework and Test stdlib
Description
First discovered in #12274 by @quinnj
If you run a large number of test via make test on a 32-bit system the GC will abort:
GC error (probable corruption) :
Allocations: 54615495 (Pool: 54614440; Big: 1055); GC: 17
<?#0x95e6130::0x20>
signal (6): Aborted
while loading /home/omus/julia/test/gcabort.jl, in expression starting on line 2
__kernel_vsyscall at (unknown line)
gsignal at /lib/i386-linux-gnu/libc.so.6 (unknown line)
abort at /lib/i386-linux-gnu/libc.so.6 (unknown line)
gc_assert_datatype at /home/omus/julia/src/gc.c:1389 [inlined]
gc_mark_obj at /home/omus/julia/src/gc.c:1528
gc_push_root at /home/omus/julia/src/gc.c:1212 [inlined]
gc_scan_obj at /home/omus/julia/src/gc.c:1469
gc_push_root at /home/omus/julia/src/gc.c:1215 [inlined]
gc_scan_obj at /home/omus/julia/src/gc.c:1498
...
#remotecall_fetch#492 at ./multi.jl:1106
jl_call_method_internal at /home/omus/julia/src/julia_internal.h:248 [inlined]
jl_apply_generic at /home/omus/julia/src/gf.c:2214
jl_apply at /home/omus/julia/src/julia.h:1413 [inlined]
jl_f__apply at /home/omus/julia/src/builtins.c:556
remotecall_fetch at ./multi.jl:1106
jl_call_method_internal at /home/omus/julia/src/julia_internal.h:248 [inlined]
jl_apply_generic at /home/omus/julia/src/gf.c:2214
macro expansion at /home/omus/julia/test/runtests.jl:65 [inlined]
#38 at ./task.jl:332
unknown function (ip: 0x8c76f430)
jl_call_method_internal at /home/omus/julia/src/julia_internal.h:248 [inlined]
jl_apply_generic at /home/omus/julia/src/gf.c:2214
jl_apply at /home/omus/julia/src/julia.h:1413 [inlined]
start_task at /home/omus/julia/src/task.c:261
Allocations: 54615495 (Pool: 54614440; Big: 1055); GC: 17
Aborted (core dumped)
Makefile:12: recipe for target 'gcabort' failed
make[1]: *** [gcabort] Error 134
Makefile:563: recipe for target 'test-gcabort' failed
make: *** [test-gcabort] Error 2
This issue can be reproduced by creating the file test/gcabort.jl with the following content:
using Base.Test
let y=0, m=0, d=0, h=0, mi=0, s=0, ms=0
for h = 0:23, mi = 0:59, s = 0:59, ms in (0,1,500,999), y in (0,1,500,999), m in (1,2,3,4), d in 1:1
dt = Dates.DateTime(y,m,d,h,mi,s,ms)
@test y == Dates.year(dt)
@test m == Dates.month(dt)
@test d == Dates.day(dt)
@test h == Dates.hour(dt)
@test mi == Dates.minute(dt)
@test s == Dates.second(dt)
@test ms == Dates.millisecond(dt)
end
endThen running make test-gcabort generates the exception. Note that running julia test/gcabort.jl is successful.
Metadata
Metadata
Assignees
Labels
bugIndicates an unexpected problem or unintended behaviorIndicates an unexpected problem or unintended behaviorneeds testsUnit tests are required for this changeUnit tests are required for this changesystem:32-bitAffects only 32-bit systemsAffects only 32-bit systemstestsystemThe unit testing framework and Test stdlibThe unit testing framework and Test stdlib