Hi guys,
I'm experiencing severe GC crashes on some rare MIPS devices. The V8 code
is taken from https://github.com/paul99/v8m-rb,
commit c2e35dc507b4562ce666a48cb7a26633f9d7fdaf (plus some modifications
for the specific device).
The crashing command line is
# /bin/d8 --nocrankshaft --expose-gc --noopt /bin/mjsunit/mjsunit.js
/bin/mjsunit/regress/regress-84234.js --test
Can someone give some hints to what to look at first?
Here are the gdb callstacks:
Program received signal SIGSEGV, Segmentation fault.
0x2ab4fd5c in v8::internal::Map::instance_size (this=0x166) at
../src/objects-inl.h:2833
2833 return READ_BYTE_FIELD(this, kInstanceSizeOffset) <<
kPointerSizeLog2;
(gdb) bt
#0 0x2ab4fd5c in v8::internal::Map::instance_size (this=0x166) at
../src/objects-inl.h:2833
#1 0x2ab5952c in v8::internal::HeapObject::SizeFromMap (this=0x40728b3d,
map=0x166) at ../src/objects-inl.h:2848
#2 0x2ab597a4 in v8::internal::HeapObject::Size (this=0x40728b3d) at
../src/objects-inl.h:1181
#3 0x2aeda718 in v8::internal::SemiSpaceIterator::Next (this=0x7fe1bfec)
at ../src/spaces.h:2006
#4 0x2aecd4e4 in v8::internal::MarkCompactCollector::EvacuateNewSpace
(this=0x44b470) at ../src/mark-compact.cc:3004
#5 0x2aecd63c in
v8::internal::MarkCompactCollector::EvacuateNewSpaceAndCandidates
(this=0x44b470) at ../src/mark-compact.cc:3411
#6 0x2aece720 in v8::internal::MarkCompactCollector::SweepSpaces
(this=0x44b470) at ../src/mark-compact.cc:4103
#7 0x2aed27d4 in v8::internal::MarkCompactCollector::CollectGarbage
(this=0x44b470) at ../src/mark-compact.cc:295
#8 0x2ad5b2bc in v8::internal::Heap::MarkCompact (this=0x44a040,
tracer=0x7fe1c2c0) at ../src/heap.cc:979
#9 0x2ad5b958 in v8::internal::Heap::PerformGarbageCollection
(this=0x44a040, collector=v8::internal::MARK_COMPACTOR, tracer=0x7fe1c2c0)
at ../src/heap.cc:862
#10 0x2ad5e0d0 in v8::internal::Heap::CollectGarbage (this=0x44a040,
space=v8::internal::OLD_POINTER_SPACE,
collector=v8::internal::MARK_COMPACTOR, gc_reason=0x2b2bde34 "gc
extension",
collector_reason=0x2b2cc244 "GC in old space requested") at
../src/heap.cc:600
#11 0x2ac1f784 in v8::internal::Heap::CollectGarbage (this=0x44a040,
space=v8::internal::OLD_POINTER_SPACE, gc_reason=0x2b2bde34 "gc extension")
at ../src/heap-inl.h:440
#12 0x2ad5e934 in v8::internal::Heap::CollectAllGarbage (this=0x44a040,
flags=0, gc_reason=0x2b2bde34 "gc extension") at ../src/heap.cc:510
#13 0x2aca7c14 in v8::internal::GCExtension::GC (args=@0x7fe1c4cc) at
../src/extensions/gc-extension.cc:43
#14 0x2ac047f4 in HandleApiCallHelper<false>
(args={<v8::internal::Arguments> = {<v8::internal::Embedded> = {<No data
fields>}, length_ = 2, arguments_ = 0x7fe1c594}, <No data fields>},
isolate=0x44a038) at ../src/builtins.cc:1145
#15 0x2ac049d0 in Builtin_Impl_HandleApiCall
(args={<v8::internal::Arguments> = {<v8::internal::Embedded> = {<No data
fields>}, length_ = 2, arguments_ = 0x7fe1c594}, <No data fields>},
isolate=0x44a038) at ../src/builtins.cc:1162
#16 0x2ac04aac in Builtin_HandleApiCall (args={<v8::internal::Arguments> =
{<v8::internal::Embedded> = {<No data fields>}, length_ = 2, arguments_ =
0x7fe1c594}, <No data fields>},
isolate=0x44a038) at ../src/builtins.cc:1161
#17 0x3f60a0b4 in ?? ()
(gdb) print this
$1 = (class v8::internal::Map * const) 0x166
Another one, with similar call stack:
#12 0x2ac10918 in V8_Fatal (file=0x2b2a7730 "../src/objects-inl.h",
line=2875, format=0x2b2a7748 "CHECK(%s) failed") at ../src/checks.cc:55
#13 0x2ab5971c in v8::internal::HeapObject::SizeFromMap (this=0x49728af9,
map=0x49728b51) at ../src/objects-inl.h:2875
#14 0x2ab597a4 in v8::internal::HeapObject::Size (this=0x49728af9) at
../src/objects-inl.h:1181
#15 0x2aeda718 in v8::internal::SemiSpaceIterator::Next (this=0x7fdc5a1c)
at ../src/spaces.h:2006
#16 0x2aecd4e4 in v8::internal::MarkCompactCollector::EvacuateNewSpace
(this=0x44b470) at ../src/mark-compact.cc:3004
#17 0x2aecd63c in
v8::internal::MarkCompactCollector::EvacuateNewSpaceAndCandidates
(this=0x44b470) at ../src/mark-compact.cc:3411
#18 0x2aece720 in v8::internal::MarkCompactCollector::SweepSpaces
(this=0x44b470) at ../src/mark-compact.cc:4103
#19 0x2aed27d4 in v8::internal::MarkCompactCollector::CollectGarbage
(this=0x44b470) at ../src/mark-compact.cc:295
#20 0x2ad5b2bc in v8::internal::Heap::MarkCompact (this=0x44a040,
tracer=0x7fdc5cf0) at ../src/heap.cc:979
#21 0x2ad5b958 in v8::internal::Heap::PerformGarbageCollection
(this=0x44a040, collector=v8::internal::MARK_COMPACTOR, tracer=0x7fdc5cf0)
at ../src/heap.cc:862
#22 0x2ad5e0d0 in v8::internal::Heap::CollectGarbage (this=0x44a040,
space=v8::internal::OLD_POINTER_SPACE,
collector=v8::internal::MARK_COMPACTOR, gc_reason=0x2b2bde34 "gc
extension",
collector_reason=0x2b2cc244 "GC in old space requested") at
../src/heap.cc:600
#23 0x2ac1f784 in v8::internal::Heap::CollectGarbage (this=0x44a040,
space=v8::internal::OLD_POINTER_SPACE, gc_reason=0x2b2bde34 "gc extension")
at ../src/heap-inl.h:440
#24 0x2ad5e934 in v8::internal::Heap::CollectAllGarbage (this=0x44a040,
flags=0, gc_reason=0x2b2bde34 "gc extension") at ../src/heap.cc:510
#25 0x2aca7c14 in v8::internal::GCExtension::GC (args=@0x7fdc5efc) at
../src/extensions/gc-extension.cc:43
#26 0x2ac047f4 in HandleApiCallHelper<false>
(args={<v8::internal::Arguments> = {<v8::internal::Embedded> = {<No data
fields>}, length_ = 2, arguments_ = 0x7fdc5fc4}, <No data fields>},
isolate=0x44a038) at ../src/builtins.cc:1145
#27 0x2ac049d0 in Builtin_Impl_HandleApiCall
(args={<v8::internal::Arguments> = {<v8::internal::Embedded> = {<No data
fields>}, length_ = 2, arguments_ = 0x7fdc5fc4}, <No data fields>},
isolate=0x44a038) at ../src/builtins.cc:1162
#28 0x2ac04aac in Builtin_HandleApiCall (args={<v8::internal::Arguments> =
{<v8::internal::Embedded> = {<No data fields>}, length_ = 2, arguments_ =
0x7fdc5fc4}, <No data fields>},
isolate=0x44a038) at ../src/builtins.cc:1161
#29 0x5370a0b4 in ?? ()
(gdb) up 13
#13 0x2ab5971c in v8::internal::HeapObject::SizeFromMap (this=0x49728af9,
map=0x49728b51) at ../src/objects-inl.h:2875
2875 ASSERT(instance_type == CODE_TYPE);
Current language: auto; currently c++
(gdb) print instance_type
$1 = 50
--
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users