Skip to content

Instantly share code, notes, and snippets.

@adammw
Created August 3, 2012 04:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adammw/3244239 to your computer and use it in GitHub Desktop.
Save adammw/3244239 to your computer and use it in GitHub Desktop.
GDB of Node.js 0.8.5 with modified v8 common.gypi to remove CAN_USE_VFP_INSTRUCTIONS define for hard float. Fatal Error source: https://github.com/joyent/node/blob/v0.8.5-release/deps/v8/src/arm/assembler-arm.h#L538
Linux raspbian 3.1.9+ #202 PREEMPT Wed Jul 25 22:11:06 BST 2012 armv6l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Aug 3 12:56:19 2012 from adamsmacbookair.lan
adam@raspbian:~$ gdb ./node_g
GNU gdb (GDB) 7.4.1-debian
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/adam/node-test-3...done.
(gdb) run
Starting program: /home/adam/node-test-3
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
#
# Fatal error in ../deps/v8/src/arm/assembler-arm.h, line 538
# CHECK(CpuFeatures::IsSupported(f)) failed
#
==== Stack trace ============================================
Security context: 0x3d609201 <JS Object>#0#
2: /* anonymous */ [module.js:53] (this=0x3d6092a1 <JS Global Object>#1#,exports=0x2d752ff1 <an Object>#2#,require=0x3d6242b9 <JS Function>#3#,module=0x2d752f9d <a NativeModule>#4#,__filename=0x2d752fd9 <String[9]: module.js>,__dirname=0x3d608091 <undefined>)
3: arguments adaptor frame: 4->5
4: compile [node.js:614] (this=0x2d752f9d <a NativeModule>#4#)
5: require [node.js:582] (this=0x2d728099 <JS Function NativeModule>#5#,id=0x49008329 <String[6]: module>)
6: startup [node.js:120] (this=0x3d6092a1 <JS Global Object>#1#)
7: /* anonymous */ [node.js:623] (this=0x3d6092a1 <JS Global Object>#1#,process=0x2d71ea39 <a process>#6#)
==== Details ================================================
[2]: /* anonymous */ [module.js:53] (this=0x3d6092a1 <JS Global Object>#1#,exports=0x2d752ff1 <an Object>#2#,require=0x3d6242b9 <JS Function>#3#,module=0x2d752f9d <a NativeModule>#4#,__filename=0x2d752fd9 <String[9]: module.js>,__dirname=0x3d608091 <undefined>) {
// stack-allocated locals
var Script = 0x3d624075 <JS Function NodeScript>#7#
// heap-allocated locals
var statPath = 0x2d757355 <JS Function statPath>#8#
var readPackage = 0x2d757379 <JS Function readPackage>#9#
var tryPackage = 0x2d75739d <JS Function tryPackage>#10#
var packageCache = 0x3d608091 <undefined>
var NativeModule = 0x2d728099 <JS Function NativeModule>#5#
var runInThisContext = 0x3d623f19 <JS Function>#11#
var resolvedArgv = 0x3d608091 <undefined>
var runInNewContext = 0x3d623fed <JS Function>#12#
var assert = 0x2d73d479 <JS Function ok>#13#
var Module = 0x2d75731d <JS Function Module>#14#
var modulePaths = 0x3d608091 <undefined>
var debug = 0x3d608091 <undefined>
var tryFile = 0x2d7573c1 <JS Function tryFile>#15#
var tryExtensions = 0x2d7573e5 <JS Function tryExtensions>#16#
var stripBOM = 0x2d757409 <JS Function stripBOM>#17#
var path = 0x3d608091 <undefined>
var hasOwnProperty = 0x2d7572f9 <JS Function hasOwnProperty>#18#
// expression stack (top to bottom)
[01] : 0x2d75731d <JS Function Module>#14#
--------- s o u r c e c o d e ---------
function (exports, require, module, __filename, __dirname) { // Copyright Joyent, Inc. and other Node contributors.?//?// Permission is hereby granted, free of charge, to any person obtaining a?// copy of this software and associated documentation files (the?// "Software"), to deal in the Software without re...
-----------------------------------------
}
[3]: arguments adaptor frame: 4->5 {
// actual arguments
[00] : 0x2d752ff1 <an Object>#2#
[01] : 0x3d6242b9 <JS Function>#3#
[02] : 0x2d752f9d <a NativeModule>#4#
[03] : 0x2d752fd9 <String[9]: module.js>
}
[4]: compile [node.js:614] (this=0x2d752f9d <a NativeModule>#4#) {
// stack-allocated locals
var source = 0x2d753011 <Very long string[14523]>#19#
var fn = 0x2d756d9d <JS Function>#20#
// expression stack (top to bottom)
[07] : 0x2d752fd9 <String[9]: module.js>
[06] : 0x2d752f9d <a NativeModule>#4#
[05] : 0x3d6242b9 <JS Function>#3#
[04] : 0x2d752ff1 <an Object>#2#
[03] : 0x3d6092a1 <JS Global Object>#1#
[02] : 0x2d756d9d <JS Function>#20#
--------- s o u r c e c o d e ---------
function () {? var source = NativeModule.getSource(this.id);? source = NativeModule.wrap(source);?? var fn = runInThisContext(source, this.filename, true);? fn(this.exports, NativeModule.require, this, this.filename);?? this.loaded = true;? }
-----------------------------------------
}
[5]: require [node.js:582] (this=0x2d728099 <JS Function NativeModule>#5#,id=0x49008329 <String[6]: module>) {
// stack-allocated locals
var cached = 0x3d608091 <undefined>
var nativeModule = 0x2d752f9d <a NativeModule>#4#
// expression stack (top to bottom)
[02] : 0x2d752f9d <a NativeModule>#4#
--------- s o u r c e c o d e ---------
function (id) {? if (id == 'native_module') {? return NativeModule;? }?? var cached = NativeModule.getCached(id);? if (cached) {? return cached.exports;? }?? if (!NativeModule.exists(id)) {? throw new Error('No such native module ' + id);? }?? process.moduleLoadList.pus...
-----------------------------------------
}
[6]: startup [node.js:120] (this=0x3d6092a1 <JS Global Object>#1#) {
// stack-allocated locals
var repl = 0x3d608091 <undefined>
var cluster = 0x3d608091 <undefined>
var d = 0x3d608091 <undefined>
var Module = 0x3d608091 <undefined>
var path = 0x3d608091 <undefined>
var opts = 0x3d608091 <undefined>
var EventEmitter = 0x2d72e721 <JS Function EventEmitter>#21#
// heap-allocated locals
var code = 0x3d608091 <undefined>
// expression stack (top to bottom)
[08] : 0x49008329 <String[6]: module>
[07] : 0x2d728099 <JS Function NativeModule>#5#
--------- s o u r c e c o d e ---------
function startup() {? var EventEmitter = NativeModule.require('events').EventEmitter;?? process.__proto__ = Object.create(EventEmitter.prototype, {? constructor: {? value: process.constructor? }? });?? process.EventEmitter = EventEmitter; // process.EventEmitter is deprecated?? start...
-----------------------------------------
}
[7]: /* anonymous */ [node.js:623] (this=0x3d6092a1 <JS Global Object>#1#,process=0x2d71ea39 <a process>#6#) {
// stack-allocated locals
var Script = 0x3d624075 <JS Function NodeScript>#7#
// heap-allocated locals
var process = 0x2d71ea39 <a process>#6#
var assert = 0x3d62d7ad <JS Function>#22#
var evalScript = 0x2d72802d <JS Function evalScript>#23#
var createWritableStdioStream = 0x2d728075 <JS Function createWritableStdioStream>#24#
var runInThisContext = 0x3d623f19 <JS Function>#11#
var NativeModule = 0x2d728099 <JS Function NativeModule>#5#
var startup = 0x2d727ff1 <JS Function startup>#25#
var errnoException = 0x2d728051 <JS Function errnoException>#26#
// expression stack (top to bottom)
[02] : 0x3d6092a1 <JS Global Object>#1#
[01] : 0x2d727ff1 <JS Function startup>#25#
--------- s o u r c e c o d e ---------
function (process) {? this.global = this;?? function startup() {? var EventEmitter = NativeModule.require('events').EventEmitter;?? process.__proto__ = Object.create(EventEmitter.prototype, {? constructor: {? value: process.constructor? }? });?? process.EventEmitter = EventEmit...
-----------------------------------------
}
==== Key ============================================
#0# 0x3d609201: 0x3d609201 <JS Object>
#1# 0x3d6092a1: 0x3d6092a1 <JS Global Object>
#2# 0x2d752ff1: 0x2d752ff1 <an Object>
#3# 0x3d6242b9: 0x3d6242b9 <JS Function>
#4# 0x2d752f9d: 0x2d752f9d <a NativeModule>
id: 0x49008329 <String[6]: module>
loaded: 0x3d6080b1 <false>
filename: 0x2d752fd9 <String[9]: module.js>
exports: 0x2d75731d <JS Function Module>#14#
#5# 0x2d728099: 0x2d728099 <JS Function NativeModule>
wrapper: 0x2d72c339 <JS Array[2]>#27#
_cache: 0x2d72bcd5 <an Object>#28#
_source: 0x2d72a13d <an Object>#29#
#6# 0x2d71ea39: 0x2d71ea39 <a process>
moduleLoadList: 0x2d71eca5 <JS Array[8]>#30#
arch: 0x2d71f155 <String[3]: arm>
execPath: 0x2d71fcb5 <String[22]: /home/adam/node-test-3>
argv: 0x2d71f2f1 <JS Array[1]>#31#
features: 0x2d71f829 <an Object>#32#
versions: 0x2d71ed3d <an Object>#33#
version: 0x2d71ec25 <String[6]: v0.8.5>
execArgv: 0x2d71f401 <JS Array[0]>#34#
env: 0x2d71f5ed <JS Object>#35#
pid: 4874
platform: 0x2d71f225 <String[5]: linux>
config: 0x2d74dda9 <an Object>#36#
#7# 0x3d624075: 0x3d624075 <JS Function NodeScript>
#8# 0x2d757355: 0x2d757355 <JS Function statPath>
#9# 0x2d757379: 0x2d757379 <JS Function readPackage>
#10# 0x2d75739d: 0x2d75739d <JS Function tryPackage>
#11# 0x3d623f19: 0x3d623f19 <JS Function>
#12# 0x3d623fed: 0x3d623fed <JS Function>
#13# 0x2d73d479: 0x2d73d479 <JS Function ok>
#14# 0x2d75731d: 0x2d75731d <JS Function Module>
#15# 0x2d7573c1: 0x2d7573c1 <JS Function tryFile>
#16# 0x2d7573e5: 0x2d7573e5 <JS Function tryExtensions>
#17# 0x2d757409: 0x2d757409 <JS Function stripBOM>
#18# 0x2d7572f9: 0x2d7572f9 <JS Function hasOwnProperty>
#19# 0x2d753011: 0x2d753011 <Very long string[14523]>
#20# 0x2d756d9d: 0x2d756d9d <JS Function>
#21# 0x2d72e721: 0x2d72e721 <JS Function EventEmitter>
#22# 0x3d62d7ad: 0x3d62d7ad <JS Function>
#23# 0x2d72802d: 0x2d72802d <JS Function evalScript>
#24# 0x2d728075: 0x2d728075 <JS Function createWritableStdioStream>
#25# 0x2d727ff1: 0x2d727ff1 <JS Function startup>
_lazyConstants: 0x3d608081 <null>
#26# 0x2d728051: 0x2d728051 <JS Function errnoException>
#27# 0x2d72c339: 0x2d72c339 <JS Array[2]>
0: 0x49018fed <String[62]: (function (exports, require, module, __filename, __dirname) { >
1: 0x49019039 <String[4]\: \n});>
#28# 0x2d72bcd5: 0x2d72bcd5 <an Object>
events: 0x2d72c5e5 <a NativeModule>#37#
assert: 0x2d73a681 <a NativeModule>#38#
util: 0x2d73d599 <a NativeModule>#39#
buffer: 0x2d730431 <a NativeModule>#40#
#29# 0x2d72a13d: 0x2d72a13d <an Object>
#30# 0x2d71eca5: 0x2d71eca5 <JS Array[8]>
0: 0x2d7291b9 <String[13]: Binding evals>
1: 0x2d72a109 <String[15]: Binding natives>
2: 0x2d72c5d1 <String[19]: NativeModule events>
3: 0x2d73040d <String[19]: NativeModule buffer>
4: 0x2d73904d <String[14]: Binding buffer>
5: 0x2d73a66d <String[19]: NativeModule assert>
6: 0x2d73d585 <String[17]: NativeModule util>
7: 0x2d752f89 <String[19]: NativeModule module>
#31# 0x2d71f2f1: 0x2d71f2f1 <JS Array[1]>
0: 0x2d71f30d <String[22]: /home/adam/node-test-3>
#32# 0x2d71f829: 0x2d71f829 <an Object>
ipv6: 0x3d6080a1 <true>
tls_npn: 0x3d6080b1 <false>
debug: 0x3d6080a1 <true>
tls_sni: 0x3d6080b1 <false>
tls: 0x3d6080b1 <false>
uv: 0x3d6080a1 <true>
#33# 0x2d71ed3d: 0x2d71ed3d <an Object>
node: 0x2d71ee21 <String[5]: 0.8.5>
ares: 0x2d71ef15 <String[9]: 1.7.5-DEV>
http_parser: 0x2d71edd1 <String[3]: 1.0>
v8: 0x2d71ee8d <String[10]: 3.11.10.17>
uv: 0x2d71efb5 <String[3]: 0.8>
zlib: 0x2d71f089 <String[5]: 1.2.3>
#34# 0x2d71f401: 0x2d71f401 <JS Array[0]>
#35# 0x2d71f5ed: 0x2d71f5ed <JS Object>
#36# 0x2d74dda9: 0x2d74dda9 <an Object>
variables: 0x2d74e225 <an Object>#41#
target_defaults: 0x2d74dde9 <an Object>#42#
#37# 0x2d72c5e5: 0x2d72c5e5 <a NativeModule>
id: 0x49017fb5 <String[6]: events>
loaded: 0x3d6080a1 <true>
filename: 0x2d72c621 <String[9]: events.js>
exports: 0x2d72c6dd <an Object>#43#
#38# 0x2d73a681: 0x2d73a681 <a NativeModule>
id: 0x49018555 <String[6]: assert>
loaded: 0x3d6080a1 <true>
filename: 0x2d73a6bd <String[9]: assert.js>
exports: 0x2d73d479 <JS Function ok>#13#
#39# 0x2d73d599: 0x2d73d599 <a NativeModule>
id: 0x4901f34d <String[4]: util>
loaded: 0x3d6080a1 <true>
filename: 0x2d73d5d5 <String[7]: util.js>
exports: 0x2d73d5e9 <an Object>#44#
#40# 0x2d730431: 0x2d730431 <a NativeModule>
id: 0x4901847d <String[6]: buffer>
loaded: 0x3d6080a1 <true>
filename: 0x2d73046d <String[9]: buffer.js>
exports: 0x2d7304a5 <an Object>#45#
#41# 0x2d74e225: 0x2d74e225 <an Object>
#42# 0x2d74dde9: 0x2d74dde9 <an Object>
cflags: 0x2d74de09 <JS Array[0]>#46#
libraries: 0x2d74e08d <JS Array[0]>#47#
default_configuration: 0x2d74dec5 <String[5]: Debug>
defines: 0x2d74df45 <JS Array[0]>#48#
include_dirs: 0x2d74dfdd <JS Array[0]>#49#
#43# 0x2d72c6dd: 0x2d72c6dd <an Object>
#44# 0x2d73d5e9: 0x2d73d5e9 <an Object>
#45# 0x2d7304a5: 0x2d7304a5 <an Object>
INSPECT_MAX_BYTES: 50
#46# 0x2d74de09: 0x2d74de09 <JS Array[0]>
#47# 0x2d74e08d: 0x2d74e08d <JS Array[0]>
#48# 0x2d74df45: 0x2d74df45 <JS Array[0]>
#49# 0x2d74dfdd: 0x2d74dfdd <JS Array[0]>
=====================
Program received signal SIGTRAP, Trace/breakpoint trap.
v8::internal::OS::DebugBreak () at ../deps/v8/src/platform-linux.cc:382
382 ../deps/v8/src/platform-linux.cc: No such file or directory.
(gdb) bt
#0 v8::internal::OS::DebugBreak () at ../deps/v8/src/platform-linux.cc:382
#1 0x007181d8 in v8::internal::OS::Abort ()
at ../deps/v8/src/platform-linux.cc:371
#2 0x00346d04 in V8_Fatal (
file=0x869288 "../deps/v8/src/arm/assembler-arm.h", line=538,
format=0x868f64 "CHECK(%s) failed") at ../deps/v8/src/checks.cc:58
#3 0x00673798 in v8::internal::CpuFeatures::Scope::Scope (this=0xbeff6dc0,
f=v8::internal::VFP3) at ../deps/v8/src/arm/assembler-arm.h:538
#4 0x00658160 in v8::internal::EmitTwoNonNanDoubleComparison (
masm=0xbeff7038, cond=v8::internal::gt)
at ../deps/v8/src/arm/code-stubs-arm.cc:1365
#5 0x00659a5c in v8::internal::CompareStub::Generate (this=0xbeffb114,
masm=0xbeff7038) at ../deps/v8/src/arm/code-stubs-arm.cc:1691
#6 0x0072c3d0 in v8::internal::CodeStub::GenerateCode (this=0xbeffb114,
masm=0xbeff7038) at ../deps/v8/src/code-stubs.cc:61
#7 0x0072c744 in v8::internal::CodeStub::GetCode (this=0xbeffb114)
at ../deps/v8/src/code-stubs.cc:107
#8 0x0066f9c8 in v8::internal::ICCompareStub::GenerateHeapNumbers (
this=0xbefff30c, masm=0xbeffb230)
at ../deps/v8/src/arm/code-stubs-arm.cc:6611
#9 0x0072d19c in v8::internal::ICCompareStub::Generate (this=0xbefff30c,
masm=0xbeffb230) at ../deps/v8/src/code-stubs.cc:210
#10 0x0072c3d0 in v8::internal::CodeStub::GenerateCode (this=0xbefff30c,
---Type <return> to continue, or q <return> to quit---
masm=0xbeffb230) at ../deps/v8/src/code-stubs.cc:61
#11 0x0072c744 in v8::internal::CodeStub::GetCode (this=0xbefff30c)
at ../deps/v8/src/code-stubs.cc:107
#12 0x006a3770 in v8::internal::CompareIC::UpdateCaches (this=0xbefff370,
x=..., y=...) at ../deps/v8/src/arm/ic-arm.cc:1678
#13 0x00746a08 in v8::internal::CompareIC_Miss (args=..., isolate=0x8da038)
at ../deps/v8/src/ic.cc:2641
#14 0x23d0a09c in ?? ()
#15 0x23d0a09c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)
@adammw
Copy link
Author

adammw commented Aug 3, 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment