-
Notifications
You must be signed in to change notification settings - Fork 7.3k
Node.js compile fails in Amazon AMI x64 - snapshot.cc - pure functional method call #2912
Comments
Contents of log file: code-creation,Stub,0x270d63206000,351,"JSEntryStub" |
Looks like a V8 issue. You can disable snapshots with |
Attaching gdb now. I can get a clean compile in v8 standalone so it'll be interesting to see what's happening in snapshot in v8. |
After
Below is the output of
|
I'm seeing the same results as ptejada - any thoughts here? |
@spack8rivers: Try hooking up the faulting process (mksnapshot, node) to gdb and check where the method call comes from. Please post the backtrace here. |
same issue on my box. #uname -a Linux foo 2.6.32-71.el6.x86_64 #1 SMP Wed Sep 1 01:33:01 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux |
People, I need a little more to go on. Can you try this?
Please post the backtrace here. |
Here is my output, do note i ran it in CentOS 6 x64
|
@ptejada: Thanks. This looks like it could be a number of things but it's probably a V8 issue. Can you check if it happens with debug builds too? You can build one with |
There was no stack for the backtrace, here is the console output:
|
Interesting. So debug builds work but release builds don't. That suggests we're looking at either a compiler bug or a build type-dependent code path in V8. Can I persuade you to try it with the V8 shell? Here is how you build it:
Testing the 32 bits build might be worthwhile too, just replace |
Linux hail.liaoningbeauties.com 2.6.32-131.0.15.el6.x86_64 #1 SMP Tue May 10 15:42:40 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux -bash-4.1$ gdb --args node t.js Program received signal SIGABRT, Aborted. |
Right, the debug compile doesn't crash on my hello world script. out/Debug/node t.js |
I ran the steps provided in comment 5139451 by Ben Noordhuis, and there were no errors no backtrace. |
@hammer2j2: Does a release build work if you disable snapshots (--without-snapshot)? Does the V8 shell work? |
I did, disable snapshot. It's the only way the release build will succeed. There's I think several ppl reporting similar issue there. thanks. |
Can someone test the V8 shell? I need to narrow down the problem and I cannot reproduce it. You can try the bundled V8:
If either shell or shell_g crashes, please post the backtrace. |
Regarding v8 shell: I ran the steps provided in comment 5139451. There were no errors no backtrace. |
Thanks, that's useful info. Can you try it with the bundled V8? If that one does crash, it's been fixed upstream. |
$ cd deps/v8 Runs w/o error. |
Okay, that's kind of unfortunate: it means it's not a straightforward V8 bug and I'll have to do some digging. Can I get shell access on a machine that exhibits the behavior? |
bnoordhuis - I will work on getting a hosted environment setup for this by Monday. Thanks. |
I have a clean test account with access to bash on a centOS 6 x64 How can i get the accout info to you? |
@ptejada: Email me the account and machine details (address is in my profile) and I'll email back my public key. vim, git and gdb is all I need. No rush, I can't look at it until later tonight anyway. :-) EDIT: I forgot, GNU screen would be nice too. |
@bnoordhuis There was actually no public email in your profile, so i sent it to the email on your site. Info@yoursite |
Upstream issue: http://code.google.com/p/v8/issues/detail?id=2093 |
@bnoordhuis sure no problem |
Reopening. I've reverted the commit in 6b426a2, it was making mksnapshot segfault on sunos. Compiler bugs, you just can't win... |
What is the impact of compiling with --standalone? We are seeing the same thing across a range of 0.7 versions on 64 bit EC2 hardware (m1.large) running Fedora core:
Our builds can be seen here: |
Standalone as in linking to an external libv8? It usually works but there are no guarantees - V8's API and ABI aren't stable. If you mean |
@bnoordhuis - Thanks for the info - unfortunately compiling using "--without-snapshot" did not improve the situation. Still getting errors building >= 0.7.6 on x86_64
|
@bwalding You can apply the patch manually but I recommend you upgrade gcc. |
I am receiving this error now with 0.8.2. I wasn't previously with 0.8.0 or 0.8.1 which is odd pure virtual method called |
Have the same with 0.8.2 |
Should I open a new ticket for this? |
@sjonnet19 No need. Compile with -O2 for now (i.e. If you have some time to kill, I'd be curious to know if compiling with either -fno-inline-functions or -fno-function-sections solves the issue for you. |
Thanks! Advice from #3675 works fine. |
Thanks that works I am now dynamically patching n |
Guys, can one of you test commit b40f813? -O3 but no -ffunction-sections. |
No luck failed |
@sjonnet19 What if you apply the patch and compile with |
No luck either |
This should be resolved now (where now = 0.8.4). I haven't had bug reports in a while so I'm going to assume that it is. |
Version 0.7.5
LINK(target) /usr/local/src/node/out/Release/mksnapshot
LINK(target) /usr/local/src/node/out/Release/mksnapshot: Finished
ACTION v8_snapshot_run_mksnapshot /usr/local/src/node/out/Release/obj.target/v8_snapshot/geni/snapshot.cc
pure virtual method called
terminate called without an active exception
/bin/sh: line 1: 23819 Aborted "/usr/local/src/node/out/Release/mksnapshot" --log-snapshot-positions --logfile "/usr/local/src/node/out/Release/obj.target/v8_snapshot/geni/snapshot.log" "/usr/local/src/node/out/Release/obj.target/v8_snapshot/geni/snapshot.cc"
make[1]: *** [/usr/local/src/node/out/Release/obj.target/v8_snapshot/geni/snapshot.cc] Error 134
make[1]: Leaving directory `/usr/local/src/node/out'
The text was updated successfully, but these errors were encountered: