You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
So, I'm not entirely sure if this is a bug in FreeBSD, a bug in ExecutionEngine, a bug in jemalloc, or a bug in the test. But it's fairly easily to reproduce and probably it's worth investigating. I'll put this here so we won't forget.
% uname -a
FreeBSD rabbit1.netperf.freebsd.org 11.0-CURRENT FreeBSD 11.0-CURRENT #2 551300d(master)-dirty: Wed Jan 21 01:20:50 EST 2015 root@zoo.freebsd.org:/zoo/davide/socontention-obj/zoo/davide/freebsd-head/sys/GENERIC amd64
% ./ParallelJIT
Unblocking threads from block()
: /zoo/davide/freebsd-davide/lib/libc/../../contrib/jemalloc/include/jemalloc/internal/arena.h:990: Failed assertion: "arena_mapbits_allocated_get(chunk, pageind) != 0"
Bus error (core dumped)
(gdb) bt
#0 0x0000000802db090a in thr_kill () from /lib/libc.so.7
#1 0x0000000802e739b9 in abort () from /lib/libc.so.7
#2 0x0000000802de4191 in ?? () from /lib/libc.so.7
#3 0x0000000802dedd62 in ?? () from /lib/libc.so.7
#4 0x0000000802dede60 in free () from /lib/libc.so.7
#5 0x00000000007248b9 in llvm::AllocaHolder::~AllocaHolder (this=0x80400f000) at ../lib/ExecutionEngine/Interpreter/Interpreter.h:53
#6 0x0000000000724735 in llvm::ExecutionContext::ExecutionContext (this=0x80400efb0) at ../lib/ExecutionEngine/Interpreter/Interpreter.h:64
#7 0x000000000074442e in destroy (this=, __p=, this=, __p=) at /usr/include/c++/v1/memory:1696
#8 __destroyllvm::ExecutionContext (__a=..., __p=, __a=..., __p=) at /usr/include/c++/v1/memory:1580
#9 __alloc (this=0x7fffdfbfbaa0, __a=..., __p=0x80400efb0) at /usr/include/c++/v1/memory:1483
#10 __destruct_at_end (this=0x7fffdfbfbaa0, __new_last=0x0) at /usr/include/c++/v1/__split_buffer:310
#11 __destruct_at_end (this=0x7fffdfbfbaa0, __new_last=0x0) at /usr/include/c++/v1/__split_buffer:136
#12 clear (this=0x7fffdfbfbaa0) at /usr/include/c++/v1/__split_buffer:83
#13 std::__1::__split_buffer<llvm::ExecutionContext, std::__1::allocatorllvm::ExecutionContext&>::__split_buffer (this=0x7fffdfbfbaa0)
at /usr/include/c++/v1/__split_buffer:355
#14 0x0000000000743d95 in std::__1::vector<llvm::ExecutionContext, std::__1::allocatorllvm::ExecutionContext >::__emplace_back_slow_path<>() (this=0x80389cb68)
at /usr/include/c++/v1/vector:1577
#15 0x00000000007378db in emplace_back<> (this=0x80389cb68) at /usr/include/c++/v1/vector:1593
#16 llvm::Interpreter::callFunction (this=0x80389c900, F=0x80387d198, ArgVals=...) at ../lib/ExecutionEngine/Interpreter/Execution.cpp:2081
#17 0x0000000000724314 in llvm::Interpreter::runFunction (this=0x80389c900, F=0x80387d198, ArgValues=...) at ../lib/ExecutionEngine/Interpreter/Interpreter.cpp:93
#18 0x0000000000406032 in callFunc (param=0x7fffffffe668) at ../examples/ParallelJIT/ParallelJIT.cpp:237
#19 0x0000000801db44f5 in ?? () from /lib/libthr.so.3
#20 0x0000000000000000 in ?? ()
Backtrace stopped: Cannot access memory at address 0x7fffdfbfc000
The text was updated successfully, but these errors were encountered:
Extended Description
So, I'm not entirely sure if this is a bug in FreeBSD, a bug in ExecutionEngine, a bug in jemalloc, or a bug in the test. But it's fairly easily to reproduce and probably it's worth investigating. I'll put this here so we won't forget.
% uname -a
FreeBSD rabbit1.netperf.freebsd.org 11.0-CURRENT FreeBSD 11.0-CURRENT #2 551300d(master)-dirty: Wed Jan 21 01:20:50 EST 2015 root@zoo.freebsd.org:/zoo/davide/socontention-obj/zoo/davide/freebsd-head/sys/GENERIC amd64
% ./ParallelJIT
Unblocking threads from block()
: /zoo/davide/freebsd-davide/lib/libc/../../contrib/jemalloc/include/jemalloc/internal/arena.h:990: Failed assertion: "arena_mapbits_allocated_get(chunk, pageind) != 0"
Bus error (core dumped)
(gdb) bt
#0 0x0000000802db090a in thr_kill () from /lib/libc.so.7
#1 0x0000000802e739b9 in abort () from /lib/libc.so.7
#2 0x0000000802de4191 in ?? () from /lib/libc.so.7
#3 0x0000000802dedd62 in ?? () from /lib/libc.so.7
#4 0x0000000802dede60 in free () from /lib/libc.so.7
#5 0x00000000007248b9 in llvm::AllocaHolder::~AllocaHolder (this=0x80400f000) at ../lib/ExecutionEngine/Interpreter/Interpreter.h:53
#6 0x0000000000724735 in llvm::ExecutionContext::
ExecutionContext (this=0x80400efb0) at ../lib/ExecutionEngine/Interpreter/Interpreter.h:64__split_buffer (this=0x7fffdfbfbaa0)#7 0x000000000074442e in destroy (this=, __p=, this=, __p=) at /usr/include/c++/v1/memory:1696
#8 __destroyllvm::ExecutionContext (__a=..., __p=, __a=..., __p=) at /usr/include/c++/v1/memory:1580
#9 __alloc (this=0x7fffdfbfbaa0, __a=..., __p=0x80400efb0) at /usr/include/c++/v1/memory:1483
#10 __destruct_at_end (this=0x7fffdfbfbaa0, __new_last=0x0) at /usr/include/c++/v1/__split_buffer:310
#11 __destruct_at_end (this=0x7fffdfbfbaa0, __new_last=0x0) at /usr/include/c++/v1/__split_buffer:136
#12 clear (this=0x7fffdfbfbaa0) at /usr/include/c++/v1/__split_buffer:83
#13 std::__1::__split_buffer<llvm::ExecutionContext, std::__1::allocatorllvm::ExecutionContext&>::
at /usr/include/c++/v1/__split_buffer:355
#14 0x0000000000743d95 in std::__1::vector<llvm::ExecutionContext, std::__1::allocatorllvm::ExecutionContext >::__emplace_back_slow_path<>() (this=0x80389cb68)
at /usr/include/c++/v1/vector:1577
#15 0x00000000007378db in emplace_back<> (this=0x80389cb68) at /usr/include/c++/v1/vector:1593
#16 llvm::Interpreter::callFunction (this=0x80389c900, F=0x80387d198, ArgVals=...) at ../lib/ExecutionEngine/Interpreter/Execution.cpp:2081
#17 0x0000000000724314 in llvm::Interpreter::runFunction (this=0x80389c900, F=0x80387d198, ArgValues=...) at ../lib/ExecutionEngine/Interpreter/Interpreter.cpp:93
#18 0x0000000000406032 in callFunc (param=0x7fffffffe668) at ../examples/ParallelJIT/ParallelJIT.cpp:237
#19 0x0000000801db44f5 in ?? () from /lib/libthr.so.3
#20 0x0000000000000000 in ?? ()
Backtrace stopped: Cannot access memory at address 0x7fffdfbfc000
The text was updated successfully, but these errors were encountered: