Skip to content
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

Failures after V8 5.4 update on master #187

Closed
MylesBorins opened this issue Sep 27, 2016 · 19 comments
Closed

Failures after V8 5.4 update on master #187

MylesBorins opened this issue Sep 27, 2016 · 19 comments

Comments

@MylesBorins
Copy link
Contributor

Looks like three failures have we:

  • level
  • serialport
  • node-sass

/cc @ralphtheninja @reconbot @xzyfer

@targos
Copy link
Member

targos commented Sep 27, 2016

Related: #179

I'm pretty sure this is because we have to update NODE_MODULE_VERSION or force a node-gyp rebuild

@xzyfer
Copy link
Contributor

xzyfer commented Sep 27, 2016

Is there a Travis build I can look at?

@MylesBorins
Copy link
Contributor Author

MylesBorins commented Sep 27, 2016

Here is a citgm run with a forced rebuild

https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/396/

/cc @jasnell can you do an updated release of v7 with the NODE_MODULE_VERSION bumped?

edit: lolol no node-gyp... one more time

https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/397/

@xzyfer
Copy link
Contributor

xzyfer commented Sep 27, 2016

https://ci.nodejs.org is currently 502'ing. I'll keep an eye on it.

@xzyfer
Copy link
Contributor

xzyfer commented Sep 27, 2016

@thealphanerd sorry, I'm failing to find the node-sass build log.

@MylesBorins
Copy link
Contributor Author

MylesBorins commented Sep 27, 2016

bah... the rebuild job is not working in the regular CI job... made a custom CI job for rebuild, this should hopefully work

https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker-rebuild/2/

@MylesBorins
Copy link
Contributor Author

@xzyfer

warn: npm-install:        | node: symbol lookup error:                        
warn:                     | /tmp/5c033f2c-bc4d-4dfe-8130-d8d940e9d288/node-sa…
warn:                     | ss/vendor/linux-x64-48/binding.node: undefined    
warn:                     | symbol:                                           
warn:                     | _ZN2v816FunctionTemplate3NewEPNS_7IsolateEPFvRKNS…
warn:                     | _20FunctionCallbackInfoINS_5ValueEEEENS_5LocalIS4…
warn:                     | _EENSA_INS_9SignatureEEEi                

@xzyfer
Copy link
Contributor

xzyfer commented Sep 27, 2016

@thealphanerd is there a link to the build?

@jasnell
Copy link
Member

jasnell commented Sep 27, 2016

Yep. The hope is to get that updated build today.

On Monday, September 26, 2016, Myles Borins [email protected]
wrote:

Here is a citgm run with a forced rebuild

https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/396/

/cc @jasnell https://github.com/jasnell can you do an updated release
of v7 with the NODE_MODULE_VERSION bumped?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#187 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAa2ebfJODJGKcAE5GWdkL0nJfb2ZifSks5quL14gaJpZM4KHTBS
.

@reconbot
Copy link
Contributor

Why doesn't the regular job rebuild? Seems like the right thing to do.

On Tue, Sep 27, 2016, 8:47 AM James M Snell [email protected]
wrote:

Yep. The hope is to get that updated build today.

On Monday, September 26, 2016, Myles Borins [email protected]
wrote:

Here is a citgm run with a forced rebuild

https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/396/

/cc @jasnell https://github.com/jasnell can you do an updated release
of v7 with the NODE_MODULE_VERSION bumped?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#187 (comment), or
mute
the thread
<
https://github.com/notifications/unsubscribe-auth/AAa2ebfJODJGKcAE5GWdkL0nJfb2ZifSks5quL14gaJpZM4KHTBS

.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#187 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AABlbpF3gMbOJIjntIbr_C2Z3GaKfRd0ks5quRBGgaJpZM4KHTBS
.

@xzyfer
Copy link
Contributor

xzyfer commented Sep 27, 2016

Looking at the node-sass failures, it appears to be because the pre-built binary isn't compatible anymore. I'm guessing this is because the ABI changed but the module version didn't?

As for why it's erring the way it is, there looks to be a problem with our install script. After pulling down a prebuilt binary we try to execute the binary with a sample input. If an exception is raised we know the binary is no good. It looks like the node: symbol lookup error: error may not be catchable?

https://github.com/sass/node-sass/blob/master/scripts/build.js#L208-L218

@reconbot
Copy link
Contributor

Because of the wired state the abi gets in (eg not bumped when it has
clearly changed) we're going to see this with any prebuilt or binary
bundled package because the abi version has broken it's stable api
guarantee. I think the version should be bumped as soon as it changes
because that will allow a graceful recompile is the "right thing". But I
may have to make that argument in a different venue.

Forcing a compile will catch incompatibilities with newer versions of node
and since that's a goal of the citgm I think it should be default.

On Tue, Sep 27, 2016, 9:52 AM Michael Mifsud [email protected]
wrote:

Looking at the node-sass failures, it appears to be because the pre-built
binary isn't compatible anymore. I'm guessing this is because the ABI
changed but the module version didn't?

As for why it's erring the way it is, there looks to be a problem with our
install script. After pulling down a prebuilt binary we try to execute
the binary with a sample input. If an exception is raised we know the
binary is no good. It looks like the node: symbol lookup error: error may
not be catchable?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#187 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AABlbvC5MKiIuh9DiPQgkT5PJ3fStDIfks5quR-lgaJpZM4KHTBS
.

@MylesBorins
Copy link
Contributor Author

so it seems like the rebuild job is never getting to the "rebuild" lifecycle stage on node-sass as the install lifecycle hook is running a custom script, and it never has the chance to rebuild. The new release with bumped module version number should fix this.

As for why rebuild is not the standard approach... we want to actually catch things breaking as people would normally use npm, we can then use rebuild as a follow up for deeper diving. totally open to reviewing that process.

@reconbot
Copy link
Contributor

I agree with you, I think getting the ABI version bumped as soon as it's broken is a good thing. =)

I also think your current process is 👍

@MylesBorins
Copy link
Contributor Author

I've submitted a PR that bumps the NODE_MODULE_VERSION on master.

nodejs/node#8808

This should

@xzyfer
Copy link
Contributor

xzyfer commented Sep 28, 2016

node-sass tests are passing with the latest OSX nightly (node-v7.0.0-nightly201609276b443d1731-darwin-x64).

@MylesBorins
Copy link
Contributor Author

We've landed the bump to NODE_MODULE_VERSION

New ci to see what's up
https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/400/

@targos
Copy link
Member

targos commented Sep 29, 2016

node-sass failed:

| make: *** No rule to make target 'Release/obj.target/libsass/src/libsass/src/ast.o', needed by 'Release/obj.target/src/sass.a'.  Stop.
verbose: npm-install:        | make: Entering directory '/tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass/build'
verbose:                     | make: Leaving directory '/tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass/build'
info: starting            | node-sass           
verbose: using-uid           | 1001                
verbose: using-gid           | 1001                
verbose: using-node          | /home/iojs/build/workspace/citgm-smoker/nodes/fedora22/smoker/bin/node
verbose: using-npm           | /home/iojs/build/workspace/citgm-smoker/nodes/fedora22/smoker/bin/npm
info: npm:                | Downloading project: https://github.com/sass/node-sass/archive/master.tar.gz
info: npm:                | Project downloaded node-sass-3.10.0.tgz
info: npm:                | install started     
verbose: nodedir             | Using --nodedir="/home/iojs/build/workspace/citgm-smoker/nodes/fedora22"
verbose: npm-install:        | > [email protected] install /tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass
verbose:                     | > node scripts/install.js                                                     
verbose: npm-install:        | Start downloading binary at https://github.com/sass/node-sass/releases/download/v3.10.0/linux-x64-51_binding.node
warn: npm-install:        | Cannot download "https://github.com/sass/node-sass/releases/download/v3.10.0/linux-x64-51_binding.node":
warn:                     |                                                                                                         
warn:                     | HTTP error 404 Not Found                                                                                
warn:                     |                                                                                                         
warn:                     | Hint: If github.com is not accessible in your location                                                  
warn:                     | try setting a proxy via HTTP_PROXY, e.g.                                                                
warn:                     |                                                                                                         
warn:                     | export HTTP_PROXY=http://example.com:1234                                                               
warn:                     |                                                                                                         
warn:                     | or configure npm proxy via                                                                              
warn:                     |                                                                                                         
warn:                     | npm config set proxy http://example.com:8080                                                            
verbose: npm-install:        | > [email protected] postinstall /tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass
verbose:                     | > node scripts/build.js                                                           
verbose: npm-install:        | Building: /home/iojs/build/workspace/citgm-smoker/nodes/fedora22/smoker/bin/node /tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
warn: npm-install:        | gyp                 
warn: npm-install:        |                     
warn: npm-install:        | info it worked if it ends with ok
warn: npm-install:        | gyp                 
warn: npm-install:        | verb cli [ '/home/iojs/build/workspace/citgm-smoker/nodes/fedora22/smoker/bin/node',                       
warn:                     | gyp verb cli   '/tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass/node_modules/node-gyp/bin/node-gyp.js',
warn:                     | gyp verb cli   'rebuild',                                                                                  
warn:                     | gyp verb cli   '--verbose',                                                                                
warn:                     | gyp verb cli   '--libsass_ext=',                                                                           
warn:                     | gyp verb cli                                                                                               
warn: npm-install:        | '--libsass_cflags=',                       
warn:                     | gyp verb cli   '--libsass_ldflags=',       
warn:                     | gyp verb cli   '--libsass_library=' ]      
warn:                     | gyp info using [email protected]              
warn:                     | gyp info using [email protected] | linux | x64
warn: npm-install:        | gyp verb command rebuild []
warn: npm-install:        | gyp                 
warn: npm-install:        | verb command clean []
warn: npm-install:        | gyp verb            
warn: npm-install:        | clean removing "build" directory
warn: npm-install:        | gyp                 
warn: npm-install:        | verb command configure []
warn: npm-install:        | gyp                 
warn: npm-install:        | verb check python checking for Python executable "python2" in the PATH
warn: npm-install:        | gyp                 
warn: npm-install:        | verb `which` succeeded python2 /usr/bin/python2
warn: npm-install:        | gyp                 
warn: npm-install:        |                     
warn: npm-install:        | verb                
warn: npm-install:        |                     
warn: npm-install:        | check python version
warn: npm-install:        | `/usr/bin/python2 -c "import platform; print(platform.python_version());"` returned: "2.7.10\n"
warn: npm-install:        | gyp                 
warn: npm-install:        |                     
warn: npm-install:        | verb                
warn: npm-install:        |                     
warn: npm-install:        | get node dir        
warn: npm-install:        | compiling against specified --nodedir dev files: /home/iojs/build/workspace/citgm-smoker/nodes/fedora22
warn: npm-install:        | gyp                 
warn: npm-install:        |                     
warn: npm-install:        | verb                
warn: npm-install:        | build dir attempting to create "build" dir: /tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass/build
warn: npm-install:        | gyp                 
warn: npm-install:        | verb build dir "build" dir needed to be created? /tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass/build
warn:                     | gyp                                                                                                       
warn: npm-install:        | verb                
warn: npm-install:        | build/config.gypi   
warn: npm-install:        | creating config file
warn: npm-install:        | gyp                 
warn: npm-install:        |                     
warn: npm-install:        | verb                
warn: npm-install:        |                     
warn: npm-install:        | build/config.gypi   
warn: npm-install:        | writing out config file: /tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass/build/config.gypi
warn: npm-install:        | gyp                 
warn: npm-install:        |                     
warn: npm-install:        | verb                
warn: npm-install:        |                     
warn: npm-install:        | config.gypi         
warn: npm-install:        | checking for gypi file: /tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass/config.gypi
warn: npm-install:        | gyp                 
warn: npm-install:        |                     
warn: npm-install:        | verb                
warn: npm-install:        |                     
warn: npm-install:        | common.gypi         
warn: npm-install:        | checking for gypi file: /tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass/common.gypi
warn: npm-install:        | gyp                 
warn: npm-install:        |                     
warn: npm-install:        | verb gyp gyp format was not specified; forcing "make"
warn: npm-install:        | gyp                 
warn: npm-install:        |                     
warn: npm-install:        | info                
warn: npm-install:        |                     
warn: npm-install:        | spawn               
warn: npm-install:        | /usr/bin/python2    
warn: npm-install:        | gyp                 
warn: npm-install:        |                     
warn: npm-install:        | info                
warn: npm-install:        | spawn args [ '/tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass/node_modules/node-gyp/gyp/gyp_main.py',        
warn:                     | gyp info spawn args   'binding.gyp',                                                                             
warn:                     | gyp info spawn args   '-f',                                                                                      
warn:                     | gyp info spawn args   'make',                                                                                    
warn:                     | gyp info spawn args   '-I',                                                                                      
warn:                     | gyp info spawn args   '/tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass/build/config.gypi',                   
warn:                     | gyp info spawn args   '-I',                                                                                      
warn:                     | gyp info spawn args   '/tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass/node_modules/node-gyp/addon.gypi',    
warn:                     | gyp info spawn args   '-I',                                                                                      
warn:                     | gyp info spawn args   '/home/iojs/build/workspace/citgm-smoker/nodes/fedora22/common.gypi',                      
warn:                     | gyp info spawn args   '-Dlibrary=shared_library',                                                                
warn:                     | gyp info spawn args   '-Dvisibility=default',                                                                    
warn:                     | gyp info spawn args   '-Dnode_root_dir=/home/iojs/build/workspace/citgm-smoker/nodes/fedora22',                  
warn:                     | gyp info spawn args   '-Dnode_gyp_dir=/tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass/node_modules/node-gyp',
warn:                     | gyp info spawn args   '-Dnode_lib_file=node.lib',                                                                
warn:                     | gyp info spawn args   '-Dmodule_root_dir=/tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass',                   
warn:                     | gyp info spawn args   '--depth=.',                                                                               
warn:                     | gyp info spawn args   '--no-parallel',                                                                           
warn:                     | gyp info spawn args   '--generator-output',                                                                      
warn:                     | gyp info spawn args   'build',                                                                                   
warn:                     | gyp info spawn args   '-Goutput_dir=.' ]                                                                         
warn: npm-install:        | gyp verb command build []
warn: npm-install:        | gyp verb            
warn: npm-install:        | build type Release                                                          
warn:                     | gyp verb architecture x64                                                   
warn:                     | gyp verb node dev dir /home/iojs/build/workspace/citgm-smoker/nodes/fedora22
warn: npm-install:        | gyp                 
warn: npm-install:        | verb `which` succeeded for `make` /usr/bin/make
warn: npm-install:        | gyp                 
warn: npm-install:        |                     
warn: npm-install:        | info                
warn: npm-install:        |                     
warn: npm-install:        | make: *** No rule to make target 'Release/obj.target/libsass/src/libsass/src/ast.o', needed by 'Release/obj.target/src/sass.a'.  Stop.
verbose: npm-install:        | make: Entering directory '/tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass/build'
verbose:                     | make: Leaving directory '/tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass/build' 
warn: npm-install:        | spawn make          
warn: npm-install:        | gyp info spawn args [ 'V=1', 'BUILDTYPE=Release', '-C', 'build', '--jobs', 2 ]
warn: npm-install:        | gyp ERR! build error
warn: npm-install:        | gyp ERR! stack Error: `make` failed with exit code: 2                                                                                    
warn:                     | gyp ERR! stack     at ChildProcess.onExit (/tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass/node_modules/node-gyp/lib/build.js:276:23)
warn:                     | gyp ERR! stack     at emitTwo (events.js:106:13)                                                                                         
warn:                     | gyp ERR! stack     at ChildProcess.emit (events.js:191:7)                                                                                
warn:                     | gyp                                                                                                                                      
warn: npm-install:        | ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)                                                                                                                                                                                                  
warn:                     | gyp ERR! System Linux 4.4.12-200.fc22.x86_64                                                                                                                                                                                                                                              
warn:                     | gyp ERR! command "/home/iojs/build/workspace/citgm-smoker/nodes/fedora22/smoker/bin/node" "/tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
warn: npm-install:        | gyp ERR! cwd /tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass
warn:                     | gyp ERR! node -v v7.0.0-pre                                     
warn:                     | gyp ERR!                                                        
warn: npm-install:        | node-gyp -v v3.4.0  
warn:                     | gyp ERR! not ok     
warn: npm-install:        | Build failed        
warn: npm-install:        |                     
warn: npm-install:        | npm ERR!            
warn: npm-install:        | Linux 4.4.12-200.fc22.x86_64                                                                                                                                                                                                                                        
warn:                     | npm ERR! argv "/home/iojs/build/workspace/citgm-smoker/nodes/fedora22/smoker/bin/node" "/home/iojs/build/workspace/citgm-smoker/nodes/fedora22/smoker/bin/npm" "install" "--loglevel" "error" "--nodedir=\"/home/iojs/build/workspace/citgm-smoker/nodes/fedora22\""
warn:                     | npm ERR! node v7.0.0-pre                                                                                                                                                                                                                                            
warn:                     | npm ERR! npm  v3.10.8                                                                                                                                                                                                                                               
warn:                     | npm ERR! code ELIFECYCLE                                                                                                                                                                                                                                            
warn:                     | npm ERR! [email protected] postinstall: `node scripts/build.js`                                                                                                                                                                                                      
warn:                     | npm ERR! Exit status 1                                                                                                                                                                                                                                              
warn:                     | npm ERR!                                                                                                                                                                                                                                                            
warn:                     | npm ERR! Failed at the [email protected] postinstall script 'node scripts/build.js'.                                                                                                                                                                                 
warn:                     | npm ERR! Make sure you have the latest version of node.js and npm installed.                                                                                                                                                                                        
warn:                     | npm ERR! If you do, this is most likely a problem with the node-sass package,                                                                                                                                                                                       
warn:                     | npm ERR! not with npm itself.                                                                                                                                                                                                                                       
warn:                     | npm ERR! Tell the author that this fails on your system:                                                                                                                                                                                                            
warn:                     | npm ERR!     node scripts/build.js                                                                                                                                                                                                                                  
warn:                     | npm ERR! You can get information on how to open an issue for this project with:                                                                                                                                                                                     
warn:                     | npm ERR!     npm bugs node-sass                                                                                                                                                                                                                                     
warn:                     | npm ERR!                                                                                                                                                                                                                                                            
warn: npm-install:        | Or if that isn't available, you can get their info via:  
warn:                     | npm ERR!     npm owner ls node-sass                      
warn:                     | npm ERR! There is likely additional logging output above.
warn: npm-install:        |                     
warn: npm-install:        | npm ERR! Please include the following file with any support request:          
warn:                     | npm ERR!     /tmp/dca8a4fb-1c90-4b53-a501-870d7ecac603/node-sass/npm-debug.log
error: failure             | Install Failed      
error: done                | The test suite for node-sass version 3.10.0 failed

