Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

segfaults on FreeBSD 8 #2104

Closed
oparoz opened this issue Nov 14, 2011 · 4 comments
Closed

segfaults on FreeBSD 8 #2104

oparoz opened this issue Nov 14, 2011 · 4 comments

Comments

@oparoz
Copy link

oparoz commented Nov 14, 2011

I've tried both 0.4.12 and 0.6.2-pre. V8 version is 3.7.3.

Here is the trace with 0.6.2-pre

#0  0x0000000800e3fa52 in v8::internal::Isolate::EnsureDefaultIsolate () from /usr/local/lib/libv8.so
No symbol table info available.
#1  0x0000000800e423c9 in v8::internal::Isolate::EnterDefaultIsolate () from /usr/local/lib/libv8.so
No symbol table info available.
#2  0x0000000800d44c15 in v8::V8::SetFatalErrorHandler () from /usr/local/lib/libv8.so
No symbol table info available.
#3  0x00007fffffffe370 in ?? ()
No symbol table info available.
#4  0x00007fffffffe368 in ?? ()
No symbol table info available.
#5  0x00007fffffffe368 in ?? ()
No symbol table info available.
#6  0x0000000000421233 in node::Init (argc=2, argv=0x800e423c0) at ../src/node.cc:1617
        v8argc = 1
        v8argv = (char **) 0x800d44c15
#7  0x000000000042167f in node::Start (argc=2, argv=Variable "argv" is not available.
) at ../src/node.cc:1617
        handle_scope = {isolate_ = 0x7fffffffe368, prev_next_ = 0x801943608, prev_limit_ = 0x1, is_closed_ = 2}
        context_scope = Variable "context_scope" is not available.
@bnoordhuis
Copy link
Member

The backtrace suggests that you're linking to an external libv8, not the one that comes bundled with Node.

@oparoz
Copy link
Author

oparoz commented Nov 14, 2011

Indeed, because of issue #982 (last messages). The one bundled with node.js fails to compile.

g++46 -o obj/release/mksnapshot -m64 obj/release/mksnapshot.o obj/release/libraries.o obj/release/experimental-libraries.o obj/release/accessors.o obj/release/allocation.o obj/release/api.o obj/release/assembler.o obj/release/ast.o obj/release/atomicops_internals_x86_gcc.o obj/release/bignum-dtoa.o obj/release/bignum.o obj/release/bootstrapper.o obj/release/builtins.o obj/release/cached-powers.o obj/release/checks.o obj/release/circular-queue.o obj/release/code-stubs.o obj/release/codegen.o obj/release/compilation-cache.o obj/release/compiler.o obj/release/contexts.o obj/release/conversions.o obj/release/counters.o obj/release/cpu-profiler.o obj/release/data-flow.o obj/release/dateparser.o obj/release/debug-agent.o obj/release/debug.o obj/release/deoptimizer.o obj/release/disassembler.o obj/release/diy-fp.o obj/release/dtoa.o obj/release/elements.o obj/release/execution.o obj/release/extensions/externalize-string-extension.o obj/release/extensions/gc-extension.o obj/release/factory.o obj/release/fast-dtoa.o obj/release/fixed-dtoa.o obj/release/flags.o obj/release/frames.o obj/release/full-codegen.o obj/release/func-name-inferrer.o obj/release/gdb-jit.o obj/release/global-handles.o obj/release/handles.o obj/release/hashmap.o obj/release/heap-profiler.o obj/release/heap.o obj/release/hydrogen-instructions.o obj/release/hydrogen.o obj/release/ic.o obj/release/inspector.o obj/release/interpreter-irregexp.o obj/release/isolate.o obj/release/jsregexp.o obj/release/lithium-allocator.o obj/release/lithium.o obj/release/liveedit.o obj/release/liveobjectlist.o obj/release/log-utils.o obj/release/log.o obj/release/mark-compact.o obj/release/messages.o obj/release/objects-printer.o obj/release/objects-visiting.o obj/release/objects.o obj/release/parser.o obj/release/platform-freebsd.o obj/release/platform-posix.o obj/release/preparse-data.o obj/release/preparser.o obj/release/profile-generator.o obj/release/property.o obj/release/regexp-macro-assembler-irregexp.o obj/release/regexp-macro-assembler.o obj/release/regexp-stack.o obj/release/rewriter.o obj/release/runtime-profiler.o obj/release/runtime.o obj/release/safepoint-table.o obj/release/scanner-character-streams.o obj/release/scanner.o obj/release/scopeinfo.o obj/release/scopes.o obj/release/serialize.o obj/release/snapshot-common.o obj/release/spaces.o obj/release/string-search.o obj/release/string-stream.o obj/release/strtod.o obj/release/stub-cache.o obj/release/token.o obj/release/type-info.o obj/release/unicode.o obj/release/utils.o obj/release/v8-counters.o obj/release/v8.o obj/release/v8conversions.o obj/release/v8threads.o obj/release/v8utils.o obj/release/variables.o obj/release/version.o obj/release/x64/assembler-x64.o obj/release/x64/builtins-x64.o obj/release/x64/code-stubs-x64.o obj/release/x64/codegen-x64.o obj/release/x64/cpu-x64.o obj/release/x64/debug-x64.o obj/release/x64/deoptimizer-x64.o obj/release/x64/disasm-x64.o obj/release/x64/frames-x64.o obj/release/x64/full-codegen-x64.o obj/release/x64/ic-x64.o obj/release/x64/lithium-codegen-x64.o obj/release/x64/lithium-gap-resolver-x64.o obj/release/x64/lithium-x64.o obj/release/x64/macro-assembler-x64.o obj/release/x64/regexp-macro-assembler-x64.o obj/release/x64/stub-cache-x64.o obj/release/zone.o obj/release/snapshot-empty.o -L/usr/local/lib -lexecinfo -lexecinfo -lpthread
obj/release/mksnapshot obj/release/snapshot.cc --logfile "/node-master/out/Release/obj/release/snapshot.log" --log-snapshot-positions
scons: *** [obj/release/snapshot.cc] Error -11
scons: building terminated because of errors.
Waf: Leaving directory `/node-master/out'
Build failed:  -> task failed (err #2):
        {task: libv8.a SConstruct -> libv8.a}
gmake: *** [program] Error 1

@bnoordhuis
Copy link
Member

I can't really help you but I can give you some tips.

obj/release/mksnapshot obj/release/snapshot.cc --logfile "/node-master/out/Release/obj/release/snapshot.log" --log-snapshot-positions
scons: *** [obj/release/snapshot.cc] Error -11

Snapshotting fails with a SIGSEGV for one reason or another. Not insurmountable, ./configure --without-snapshot will skip it (the downside is that node will take slightly longer to start up).

Alternatively, downgrade libv8. We ran into stability issues with 3.7.1 so we downgraded to 3.6.6.7 (it may or may not be caused by #2061 but the issue described in edea412 only manifested itself with 3.7.1).

@oparoz
Copy link
Author

oparoz commented Nov 14, 2011

Thanks for your help :). I've managed to compile it with the bundled v8.

The problem came from the gold linker (ld gold) which is severely broken on FreeBSD.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants