Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 933513

Summary: net-libs/nodejs-20.12.1 on ppc64 FAILED: gen/node_snapshot.cc
Product: Gentoo Linux Reporter: Alejandro Sánchez Marín <asmarin>
Component: Current packagesAssignee: William Hubbs <williamh>
Status: CONFIRMED ---    
Severity: normal CC: asmarin, matoro_gentoo, ppc64
Priority: Normal    
Version: unspecified   
Hardware: PPC64   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=932075
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: emerge--info of nodejs-20.12.1 ppc64
buildlog of nodejs-201.12.1 ppc64
gdb context and complete backtrace

Description Alejandro Sánchez Marín 2024-06-04 07:32:25 UTC
Created attachment 895038 [details]
emerge--info of nodejs-20.12.1 ppc64

I was trying to install firefox on gentoo ppc64 powermac g5 when nodejs-20.12.1 fails to build.
Comment 1 Alejandro Sánchez Marín 2024-06-04 07:33:04 UTC
Created attachment 895039 [details]
buildlog of nodejs-201.12.1 ppc64
Comment 2 Mike Gilbert gentoo-dev 2024-06-04 13:56:01 UTC
> FAILED: gen/node_snapshot.cc 
> cd ../../; /var/tmp/portage/net-libs/nodejs-20.12.1/work/node-v20.12.1/out/Release/node_mksnapshot /
var/tmp/portage/net-libs/nodejs-20.12.1/work/node-v20.12.1/out/Release/gen/node_snapshot.cc
Comment 3 matoro archtester 2024-06-04 15:53:16 UTC
Yep, I also noticed this; occurs on big-endian only.

$ /var/tmp/portage/net-libs/nodejs-20.12.1/work/node-v20.12.1/out/Release/node_mksnapshot /var/tmp/portage/net-libs/nodejs-20.12.1/work/node-v20.12.1/out/Release/gen/node_snapshot.cc
Segmentation fault (core dumped)
Comment 4 matoro archtester 2024-06-04 17:02:49 UTC
Created attachment 895073 [details]
gdb context and complete backtrace

Issue in garbage collection?  Here's backtrace from debug build.

Thread 1 "node_mksnapshot" received signal SIGSEGV, Segmentation fault.
0x0000000106fb24e8 in heap::base::Stack::IteratePointersImpl(heap::base::Stack const*, heap::base::StackVisitor*, void const*) ()
+bt
#0  0x0000000106fb24e8 in heap::base::Stack::IteratePointersImpl(heap::base::Stack const*, heap::base::StackVisitor*, void const*) ()
#1  0x00000001040bf49c in PushAllRegistersAndIterateStack ()
#2  0x00000001040bdcec in heap::base::Stack::IteratePointers (this=0x1073b2530, visitor=0x107457a38) at ../../deps/v8/src/heap/base/stack.cc:177
#3  0x00000001040fc220 in cppgc::internal::MarkerBase::VisitRoots (this=0x1074574c0, stack_state=cppgc::EmbedderStackState::kMayContainHeapPointers) at ../../deps/v8/src/heap/cppgc/marker.cc:461
#4  0x00000001040fb1a0 in cppgc::internal::MarkerBase::EnterAtomicPause (this=0x1074574c0, stack_state=cppgc::EmbedderStackState::kMayContainHeapPointers) at ../../deps/v8/src/heap/cppgc/marker.cc:271
#5  0x0000000102ff4668 in v8::internal::CppHeap::EnterFinalPause (this=0x107421680, stack_state=cppgc::EmbedderStackState::kMayContainHeapPointers) at ../../deps/v8/src/heap/cppgc-js/cpp-heap.cc:776
#6  0x0000000103206f38 in v8::internal::MarkCompactCollector::MarkLiveObjects (this=0x1073e8ff0) at ../../deps/v8/src/heap/mark-compact.cc:2586
#7  0x00000001031f9c18 in v8::internal::MarkCompactCollector::CollectGarbage (this=0x1073e8ff0) at ../../deps/v8/src/heap/mark-compact.cc:548
#8  0x000000010313a840 in v8::internal::Heap::MarkCompact (this=0x1073afa30) at ../../deps/v8/src/heap/heap.cc:2534
#9  0x0000000103138fb4 in v8::internal::Heap::PerformGarbageCollection (this=0x1073afa30, collector=v8::internal::GarbageCollector::MARK_COMPACTOR, gc_reason=v8::internal::GarbageCollectionReason::kSnapshotCreator, collector_reason=0x105dafdd0 "GC in old space requested") at ../../deps/v8/src/heap/heap.cc:2283
#10 0x0000000103135a60 in v8::internal::Heap::CollectGarbage (this=0x1073afa30, space=v8::internal::OLD_SPACE, gc_reason=v8::internal::GarbageCollectionReason::kSnapshotCreator, gc_callback_flags=v8::kNoGCCallbackFlags) at ../../deps/v8/src/heap/heap.cc:1781
#11 0x0000000103134668 in v8::internal::Heap::CollectAllAvailableGarbage (this=0x1073afa30, gc_reason=v8::internal::GarbageCollectionReason::kSnapshotCreator) at ../../deps/v8/src/heap/heap.cc:1570
#12 0x0000000102ba9374 in v8::SnapshotCreator::CreateBlob (this=0x10739aae8, function_code_handling=v8::SnapshotCreator::FunctionCodeHandling::kKeep) at ../../deps/v8/src/api/api.cc:729
#13 0x00000001026cf2e4 in node::SnapshotBuilder::CreateSnapshot (out=0x7fffffffe5f8, setup=0x1073916c0) at ../../src/node_snapshotable.cc:1166
#14 0x00000001026ce4e0 in node::BuildSnapshotWithoutCodeCache (out=0x7fffffffe5f8, args=std::vector of length 2, capacity 2 = {...}, exec_args=std::vector of length 0, capacity 0, builder_script_content=std::optional [no contained value], config=...) at ../../src/node_snapshotable.cc:1018
#15 0x00000001026ceb6c in node::SnapshotBuilder::Generate (out=0x7fffffffe5f8, args=std::vector of length 2, capacity 2 = {...}, exec_args=std::vector of length 0, capacity 0, builder_script_content=std::optional [no contained value], snapshot_config=...) at ../../src/node_snapshotable.cc:1066
#16 0x00000001026cf778 in node::SnapshotBuilder::GenerateAsSource (out_path=0x107336370 "/var/tmp/portage/net-libs/nodejs-20.12.1/work/node-v20.12.1/out/Debug/gen/node_snapshot.cc", args=std::vector of length 2, capacity 2 = {...}, exec_args=std::vector of length 0, capacity 0, config=..., use_array_literals=false) at ../../src/node_snapshotable.cc:1226
#17 0x00000001023d62f4 in BuildSnapshot (argc=2, argv=0x1073527d0) at ../../tools/snapshot/node_mksnapshot.cc:97
#18 0x00000001023d5dcc in main (argc=2, argv=0x1073527d0) at ../../tools/snapshot/node_mksnapshot.cc:53
Comment 5 Alejandro Sánchez Marín 2024-06-12 10:55:48 UTC
I tried to compile nodejs and it's impossible on ppc64 BE. Not support from ibm.