-
Notifications
You must be signed in to change notification settings - Fork 29.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crash in mksnapshot while building 4.5.0 on debian wheezy #8451
Comments
@SoCalBeachrunner Are you sure you have the correct source tarball? The source in v4.5.0 doesn't match the ICE backtrace you posted.
It does match the source code for v6.5.0 however, which is expected to hit this ICE with clang-3.4-1. |
Agreed. #8323 didn't turn up in my search. Have read both items and code changes now. Thanks for fast reply. I"ve updated code and restarted my build. It takes a while... |
You know your code best and must be correct. I made a couple download attempts plus re-started all this 3x in the middle of night, first with the tar file then curl piped into the directory, just trying to get node building on the box. I thought this time it was back to the 4.5.0 tar but apparently it's the 6.5.0 from using curl of "latest" at about 2 AM PST. The builds run for hours before failing, long night. |
Perhaps admin wants to correct this post title & version. I appreciate your great work maintaining this project & will confirm build outcome when available. BTW this began because the version 4 binary download wouldn't run on this box. node returned "Illegal instruction" hence decided to see if building locally might work. Really aiming just for v4 node to match the AWS environment, may update the OS over the weekend. |
Just confirming details and that the outcome after a clean start concluded with "Illegal instruction" late in the build after applying "deps: workaround clang-3.4 ICE". If this is as expected I'll close this issue. Source obtained (2016-09-07-19:33 PDT): Edited per: Configured as: Local env: tail of output: |
@SoCalBeachrunner what is the exact CPU you are trying to build this on? e.g. can you provide the output of Do you still see the crash when you configure with |
I just noticed this higher up:
Based on that, I don't think |
model name : Pentium II (Klamath), an old CPU, probably the root cause. |
The machine code that V8 emits has a hard dependency on SSE so that rules out the Pentium II. There is a x87 backend but node.js doesn't support it and it's untested. You could hack configure and see if it works for you, grep for |
Hacked to support: ./configure --without-intl --dest-cpu=x87 --prefix=~/local |
node 4.5.0 source fails to complete compilation because clang++ has a Segmentation Fault during the build on Wheezy (building for this same architecture to use on the local machine) while processing the node source file "mark-compact.cc"
Note that the build was configured with the option " --without-intl"
Compiler output and stack trace are attached.
clang had a Segmentation Fault and prompted to send this bug report. During the build of node 4.5.0 on Wheezy (building for this same architecture to use on the local machine) clang++ crashed while processing the node source file "mark-compact.cc"
Package: clang-3.4
Version: 1:3.4-1
root@schnauzerpin:/tmp# uname -a
Linux schnauzerpin 3.2.0-4-686-pae #1 SMP Debian 3.2.81-2 i686 GNU/Linux
Tried again after rebooting the system, no change. Confirming that the system is completely up to date, ran "apt-get update" and "upgrade" prior to starting the build.
Issue is 100% reproducible, build fails with same messages each time it's attempted.
The trace at failure point:
obj.target/v8_base/deps/v8/src/heap/incremental-marking-job.o.d.raw -c -o /home/john/node-latest-install/out/Release/obj.target/v8_base/deps/v8/src/heap/incremental-marking-job.o ../deps/v8/src/heap/incremental-marking-job.cc
/usr/bin/clang++ '-DV8_TARGET_ARCH_IA32' '-DENABLE_DISASSEMBLER' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC' -I../deps/v8 -I../deps -pthread -Wall -Wextra -Wno-unused-parameter -m32 -msse2 -mfpmath=sse -mmmx -fno-strict-aliasing -m32 -fdata-sections -ffunction-sections -O3 -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++0x -MMD -MF /home/john/node-latest-install/out/Release/.deps//home/john/node-latest-install/out/Release/obj.target/v8_base/deps/v8/src/heap/incremental-marking.o.d.raw -c -o /home/john/node-latest-install/out/Release/obj.target/v8_base/deps/v8/src/heap/incremental-marking.o ../deps/v8/src/heap/incremental-marking.cc
/usr/bin/clang++ '-DV8_TARGET_ARCH_IA32' '-DENABLE_DISASSEMBLER' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC' -I../deps/v8 -I../deps -pthread -Wall -Wextra -Wno-unused-parameter -m32 -msse2 -mfpmath=sse -mmmx -fno-strict-aliasing -m32 -fdata-sections -ffunction-sections -O3 -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++0x -MMD -MF /home/john/node-latest-install/out/Release/.deps//home/john/node-latest-install/out/Release/obj.target/v8_base/deps/v8/src/heap/mark-compact.o.d.raw -c -o /home/john/node-latest-install/out/Release/obj.target/v8_base/deps/v8/src/heap/mark-compact.o ../deps/v8/src/heap/mark-compact.cc
clang_segfault_files.zip
0 libLLVM-3.4.so.1 0x4110f67f llvm::sys::PrintStackTrace(IO_FILE) + 47
1 libLLVM-3.4.so.1 0x4110f8df
2 libLLVM-3.4.so.1 0x4110f43c
3 0x40000404 kernel_sigreturn + 0
4 clang 0x08dca05f clang::Expr::EvaluateAsInitializer(clang::APValue&, clang::ASTContext const&, clang::VarDecl const, llvm::SmallVectorImpl<std::pair<clang::SourceLocation, clang::PartialDiagnostic> >&) const + 47
5 clang 0x08d4ad68 clang::VarDecl::evaluateValue(llvm::SmallVectorImpl<std::pair<clang::SourceLocation, clang::PartialDiagnostic> >&) const + 168
6 clang 0x08d517eb clang::VarDecl::checkInitIsICE() const + 251
7 clang 0x087cc5dd clang::Sema::ActOnFinishFullExpr(clang::Expr, clang::SourceLocation, bool, bool, bool) + 1837
8 clang 0x08866ce0 clang::Sema::ActOnExprStmt(clang::ActionResult<clang::Expr_, true>) + 144
9 clang 0x08611561 clang::Parser::ParseExprStatement() + 145
10 clang 0x0860ad6f clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, bool, clang::SourceLocation_, clang::Parser::ParsedAttributesWithRange&) + 3167
11 clang 0x0860af7d clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt_, 32u>&, bool, clang::SourceLocation_) + 173
12 clang 0x0860b86c clang::Parser::ParseCompoundStatementBody(bool) + 892
13 clang 0x085eb593 clang::Parser::ParseLambdaExpressionAfterIntroducer(clang::LambdaIntroducer&) + 2627
14 clang 0x085ec99f clang::Parser::ParseLambdaExpression() + 431
15 clang 0x085db3c0 clang::Parser::ParseCastExpression(bool, bool, bool&, clang::Parser::TypeCastState) + 7888
16 clang 0x085dc670 clang::Parser::ParseCastExpression(bool, bool, clang::Parser::TypeCastState) + 80
17 clang 0x085dd7fa clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) + 90
18 clang 0x085dda8c clang::Parser::ParseExpressionList(llvm::SmallVectorImplclang::Expr_&, llvm::SmallVectorImplclang::SourceLocation&, void (clang::Sema::)(clang::Scope, clang::Expr_, llvm::ArrayRefclang::Expr_), clang::Expr_) + 220
19 clang 0x085e0ddf clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr_, true>) + 3279
20 clang 0x085d95d8 clang::Parser::ParseCastExpression(bool, bool, bool&, clang::Parser::TypeCastState) + 232
21 clang 0x085dc670 clang::Parser::ParseCastExpression(bool, bool, clang::Parser::TypeCastState) + 80
22 clang 0x085dd7fa clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) + 90
23 clang 0x085de5ca clang::Parser::ParseExpression(clang::Parser::TypeCastState) + 58
24 clang 0x08611524 clang::Parser::ParseExprStatement() + 84
25 clang 0x0860ad6f clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, bool, clang::SourceLocation_, clang::Parser::ParsedAttributesWithRange&) + 3167
26 clang 0x0860af7d clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt_, 32u>&, bool, clang::SourceLocation_) + 173
27 clang 0x0860b86c clang::Parser::ParseCompoundStatementBody(bool) + 892
28 clang 0x0860dd4a clang::Parser::ParseFunctionStatementBody(clang::Decl_, clang::Parser::ParseScope&) + 234
29 clang 0x085aa35d clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList_) + 1229
30 clang 0x08616da8 clang::Parser::ParseSingleDeclarationAfterTemplate(unsigned int, clang::Parser::ParsedTemplateInfo const&, clang::ParsingDeclRAIIObject&, clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList_) + 3928
31 clang 0x08617833 clang::Parser::ParseTemplateDeclarationOrSpecialization(unsigned int, clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList_) + 627
32 clang 0x08617ab7 clang::Parser::ParseDeclarationStartingWithTemplate(unsigned int, clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList_) + 151
33 clang 0x085c122e clang::Parser::ParseDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, unsigned int, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&) + 638
34 clang 0x085acb84 clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec_) + 2916
35 clang 0x085cd35a clang::Parser::ParseInnerNamespace(std::vector<clang::SourceLocation, std::allocatorclang::SourceLocation >&, std::vector<clang::IdentifierInfo_, std::allocatorclang::IdentifierInfo* >&, std::vector<clang::SourceLocation, std::allocatorclang::SourceLocation >&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) + 474
36 clang 0x085ce02a clang::Parser::ParseNamespace(unsigned int, clang::SourceLocation&, clang::SourceLocation) + 2986
37 clang 0x085c126e clang::Parser::ParseDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, unsigned int, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&) + 702
38 clang 0x085acb84 clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec_) + 2916
39 clang 0x085cd35a clang::Parser::ParseInnerNamespace(std::vector<clang::SourceLocation, std::allocatorclang::SourceLocation >&, std::vector<clang::IdentifierInfo_, std::allocatorclang::IdentifierInfo* >&, std::vector<clang::SourceLocation, std::allocatorclang::SourceLocation >&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) + 474
40 clang 0x085ce02a clang::Parser::ParseNamespace(unsigned int, clang::SourceLocation&, clang::SourceLocation) + 2986
41 clang 0x085c126e clang::Parser::ParseDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, unsigned int, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&) + 702
42 clang 0x085acb84 clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec_) + 2916
43 clang 0x085acee4 clang::Parser::ParseTopLevelDecl(clang::OpaquePtrclang::DeclGroupRef&) + 196
44 clang 0x085a462f clang::ParseAST(clang::Sema&, bool, bool) + 319
45 clang 0x0829d597 clang::ASTFrontendAction::ExecuteAction() + 135
46 clang 0x08413e11 clang::CodeGenAction::ExecuteAction() + 33
47 clang 0x0829dad8 clang::FrontendAction::Execute() + 168
48 clang 0x0827c485 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 261
49 clang 0x082657da clang::ExecuteCompilerInvocation(clang::CompilerInstance_) + 1498
50 clang 0x08260850 cc1_main(char const**, char const**, char const_, void_) + 1120
51 clang 0x0825f7c3 main + 7571
52 libc.so.6 0x41c7be46 __libc_start_main + 230
53 clang 0x08260231
Stack dump:
0. Program arguments: /usr/bin/clang -cc1 -triple i386-pc-linux-gnu -emit-obj -disable-free -disable-llvm-verifier -main-file-name mark-compact.cc -mrelocation-model static -mdisable-fp-elim -relaxed-aliasing -fmath-errno -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu pentium4 -mfpmath sse -target-feature +sse2 -target-feature +mmx -target-linker-version 2.22 -momit-leaf-frame-pointer -ffunction-sections -fdata-sections -coverage-file /home/john/node-latest-install/out/Release/obj.target/v8_base/deps/v8/src/heap/mark-compact.o -resource-dir /usr/bin/../lib/clang/3.4 -dependency-file /home/john/node-latest-install/out/Release/.deps//home/john/node-latest-install/out/Release/obj.target/v8_base/deps/v8/src/heap/mark-compact.o.d.raw -MT /home/john/node-latest-install/out/Release/obj.target/v8_base/deps/v8/src/heap/mark-compact.o -D V8_TARGET_ARCH_IA32 -D ENABLE_DISASSEMBLER -D V8_IMMINENT_DEPRECATION_WARNINGS -D ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC -I ../deps/v8 -I ../deps -internal-isystem /usr/include//c++/4.7 -internal-isystem /usr/include//c++/4.7/i386-linux-gnu -internal-isystem /usr/include//c++/4.7/backward -internal-isystem /usr/include//i386-linux-gnu/c++/4.7 -internal-isystem /usr/bin/../lib/gcc/i486-linux-gnu/4.7/../../../../include/c++/4.7 -internal-isystem /usr/bin/../lib/gcc/i486-linux-gnu/4.7/../../../../include/c++/4.7/i486-linux-gnu -internal-isystem /usr/bin/../lib/gcc/i486-linux-gnu/4.7/../../../../include/c++/4.7/backward -internal-isystem /usr/bin/../lib/gcc/i486-linux-gnu/4.7/../../../../include/i486-linux-gnu/c++/4.7 -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/clang/3.4/include -internal-externc-isystem /usr/bin/../lib/gcc/i486-linux-gnu/4.7/include -internal-externc-isystem /usr/include/i386-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O3 -Wall -Wextra -Wno-unused-parameter -std=gnu++0x -fdeprecated-macro -fdebug-compilation-dir /home/john/node-latest-install/out -ferror-limit 19 -fmessage-length 241 -pthread -mstackrealign -fno-rtti -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -o /home/john/node-latest-install/out/Release/obj.target/v8_base/deps/v8/src/heap/mark-compact.o -x c++ ../deps/v8/src/heap/mark-compact.cc
clang: error: unable to execute command: Segmentation fault
clang: error: clang frontend command failed due to signal (use -v to see invocation)
Debian clang version 3.4-1 (tags/RELEASE_34/final) (based on LLVM 3.4)
Target: i386-pc-linux-gnu
Thread model: posix
clang: note: diagnostic msg: PLEASE submit a bug report to http://bugs.debian.org/ and include the crash backtrace, preprocessed source, and associated run script.
clang: note: diagnostic msg:
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/mark-compact-56b74e.cpp
clang: note: diagnostic msg: /tmp/mark-compact-56b74e.sh
clang: note: diagnostic msg:
make[1]: *** [/home/john/node-latest-install/out/Release/obj.target/v8_base/deps/v8/src/heap/mark-compact.o] Error 254
make[1]: Leaving directory `/home/john/node-latest-install/out'
make: *** [node] Error 2
-- System Information:
Debian Release: 7.11
APT prefers oldstable-updates
APT policy: (500, 'oldstable-updates'), (500, 'oldstable')
Architecture: i386 (i686)
Kernel: Linux 3.2.0-4-686-pae (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages clang-3.4 depends on:
ii libc6 2.13-38+deb7u11
ii libclang-common-3.4-dev 1:3.4-1
ii libclang1-3.4 1:3.4-1
ii libffi5 3.0.10-3
ii libgcc1 1:4.7.2-5
ii libllvm3.4 1:3.4-1
ii libstdc++6 4.7.2-5
ii libstdc++6-4.7-dev 4.7.2-5
ii libtinfo5 5.9-10
ii zlib1g 1:1.2.7.dfsg-13
Versions of packages clang-3.4 recommends:
ii llvm-3.4-dev 1:3.4-1
ii python 2.7.3-4+deb7u1
clang-3.4 suggests no packages.
-- no debconf information
The text was updated successfully, but these errors were encountered: