googleapis / google-cloud-node

Google Cloud Client Library for Node.js
https://cloud.google.com/nodejs
Apache License 2.0
2.87k stars 585 forks source link

require('gcloud') crashing on Mac #681

Closed javorosas closed 8 years ago

javorosas commented 9 years ago

My old computer and my server instance both run Ubuntu and I never had any problem at all. Recently I'm using a Mac to code and have not been able to make this module work.

How to reproduce

I started a new project to isolate the issue to a minimum. This is the content of my server.js:

var gcloud = require('gcloud');
console.log("I'm here!");

I'm using:

Reproducing:

  1. I run node server.js on the terminal
  2. App crashes with the following output:
[1]    3488 illegal hardware instruction  node server.js

What I suspect

When I'm installing the npm module:

npm install gcloud@0.15

I get the following output:

npm WARN package.json testgcloud@1.0.0 No description
npm WARN package.json testgcloud@1.0.0 No repository field.
npm WARN package.json testgcloud@1.0.0 No README data

> sse4_crc32@3.2.0 install /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/sse4_crc32
> node-gyp rebuild

2015-06-20 01:30:56.147 xcodebuild[4882:196113] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/VVDocumenter-Xcode.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-20 01:30:56.184 xcodebuild[4882:196113] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/KSImageNamed.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-20 01:30:56.206 xcodebuild[4882:196113] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/BBUDebuggerTuckAway.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-20 01:30:56.254 xcodebuild[4882:196113] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/AdjustFontSize.xcplugin' not present in DVTPlugInCompatibilityUUIDs
  CXX(target) Release/obj.target/sse4_crc32/src/sse4_crc32.o
  SOLINK_MODULE(target) Release/sse4_crc32.node
gcloud@0.15.0 node_modules/gcloud
├── buffer-equal@0.0.1
├── extend@2.0.1
├── node-uuid@1.4.3
├── async@0.9.2
├── once@1.3.2 (wrappy@1.0.1)
├── stream-events@1.0.1 (stubs@1.1.2)
├── mime-types@2.1.1 (mime-db@1.13.0)
├── through2@0.6.5 (xtend@4.0.0, readable-stream@1.0.33)
├── duplexify@3.4.2 (end-of-stream@1.0.0, readable-stream@2.0.0)
├── sse4_crc32@3.2.0 (bindings@1.2.1, nan@1.8.4)
├── request@2.58.0 (caseless@0.10.0, aws-sign2@0.5.0, forever-agent@0.6.1, stringstream@0.0.4, tunnel-agent@0.4.0, oauth-sign@0.8.0, isstream@0.1.2, json-stringify-safe@5.0.1, qs@3.1.0, combined-stream@1.0.5, mime-types@2.0.14, bl@0.9.4, http-signature@0.11.0, tough-cookie@2.0.0, form-data@1.0.0-rc1, hawk@2.3.1, har-validator@1.7.1)
├── google-auth-library@0.9.6 (lodash.noop@3.0.0, string-template@0.2.1, jws@3.0.0, request@2.51.0, gtoken@1.1.1)
├── configstore@0.3.2 (object-assign@2.1.1, xdg-basedir@1.0.1, user-home@1.1.1, graceful-fs@3.0.8, uuid@2.0.1, osenv@0.1.2, mkdirp@0.5.1, js-yaml@3.3.1)
└── protobufjs@3.8.2 (ascli@0.3.0, bytebuffer@3.5.4)

I've googled those xcode-related warnings but haven't found anything relevant. I don't know if it's related with the issue, though.

Any clues?

jgeewax commented 9 years ago

I think this might be related to #425. Can you take a look ?

ofrobots commented 9 years ago

@javorosas can you check if the following works:

$ npm install sse4_crc32
...
$ node -pe "require('sse4_crc32')"
{ isHardwareCrcSupported: [Function: isHardwareCrcSupported],
  calculateInSoftware: [Function: swCrc32c],
  calculateOnHardware: [Function: hwCrc32c],
  CRC32: [Function: Crc32C],
  calculate: [Function: hwCrc32c] }
javorosas commented 9 years ago

Running

$ node -pe "require('sse4_crc32')"

Output:

[1]    64755 illegal hardware instruction  node -pe "require('sse4_crc32')"

Sorry I don't really know what I'm supposed to do with

{ isHardwareCrcSupported: [Function: isHardwareCrcSupported],
  calculateInSoftware: [Function: swCrc32c],
  calculateOnHardware: [Function: hwCrc32c],
  CRC32: [Function: Crc32C],
  calculate: [Function: hwCrc32c] }
ofrobots commented 9 years ago

Thanks for verifying. The rest of text is the output I see on my Mac.

Your output confirms that the problem you're running into is indeed related to #425 and the sse4_crc32 module, but for some reason it happens on your machine, but not mine. Can you report back the exact CPU model in your mac using the following command:

$ sysctl -n machdep.cpu.brand_string

On my machine it outputs: 'Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz'.

@anandsuresh FYI.

javorosas commented 9 years ago

I'm running a pretty shitty hardware actually. Mid 2007.

Output: Intel(R) Core(TM)2 Duo CPU T7300 @ 2.00GHz

anandsuresh commented 9 years ago

Hey all. My first guess is that my CPU detection code might not be airtight on some platforms, esp. older ones. Can you all please run the following commands on your boxes and paste the output here. It would help debug this issue.

$ sysctl -n machdep.cpu.brand_string
Intel(R) Core(TM) i7-4650U CPU @ 1.70GHz
$ uname -a
Darwin AnandSuresh-23981.local 13.4.0 Darwin Kernel Version 13.4.0: Wed Mar 18 16:20:14 PDT 2015; root:xnu-2422.115.14~1/RELEASE_X86_64 x86_64
$ node -pe "require('sse4_crc32').isHardwareCrcSupported()"
true
$
javorosas commented 9 years ago
$ sysctl -n machdep.cpu.brand_string
Intel(R) Core(TM)2 Duo CPU     T7300  @ 2.00GHz

$ uname -a
Darwin jrosas.local 14.3.0 Darwin Kernel Version 14.3.0: Mon Mar 23 11:59:05 PDT 2015; root:xnu-2782.20.48~5/RELEASE_X86_64 x86_64

$ node -pe "require('sse4_crc32').isHardwareCrcSupported()"
/Users/jrosas/dev/testgcloud/node_modules/sse4_crc32/node_modules/bindings/bindings.js:83
        throw e
              ^
Error: Module did not self-register.
    at Error (native)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at bindings (/Users/jrosas/dev/testgcloud/node_modules/sse4_crc32/node_modules/bindings/bindings.js:76:44)
    at Object.<anonymous> (/Users/jrosas/dev/testgcloud/node_modules/sse4_crc32/sse4_crc32.js:8:36)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
ryanseys commented 9 years ago

Did you recently update node.js on your machine? If so try running npm rebuild and trying again.

javorosas commented 9 years ago

I installed node using nvm and changed the node version when it first crashed. I rebuilt the modules every time I changed the version, though.

This is my output for npm rebuild

> sse4_crc32@3.2.0 install /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/sse4_crc32
> node-gyp rebuild

2015-06-22 18:02:02.855 xcodebuild[4342:1353091] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/VVDocumenter-Xcode.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-22 18:02:02.892 xcodebuild[4342:1353091] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/KSImageNamed.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-22 18:02:02.947 xcodebuild[4342:1353091] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/BBUDebuggerTuckAway.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-22 18:02:03.008 xcodebuild[4342:1353091] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/AdjustFontSize.xcplugin' not present in DVTPlugInCompatibilityUUIDs
  CXX(target) Release/obj.target/sse4_crc32/src/sse4_crc32.o
  SOLINK_MODULE(target) Release/sse4_crc32.node

> sse4_crc32@3.2.0 install /Users/jrosas/dev/testgcloud/node_modules/sse4_crc32
> node-gyp rebuild

2015-06-22 18:02:22.155 xcodebuild[4416:1355234] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/VVDocumenter-Xcode.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-22 18:02:22.174 xcodebuild[4416:1355234] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/KSImageNamed.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-22 18:02:22.196 xcodebuild[4416:1355234] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/BBUDebuggerTuckAway.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-22 18:02:22.235 xcodebuild[4416:1355234] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/AdjustFontSize.xcplugin' not present in DVTPlugInCompatibilityUUIDs
  CXX(target) Release/obj.target/sse4_crc32/src/sse4_crc32.o
  SOLINK_MODULE(target) Release/sse4_crc32.node
gcloud@0.15.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud
async@0.9.2 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/async
buffer-equal@0.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/buffer-equal
configstore@0.3.2 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/configstore
graceful-fs@3.0.8 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/configstore/node_modules/graceful-fs
js-yaml@3.3.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/configstore/node_modules/js-yaml
argparse@1.0.2 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/configstore/node_modules/js-yaml/node_modules/argparse
lodash@3.9.3 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/configstore/node_modules/js-yaml/node_modules/argparse/node_modules/lodash
sprintf-js@1.0.2 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/configstore/node_modules/js-yaml/node_modules/argparse/node_modules/sprintf-js
esprima@2.2.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/configstore/node_modules/js-yaml/node_modules/esprima
mkdirp@0.5.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/configstore/node_modules/mkdirp
minimist@0.0.8 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/configstore/node_modules/mkdirp/node_modules/minimist
object-assign@2.1.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/configstore/node_modules/object-assign
osenv@0.1.2 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/configstore/node_modules/osenv
os-tmpdir@1.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/configstore/node_modules/osenv/node_modules/os-tmpdir
user-home@1.1.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/configstore/node_modules/user-home
uuid@2.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/configstore/node_modules/uuid
xdg-basedir@1.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/configstore/node_modules/xdg-basedir
duplexify@3.4.2 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/duplexify
end-of-stream@1.0.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/duplexify/node_modules/end-of-stream
once@1.3.2 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/once
wrappy@1.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/once/node_modules/wrappy
readable-stream@2.0.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/duplexify/node_modules/readable-stream
core-util-is@1.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/duplexify/node_modules/readable-stream/node_modules/core-util-is
process-nextick-args@1.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/duplexify/node_modules/readable-stream/node_modules/process-nextick-args
inherits@2.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/duplexify/node_modules/readable-stream/node_modules/inherits
isarray@0.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/duplexify/node_modules/readable-stream/node_modules/isarray
string_decoder@0.10.31 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/duplexify/node_modules/readable-stream/node_modules/string_decoder
util-deprecate@1.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/duplexify/node_modules/readable-stream/node_modules/util-deprecate
extend@2.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/extend
sse4_crc32@3.2.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/sse4_crc32
bindings@1.2.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/sse4_crc32/node_modules/bindings
nan@1.8.4 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/sse4_crc32/node_modules/nan
google-auth-library@0.9.6 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library
gtoken@1.1.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken
google-p12-pem@0.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/google-p12-pem
node-forge@0.6.16 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/google-p12-pem/node_modules/node-forge
jws@3.0.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws
jwa@1.0.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/jwa
base64url@0.0.6 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/jwa/node_modules/base64url
buffer-equal-constant-time@1.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/jwa/node_modules/buffer-equal-constant-time
base64url@1.0.4 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/base64url
concat-stream@1.4.10 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/base64url/node_modules/concat-stream
inherits@2.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/base64url/node_modules/concat-stream/node_modules/inherits
typedarray@0.0.6 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/base64url/node_modules/concat-stream/node_modules/typedarray
readable-stream@1.1.13 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/base64url/node_modules/concat-stream/node_modules/readable-stream
core-util-is@1.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/base64url/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is
isarray@0.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/base64url/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray
string_decoder@0.10.31 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/base64url/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder
meow@2.0.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/base64url/node_modules/meow
camelcase-keys@1.0.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/base64url/node_modules/meow/node_modules/camelcase-keys
camelcase@1.1.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/base64url/node_modules/meow/node_modules/camelcase-keys/node_modules/camelcase
map-obj@1.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/base64url/node_modules/meow/node_modules/camelcase-keys/node_modules/map-obj
indent-string@1.2.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/base64url/node_modules/meow/node_modules/indent-string
get-stdin@4.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/base64url/node_modules/meow/node_modules/indent-string/node_modules/get-stdin
minimist@1.1.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/base64url/node_modules/meow/node_modules/minimist
repeating@1.1.3 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/base64url/node_modules/meow/node_modules/indent-string/node_modules/repeating
is-finite@1.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/base64url/node_modules/meow/node_modules/indent-string/node_modules/repeating/node_modules/is-finite
number-is-nan@1.0.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/base64url/node_modules/meow/node_modules/indent-string/node_modules/repeating/node_modules/is-finite/node_modules/number-is-nan
object-assign@1.0.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/jws/node_modules/base64url/node_modules/meow/node_modules/object-assign
mime@1.3.4 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/mime
request@2.58.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request
bl@0.9.4 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/bl
readable-stream@1.0.33 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/bl/node_modules/readable-stream
core-util-is@1.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is
isarray@0.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray
string_decoder@0.10.31 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder
inherits@2.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/inherits
caseless@0.10.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/caseless
forever-agent@0.6.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/forever-agent
form-data@1.0.0-rc1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/form-data
async@1.2.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/form-data/node_modules/async
combined-stream@1.0.5 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/combined-stream
delayed-stream@1.0.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream
mime-types@2.1.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/form-data/node_modules/mime-types
mime-db@1.13.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/form-data/node_modules/mime-types/node_modules/mime-db
json-stringify-safe@5.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/json-stringify-safe
mime-types@2.0.14 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/mime-types
mime-db@1.12.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/mime-types/node_modules/mime-db
node-uuid@1.4.3 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/node-uuid
qs@3.1.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/qs
tunnel-agent@0.4.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/tunnel-agent
tough-cookie@2.0.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/tough-cookie
http-signature@0.11.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/http-signature
assert-plus@0.1.5 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/http-signature/node_modules/assert-plus
asn1@0.1.11 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/http-signature/node_modules/asn1
ctype@0.5.3 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/http-signature/node_modules/ctype
oauth-sign@0.8.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/oauth-sign
hawk@2.3.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/hawk
hoek@2.14.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/hawk/node_modules/hoek
boom@2.8.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/hawk/node_modules/boom
cryptiles@2.0.4 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/hawk/node_modules/cryptiles
sntp@1.0.9 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/hawk/node_modules/sntp
aws-sign2@0.5.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/aws-sign2
stringstream@0.0.4 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/stringstream
isstream@0.1.2 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/isstream
har-validator@1.7.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/har-validator
bluebird@2.9.30 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/har-validator/node_modules/bluebird
chalk@1.0.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/har-validator/node_modules/chalk
ansi-styles@2.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles
escape-string-regexp@1.0.3 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp
has-ansi@1.0.3 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi
ansi-regex@1.1.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex
get-stdin@4.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/get-stdin
strip-ansi@2.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi
ansi-regex@1.1.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex
supports-color@1.3.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color
commander@2.8.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/har-validator/node_modules/commander
graceful-readlink@1.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink
is-my-json-valid@2.12.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid
generate-function@2.0.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function
generate-object-property@1.2.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property
is-property@1.0.2 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property
jsonpointer@1.1.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer
xtend@4.0.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/gtoken/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend
lodash.noop@3.0.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/lodash.noop
request@2.51.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request
bl@0.9.4 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/bl
readable-stream@1.0.33 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/bl/node_modules/readable-stream
core-util-is@1.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is
isarray@0.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray
string_decoder@0.10.31 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder
inherits@2.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/inherits
caseless@0.8.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/caseless
forever-agent@0.5.2 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/forever-agent
form-data@0.2.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/form-data
combined-stream@0.0.7 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/combined-stream
delayed-stream@0.0.5 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream
mime-types@2.0.14 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/form-data/node_modules/mime-types
mime-db@1.12.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/form-data/node_modules/mime-types/node_modules/mime-db
json-stringify-safe@5.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/json-stringify-safe
mime-types@1.0.2 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/mime-types
qs@2.3.3 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/qs
tunnel-agent@0.4.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/tunnel-agent
tough-cookie@2.0.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/tough-cookie
http-signature@0.10.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/http-signature
assert-plus@0.1.5 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/http-signature/node_modules/assert-plus
asn1@0.1.11 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/http-signature/node_modules/asn1
ctype@0.5.3 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/http-signature/node_modules/ctype
oauth-sign@0.5.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/oauth-sign
hawk@1.1.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/hawk
hoek@0.9.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/hawk/node_modules/hoek
boom@0.4.2 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/hawk/node_modules/boom
cryptiles@0.2.2 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/hawk/node_modules/cryptiles
sntp@0.2.4 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/hawk/node_modules/sntp
aws-sign2@0.5.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/aws-sign2
stringstream@0.0.4 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/request/node_modules/stringstream
string-template@0.2.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/google-auth-library/node_modules/string-template
mime-types@2.1.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/mime-types
mime-db@1.13.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/mime-types/node_modules/mime-db
protobufjs@3.8.2 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/protobufjs
bytebuffer@3.5.5 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/protobufjs/node_modules/bytebuffer
long@2.2.5 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/protobufjs/node_modules/bytebuffer/node_modules/long
bufferview@1.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/protobufjs/node_modules/bytebuffer/node_modules/bufferview
ascli@0.3.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/protobufjs/node_modules/ascli
colour@0.7.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/protobufjs/node_modules/ascli/node_modules/colour
optjs@3.2.1-boom /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/protobufjs/node_modules/ascli/node_modules/optjs
request@2.58.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request
bl@0.9.4 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/bl
readable-stream@1.0.33 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/bl/node_modules/readable-stream
core-util-is@1.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is
isarray@0.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray
string_decoder@0.10.31 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder
inherits@2.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/inherits
caseless@0.10.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/caseless
forever-agent@0.6.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/forever-agent
form-data@1.0.0-rc1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/form-data
async@1.2.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/form-data/node_modules/async
combined-stream@1.0.5 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/combined-stream
delayed-stream@1.0.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream
mime-types@2.1.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/form-data/node_modules/mime-types
mime-db@1.13.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/form-data/node_modules/mime-types/node_modules/mime-db
json-stringify-safe@5.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/json-stringify-safe
mime-types@2.0.14 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/mime-types
mime-db@1.12.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/mime-types/node_modules/mime-db
qs@3.1.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/qs
tunnel-agent@0.4.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/tunnel-agent
tough-cookie@2.0.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/tough-cookie
http-signature@0.11.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/http-signature
assert-plus@0.1.5 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/http-signature/node_modules/assert-plus
asn1@0.1.11 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/http-signature/node_modules/asn1
ctype@0.5.3 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/http-signature/node_modules/ctype
oauth-sign@0.8.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/oauth-sign
hawk@2.3.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/hawk
hoek@2.14.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/hawk/node_modules/hoek
boom@2.8.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/hawk/node_modules/boom
cryptiles@2.0.4 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/hawk/node_modules/cryptiles
sntp@1.0.9 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/hawk/node_modules/sntp
aws-sign2@0.5.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/aws-sign2
stringstream@0.0.4 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/stringstream
isstream@0.1.2 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/isstream
har-validator@1.7.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/har-validator
bluebird@2.9.30 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/har-validator/node_modules/bluebird
chalk@1.0.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/har-validator/node_modules/chalk
ansi-styles@2.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles
escape-string-regexp@1.0.3 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp
has-ansi@1.0.3 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi
ansi-regex@1.1.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex
get-stdin@4.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/get-stdin
strip-ansi@2.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi
ansi-regex@1.1.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex
supports-color@1.3.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color
commander@2.8.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/har-validator/node_modules/commander
graceful-readlink@1.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink
is-my-json-valid@2.12.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid
generate-function@2.0.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function
generate-object-property@1.2.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property
is-property@1.0.2 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property
jsonpointer@1.1.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer
xtend@4.0.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend
stream-events@1.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/stream-events
stubs@1.1.2 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/stream-events/node_modules/stubs
through2@0.6.5 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/through2
readable-stream@1.0.33 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/through2/node_modules/readable-stream
core-util-is@1.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/through2/node_modules/readable-stream/node_modules/core-util-is
isarray@0.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/through2/node_modules/readable-stream/node_modules/isarray
string_decoder@0.10.31 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/through2/node_modules/readable-stream/node_modules/string_decoder
inherits@2.0.1 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/through2/node_modules/readable-stream/node_modules/inherits
xtend@4.0.0 /Users/jrosas/dev/testgcloud/node_modules/gcloud/node_modules/through2/node_modules/xtend
sse4_crc32@3.2.0 /Users/jrosas/dev/testgcloud/node_modules/sse4_crc32
bindings@1.2.1 /Users/jrosas/dev/testgcloud/node_modules/sse4_crc32/node_modules/bindings
nan@1.8.4 /Users/jrosas/dev/testgcloud/node_modules/sse4_crc32/node_modules/nan
abelino commented 9 years ago

from the errors this deff looks like an assembly prob. Try to compile and running that portion on your own and see if it blows up. I'll try to research what instruction it doesn't like, but not easy without having a machine with your cpu.

#include <iostream>

using namespace std;

void cpuid(uint32_t op, uint32_t reg[4]) {
#if defined(__x86_64__)
  __asm__ volatile(
    "pushq %%rbx       \n\t"
    "cpuid             \n\t"
    "movl  %%ebx, %1   \n\t"
    "popq  %%rbx       \n\t"
    : "=a"(reg[0]), "=r"(reg[1]), "=c"(reg[2]), "=d"(reg[3])
    : "a"(op)
    : "cc");
#elif defined(_WIN64) || defined(_WIN32)
  #include <intrin.h>

  __cpuid((int *)reg, 1);
#else
  __asm__ volatile(
    "pushl %%ebx       \n\t"
    "cpuid             \n\t"
    "movl  %%ebx, %1   \n\t"
    "popl  %%ebx       \n\t"
    : "=a"(reg[0]), "=r"(reg[1]), "=c"(reg[2]), "=d"(reg[3])
    : "a"(op)
    : "cc");
#endif
}

int main(int argc, char *argv[]) {
  uint32_t reg[4];
  cpuid(1, reg);
  printf(((reg[2] >> 20) & 1) == 1 ? "yes\n" : "no\n");
}

compile

g++ -o cpuid cpuid.cpp
javorosas commented 9 years ago

I compiled and ran the code. The output is:

no
abelino commented 9 years ago

not an assembly issue then. reviewing the cpp code now

anandsuresh commented 9 years ago

@javorosas @abelino The output seems to be expected. The Intel T7300 processor does not have the SSE 4.2 chipset and consequently we get a negative output. What baffles me is the fact that the library isn't using the software fallback.

Based on a previous message posted by @javorosas (pasted below for reference), it seems that the library is attempting to use H/w CRC even though the platform doesn't support it. The calculate function, which is the one that performs the CRC calculation is set to [Function: hwCrc32c] when it fact it should be set to [Function: swCrc32C]

{ isHardwareCrcSupported: [Function: isHardwareCrcSupported],
  calculateInSoftware: [Function: swCrc32c],
  calculateOnHardware: [Function: hwCrc32c],
  CRC32: [Function: Crc32C],
  calculate: [Function: hwCrc32c] }
anandsuresh commented 9 years ago

@javorosas Can you confirm that the output I pasted in the last message was indeed something that you saw at your end or did I misinterpret your message?

abelino commented 9 years ago

Yea I would like to know the same.

From my understanding, I don't think he got that far.

javorosas commented 9 years ago

No, I never saw that in the terminal.

abelino commented 9 years ago

ok so this is deff a compile time error, but at least we know its not an assembly code issue.

anandsuresh commented 9 years ago

@javorosas Do you have node-gyp globally installed on your machine? My guess is that this might be a node-gyp version compatibility issue due to the Module did not self register error.

javorosas commented 9 years ago

@anandsuresh No

anandsuresh commented 9 years ago

@javorosas Can you also confirm that you can run an npm install to completion without any errors?

abelino commented 9 years ago

do you think the functions _mmcrc32* can be causing the prob on non sse4 systems?

javorosas commented 9 years ago

I installed node-gyp globally with npm install -g node-gyp and then I tried npm rebuild. Still getting

[1]    5950 illegal hardware instruction  node server.js

@anandsuresh npm install gives me this:

> sse4_crc32@3.2.0 install /Users/jrosas/dev/testgcloud/node_modules/sse4_crc32
> node-gyp rebuild

2015-06-23 10:53:53.171 xcodebuild[5974:1723215] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/VVDocumenter-Xcode.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-23 10:53:53.173 xcodebuild[5974:1723215] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/KSImageNamed.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-23 10:53:53.174 xcodebuild[5974:1723215] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/BBUDebuggerTuckAway.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-23 10:53:53.175 xcodebuild[5974:1723215] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/AdjustFontSize.xcplugin' not present in DVTPlugInCompatibilityUUIDs
  CXX(target) Release/obj.target/sse4_crc32/src/sse4_crc32.o
  SOLINK_MODULE(target) Release/sse4_crc32.node
anandsuresh commented 9 years ago

@javorosas I'm guessing running node-gyp -v is returning v2.0.1?

javorosas commented 9 years ago

@anandsuresh yes

anandsuresh commented 9 years ago

@abelino The mm_crc32* functions are only part of the hardware function. So that function should not be called on @javorosas' platform since it doesn't support H/W CRC. Seems to be some weird linkage issue where the calculate function seems to be calling out to the h/w crc function instead of the s/w crc function.

anandsuresh commented 9 years ago

@javorosas Can you paste the output of node -e "console.log('H/w CRC Support: ' + require('./sse4_crc32').isHardwareCrcSupported());" once again please?

anandsuresh commented 9 years ago

Also @javorosas , node -pe "require('./sse4_crc32');" You might have to tweak the path to the module.

abelino commented 9 years ago

@anandsuresh I don't even think its getting past NODE_MODULE(sse4_crc32, init)

since we are exporting the hwCrc, and since hwCrc32c is compiled, the following lines might be the prob at compile time 188, 195-197

javorosas commented 9 years ago

I changed require('./sse4_crc32") to require('sse4_crc32")

$ node -e "console.log('H/w CRC Support: ' + require('sse4_crc32').isHardwareCrcSupported());"
[1]    6207 illegal hardware instruction  node -e 

$ node -pe "require('sse4_crc32');"
[1]    6221 illegal hardware instruction  node -pe "require('sse4_crc32');"
abelino commented 9 years ago

any particular reason why we aren't using the something like:

#ifdef __SSE4_2__
#include <smmintrin.h>
#endif

#ifdef __SSE4_2__
uint32_t hwCrc32c(uint32_t initialCrc, const char *buf, size_t len) {
  //stuff
}

NAN_METHOD(hwCrc) {
  //stuff
}
#endif

#ifdef __SSE4_2__
NODE_SET_METHOD(exports, "hwCrc", hwCrc);
#endif
anandsuresh commented 9 years ago

@javorosas @abelino Here is an easy way to verify the compilation and initialization:

cd /tmp
git clone git@github.com:Voxer/sse4_crc32.git
cd sse4_crc32
git checkout anand-crc-test
make
abelino commented 9 years ago

@anandsuresh well we know he already tried rebuilding so I'm pretty sure this wont get past 'compile' on @javorosas system

javorosas commented 9 years ago

Here's my output:

$ make
./node_modules/.bin/node-gyp clean
make: ./node_modules/.bin/node-gyp: No such file or directory
make: [clean] Error 1 (ignored)
npm install .
npm WARN prefer global node-gyp@2.0.1 should be installed with -g

> sse4_crc32@3.2.0 install /Users/jrosas/dev/sse4_test/sse4_crc32
> node-gyp rebuild

2015-06-23 11:50:40.268 xcodebuild[6340:1929688] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/VVDocumenter-Xcode.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-23 11:50:40.322 xcodebuild[6340:1929688] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/KSImageNamed.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-23 11:50:40.344 xcodebuild[6340:1929688] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/BBUDebuggerTuckAway.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-23 11:50:40.389 xcodebuild[6340:1929688] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/AdjustFontSize.xcplugin' not present in DVTPlugInCompatibilityUUIDs
  CXX(target) Release/obj.target/sse4_crc32/src/sse4_crc32.o
  SOLINK_MODULE(target) Release/sse4_crc32.node
bindings@1.2.1 node_modules/bindings

crc32@0.2.2 node_modules/crc32

nan@1.8.4 node_modules/nan

chai@2.3.0 node_modules/chai
├── assertion-error@1.0.0
└── deep-eql@0.1.3 (type-detect@0.1.1)

mocha@2.2.5 node_modules/mocha
├── escape-string-regexp@1.0.2
├── growl@1.8.1
├── supports-color@1.2.1
├── commander@2.3.0
├── diff@1.4.0
├── debug@2.0.0 (ms@0.6.2)
├── mkdirp@0.5.0 (minimist@0.0.8)
├── jade@0.26.3 (commander@0.6.1, mkdirp@0.3.0)
└── glob@3.2.3 (inherits@2.0.1, graceful-fs@2.0.3, minimatch@0.2.14)

node-gyp@2.0.1 node_modules/node-gyp
├── rimraf@2.4.0
├── graceful-fs@3.0.8
├── osenv@0.1.2 (os-tmpdir@1.0.1)
├── nopt@3.0.3 (abbrev@1.0.7)
├── minimatch@1.0.0 (sigmund@1.0.1, lru-cache@2.6.4)
├── fstream@1.0.7 (inherits@2.0.1)
├── semver@4.3.6
├── mkdirp@0.5.1 (minimist@0.0.8)
├── which@1.1.1 (is-absolute@0.1.7)
├── path-array@1.0.0 (array-index@0.1.1)
├── tar@1.0.3 (inherits@2.0.1, block-stream@0.0.8)
├── glob@4.5.3 (inherits@2.0.1, inflight@1.0.4, once@1.3.2, minimatch@2.0.8)
├── npmlog@1.2.1 (ansi@0.3.0, gauge@1.2.0, are-we-there-yet@1.0.4)
└── request@2.58.0 (caseless@0.10.0, aws-sign2@0.5.0, forever-agent@0.6.1, stringstream@0.0.4, tunnel-agent@0.4.0, oauth-sign@0.8.0, isstream@0.1.2, json-stringify-safe@5.0.1, extend@2.0.1, node-uuid@1.4.3, combined-stream@1.0.5, qs@3.1.0, mime-types@2.0.14, http-signature@0.11.0, bl@0.9.4, tough-cookie@2.0.0, form-data@1.0.0-rc1, hawk@2.3.1, har-validator@1.8.0)
./node_modules/.bin/node-gyp configure
gyp info it worked if it ends with ok
gyp info using node-gyp@2.0.1
gyp info using node@0.12.4 | darwin | x64
gyp info spawn python2
gyp info spawn args [ '/Users/jrosas/dev/sse4_test/sse4_crc32/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/jrosas/dev/sse4_test/sse4_crc32/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/jrosas/dev/sse4_test/sse4_crc32/common.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/jrosas/dev/sse4_test/sse4_crc32/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/jrosas/.node-gyp/0.12.4/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/Users/jrosas/.node-gyp/0.12.4',
gyp info spawn args   '-Dmodule_root_dir=/Users/jrosas/dev/sse4_test/sse4_crc32',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.' ]
2015-06-23 11:50:50.191 xcodebuild[6396:1929832] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/VVDocumenter-Xcode.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-23 11:50:50.193 xcodebuild[6396:1929832] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/KSImageNamed.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-23 11:50:50.194 xcodebuild[6396:1929832] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/BBUDebuggerTuckAway.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-23 11:50:50.196 xcodebuild[6396:1929832] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/AdjustFontSize.xcplugin' not present in DVTPlugInCompatibilityUUIDs
gyp info ok 
./node_modules/.bin/node-gyp build
gyp info it worked if it ends with ok
gyp info using node-gyp@2.0.1
gyp info using node@0.12.4 | darwin | x64
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make[1]: Nothing to be done for `all'.
gyp info ok 
./node_modules/.bin/mocha test/*.test.js
:init:
make: *** [test] Illegal instruction: 4
abelino commented 9 years ago

@javorosas try

cd /tmp
git clone git@github.com:abelino/sse4_crc32.git
npm i sse4_crc32
node -pe "require('sse4_crc32')"
javorosas commented 9 years ago
$ npm i sse4_crc32
/
> sse4_crc32@3.2.0 install /Users/jrosas/dev/sse4_test/node_modules/sse4_crc32
> node-gyp rebuild

2015-06-23 12:14:39.608 xcodebuild[7008:2060025] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/VVDocumenter-Xcode.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-23 12:14:39.664 xcodebuild[7008:2060025] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/KSImageNamed.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-23 12:14:39.686 xcodebuild[7008:2060025] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/BBUDebuggerTuckAway.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-23 12:14:39.731 xcodebuild[7008:2060025] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/AdjustFontSize.xcplugin' not present in DVTPlugInCompatibilityUUIDs
  CXX(target) Release/obj.target/sse4_crc32/src/sse4_crc32.o
  SOLINK_MODULE(target) Release/sse4_crc32.node
sse4_crc32@3.2.0 node_modules/sse4_crc32
├── bindings@1.2.1
└── nan@1.8.4

$ node -pe "require('sse4_crc32')"
[1]    7071 illegal hardware instruction  node -pe "require('sse4_crc32')"

Are you guys sure the xcode warnings I'm getting don't have anything to do with this issue?

anandsuresh commented 9 years ago

@abelino @javorosas From the log pasted, we can see that the initialization is running just fine.

.....
./node_modules/.bin/node-gyp build
gyp info it worked if it ends with ok
gyp info using node-gyp@2.0.1
gyp info using node@0.12.4 | darwin | x64
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make[1]: Nothing to be done for `all'.
gyp info ok 
./node_modules/.bin/mocha test/*.test.js
:init:
make: *** [test] Illegal instruction: 4

The :init: line is printed at the end of the init function. So the compilation works just fine, as does the linking and loading of the node module in node.

Also, I get no xcode warnings on my system.

abelino commented 9 years ago

@anandsuresh you are 100% correct on that. A very curious case here

abelino commented 9 years ago

@javorosas here comes another test :D

If this compiles and runs properly, then its deff an issue with the js bindings.

cd /tmp
git clone git@github.com:abelino/sse4_crc32.git
cd sse4_crc32
git checkout cpptest
cd test
make
anandsuresh commented 9 years ago

@javorosas @abelino I apologize for my last test. I had the log lines in the wrong place. I've updated the branch. Please do a git pull --rebase on the anand-crc-test branch and run make clean; make again. The output should show us where the code breaks.

javorosas commented 9 years ago

@abelino :D yaay! another test

$ make
g++ -o sse4_crc32 sse4_crc32.cpp -msse4.2
./sse4_crc32
crc32c 3381945770

No errors apparently

abelino commented 9 years ago

@javorosas wow ok that totally proves the c++ code is good. Now let us know what you get from the test on branch anand-crc-test.

javorosas commented 9 years ago

@anandsuresh

$ make clean; make
./node_modules/.bin/node-gyp clean
gyp info it worked if it ends with ok
gyp info using node-gyp@2.0.1
gyp info using node@0.12.4 | darwin | x64
gyp info ok 
./node_modules/.bin/node-gyp clean
gyp info it worked if it ends with ok
gyp info using node-gyp@2.0.1
gyp info using node@0.12.4 | darwin | x64
gyp info ok 
npm install .

> sse4_crc32@3.2.0 install /Users/jrosas/dev/sse4_test/sse4_crc32
> node-gyp rebuild

2015-06-23 15:38:31.352 xcodebuild[9139:2349932] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/VVDocumenter-Xcode.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-23 15:38:31.356 xcodebuild[9139:2349932] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/KSImageNamed.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-23 15:38:31.379 xcodebuild[9139:2349932] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/BBUDebuggerTuckAway.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-23 15:38:31.414 xcodebuild[9139:2349932] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/AdjustFontSize.xcplugin' not present in DVTPlugInCompatibilityUUIDs
  CXX(target) Release/obj.target/sse4_crc32/src/sse4_crc32.o
  SOLINK_MODULE(target) Release/sse4_crc32.node
./node_modules/.bin/node-gyp configure
gyp info it worked if it ends with ok
gyp info using node-gyp@2.0.1
gyp info using node@0.12.4 | darwin | x64
gyp info spawn python2
gyp info spawn args [ '/Users/jrosas/dev/sse4_test/sse4_crc32/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/jrosas/dev/sse4_test/sse4_crc32/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/jrosas/dev/sse4_test/sse4_crc32/common.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/jrosas/dev/sse4_test/sse4_crc32/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/jrosas/.node-gyp/0.12.4/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/Users/jrosas/.node-gyp/0.12.4',
gyp info spawn args   '-Dmodule_root_dir=/Users/jrosas/dev/sse4_test/sse4_crc32',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.' ]
2015-06-23 15:38:36.520 xcodebuild[9198:2350055] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/VVDocumenter-Xcode.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-23 15:38:36.523 xcodebuild[9198:2350055] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/KSImageNamed.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-23 15:38:36.524 xcodebuild[9198:2350055] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/BBUDebuggerTuckAway.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-06-23 15:38:36.525 xcodebuild[9198:2350055] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/AdjustFontSize.xcplugin' not present in DVTPlugInCompatibilityUUIDs
gyp info ok 
./node_modules/.bin/node-gyp build
gyp info it worked if it ends with ok
gyp info using node-gyp@2.0.1
gyp info using node@0.12.4 | darwin | x64
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make[1]: Nothing to be done for `all'.
gyp info ok 
./node_modules/.bin/mocha test/*.test.js
:init:
make: *** [test] Illegal instruction: 4
abelino commented 9 years ago

@javorosas just to be 100% did you do git pull --rebase on the anand-crc-test

anandsuresh commented 9 years ago

@javorosas If you did do a git pull --rebase before running that test, then the problem is coming from this line:

NODE_SET_METHOD(exports, "isHardwareCrcSupported", isHardwareCrcSupported);
javorosas commented 9 years ago

@abelino yes, I'm actually removing the whole folder every time I'm making the test

anandsuresh commented 9 years ago

@javorosas Can you add a printf to line 317 in src/sse4_crc32.cpp and confirm that you see the first 2 log lines (:init: and the new line you added)? I just want to rule out the possibility of the initCrcTable() function doing something weird.

javorosas commented 9 years ago

I inserted the following logs:

Around line 98:

...
void initCrcTable() {
    uint32_t i, j, crc;
    printf("%s:\n", "one");
    for (i = 0; i < 256; i++) {
        crc = i;
        crc = crc & 1 ? (crc >> 1) ^ CRC32C_POLYNOMIAL : crc >> 1;
        crc = crc & 1 ? (crc >> 1) ^ CRC32C_POLYNOMIAL : crc >> 1;
        crc = crc & 1 ? (crc >> 1) ^ CRC32C_POLYNOMIAL : crc >> 1;
        crc = crc & 1 ? (crc >> 1) ^ CRC32C_POLYNOMIAL : crc >> 1;
        crc = crc & 1 ? (crc >> 1) ^ CRC32C_POLYNOMIAL : crc >> 1;
        crc = crc & 1 ? (crc >> 1) ^ CRC32C_POLYNOMIAL : crc >> 1;
        crc = crc & 1 ? (crc >> 1) ^ CRC32C_POLYNOMIAL : crc >> 1;
        crc = crc & 1 ? (crc >> 1) ^ CRC32C_POLYNOMIAL : crc >> 1;
        crc32cTable[0][i] = crc;
    }
    printf("%s:\n", "two");

    for (i = 0; i < 256; i++) {
        crc = crc32cTable[0][i];
        for (j = 1; j < 8; j++) {
            crc = crc32cTable[0][crc & 0xff] ^ (crc >> 8);
            crc32cTable[j][i] = crc;
        }
    }
    printf("%s:\n", "three");
}
...

Around line 316:

...
void init(Handle<Object> exports) {
    printf(":%s:\n", "init");
    printf(":%s:\n", "Hey!");
    initCrcTable();
    printf(":%s:\n", "Listen!");
...

These are the last lines in the output when running make clean; make

...
make[1]: Nothing to be done for `all'.
gyp info ok 
./node_modules/.bin/mocha test/*.test.js
:init:
:Hey!:
one:
make: *** [test] Illegal instruction: 4
abelino commented 9 years ago

that is very interesting. The initCrcTable function ran fine when you ran the cpptest earlier. Something funky is going on.

anandsuresh commented 9 years ago

The good news: Now we have more information and know where to start our debugging. The bad news: This is some really funky stuff and I'd need to be on the same hardware/platform in order to debug this.

Since you were able to run the initCrcTable function without errors using @abelino's code, it stands to reason that it should work in this scenario too. But as we can see, our assumption is being proven wrong!

Seems that we will need more information:

anandsuresh commented 9 years ago

I have a feeling that you've recently upgraded to the latest/greatest Darwin kernel, and have received the corresponding Clang compiler, which might be responsible for this.