xzyfer added a commit to xzyfer/citgm that referenced this issue Sep 30, 2016
As of [email protected] `npm test` can now be run from the published tarball.

The node-sass failure seen in nodejs#187 (comment) is due to using master. In order to compile node-sass from git the `src/libsass` submodule needs to be fetched. The missing submodule is causing node-gyp to fail because it can't the LibSass sources files.

```sh
make: *** No rule to make target 'Release/obj.target/libsass/src/libsass/src/ast.o', needed by 'Release/obj.target/src/sass.a'.  Stop.
```

The LibSass source is published to npm so node-gyp will _just work_.
@xzyfer
Copy link
Contributor

xzyfer commented Sep 30, 2016

Sorry y'all it took me a good to while to figure out what's going here with node-sass. The issue stems from node-sass being installed from github rather than the npm. The github repo git submodules in LibSass. Since the submodule isn't being fetched CI, make is failing to find the LibSass sources files.

I spent some time today getting node-sass into a state where the npm package is compatible with node-citgm. I've have just published [email protected]. I have also opened #188 to remove the master flag from node-sass. 🚀

xzyfer added a commit to xzyfer/citgm that referenced this issue Sep 30, 2016
As of [email protected] `npm test` can now be run from the published
tarball.

The node-sass failure seen in nodejs#187 are due to using master. In order to
compile node-sass from git the `src/libsass` submodule needs to be fetched.
The missing submodule is causing node-gyp to fail because it can't find the
LibSass sources files.

```sh
make: *** No rule to make target 'Release/obj.target/libsass/src/libsass/src/ast.o', needed by 'Release/obj.target/src/sass.a'.  Stop.
```

The LibSass source is published to npm so node-gyp will _just work_.
MylesBorins pushed a commit that referenced this issue Sep 30, 2016
As of [email protected] `npm test` can now be run from the published
tarball.

The node-sass failure seen in #187 are due to using master. In order to
compile node-sass from git the `src/libsass` submodule needs to be fetched.
The missing submodule is causing node-gyp to fail because it can't find the
LibSass sources files.

```sh
make: *** No rule to make target 'Release/obj.target/libsass/src/libsass/src/ast.o', needed by 'Release/obj.target/src/sass.a'.  Stop.
```

The LibSass source is published to npm so node-gyp will _just work_.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants