Skip to content

Travis deploy of scratch-gui crashes silently, falsely claims successful deploy #4880

@benjiwheeler

Description

@benjiwheeler

In this build and others: https://travis-ci.org/LLK/scratch-gui/builds/539304132 , Travis appears to successfully deploy scratch-gui to npm:

Deploying application
> [email protected] deploy /home/travis/build/LLK/scratch-gui
> touch build/.nojekyll && gh-pages -t -d build -m "Build for $(git log --pretty=format:%H -n1)" "-x" "-e" "develop" "-r" "https://[secure]@github.com/LLK/scratch-gui.git"
Published

...but if you run npm info scratch-gui, even 40 minutes after this apparent deploy, it's clear that the deploy never went through:

> npm info scratch-gui

[email protected] | BSD-3-Clause | deps: none | versions: 791
GraphicaL User Interface for creating and running Scratch 3.0 projects
https://github.com/LLK/scratch-gui#readme

dist
.tarball: https://registry.npmjs.org/scratch-gui/-/scratch-gui-0.1.0-prerelease.20190530153420.tgz
.shasum: eb543a0d5321a4568270d7417b8ef94c4c060753
.integrity: sha512-5cTGYwtgaonRpZVUWOAHrDXyhU7Q6yNfQ7qE1i6W9cmrRO2VjIsq7Ws/PA1qvyHT0eesNGdFstiw48okbQnSNQ==
.unpackedSize: 218.1 MB

maintainers:
- scratch <[email protected]>

dist-tags:
develop: 0.1.0-prerelease.20190201191527  hotfix: 0.1.0-prerelease.20190520180857   latest: 0.1.0-prerelease.20190530153420   stable: 0.1.0-prerelease.20190215143519

What's going on?

Well, if you look further up the Travis log, and expand the first of the three lines that says Deploying application, you'll see this:

Installing deploy dependencies
Successfully installed dpl-npm-1.10.10
Parsing documentation for dpl-npm-1.10.10
Installing ri documentation for dpl-npm-1.10.10
Done installing documentation for dpl-npm after 0 seconds
1 gem installed
dpl.2
Preparing deploy
NPM version: 6.4.1
Authenticated with email [secure] and API key ****************fb29
NPM API key format changed recently. If your deployment fails, check your API key in ~/.npmrc.
http://docs.travis-ci.com/user/deployment/npm/
~/.npmrc size: 48
dpl.3
Deploying application
npm notice 
npm notice 📦  [email protected]
npm notice === Tarball Contents === 
npm notice 5.1kB   package.json                                                            
npm notice 426B    .babelrc            

... many more lines skipped ...

npm notice === Tarball Details === 
npm notice name:          scratch-gui                             
npm notice version:       0.1.0-prerelease.20190530164635         
npm notice package size:  183.7 MB                                
npm notice unpacked size: 218.1 MB                                
npm notice shasum:        34fe08fadfa5725cd880434a28458a82908e9b6a
npm notice integrity:     sha512-/GyzwrS+oaY6s[...]PP17b4Qe2B0uA==
npm notice total files:   1036                                    
npm notice 
<--- Last few GCs --->
[9780:0x3e80530]    61147 ms: Mark-sweep 955.4 (1042.8) -> 954.8 (1054.3) MB, 53.3 / 0.0 ms  allocation failure GC in old space requested
[9780:0x3e80530]    61202 ms: Mark-sweep 954.8 (1054.3) -> 954.8 (1023.3) MB, 55.4 / 0.0 ms  last resort GC in old space requested
[9780:0x3e80530]    61261 ms: Mark-sweep 954.8 (1023.3) -> 954.8 (1023.3) MB, 59.4 / 0.0 ms  last resort GC in old space requested
<--- JS stacktrace --->
==== JS stack trace =========================================
Security context: 0x179c9cc25891 <JSObject>
    1: _writeGeneric [net.js:759] [bytecode=0x1096b9619e61 offset=351](this=0x2153aeb3f19 <TLSSocket map = 0x2beb61408089>,writev=0x261c77682371 <true>,data=0x2b9e1cd2e7f1 <JSArray[2]>,encoding=0x261c77682431 <String[0]: >,cb=0x2153aeb48f9 <JSBoundFunction (BoundTargetFunction 0x4e0b8c37cd9)>)
    2: _writev [net.js:782] [bytecode=0x9f721fe6e41 offset=23](this=0x2153aeb3f19 <TLSSocket map = 0x2b...
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
 1: node::Abort() [npm]
 2: 0x8cd14c [npm]
 3: v8::Utils::ReportOOMFailure(char const*, bool) [npm]
 4: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [npm]
 5: v8::internal::Factory::NewRawTwoByteString(int, v8::internal::PretenureFlag) [npm]
 6: v8::internal::String::SlowFlatten(v8::internal::Handle<v8::internal::ConsString>, v8::internal::PretenureFlag) [npm]
 7: v8::internal::String::Flatten(v8::internal::Handle<v8::internal::String>, v8::internal::PretenureFlag) [npm]
 8: v8::String::WriteUtf8(char*, int, int*, int) const [npm]
 9: node::StringBytes::Write(v8::Isolate*, char*, unsigned long, v8::Local<v8::Value>, node::encoding, int*) [npm]
10: node::StreamBase::Writev(v8::FunctionCallbackInfo<v8::Value> const&) [npm]
11: void node::StreamBase::JSMethod<node::TLSWrap, &node::StreamBase::Writev>(v8::FunctionCallbackInfo<v8::Value> const&) [npm]
12: v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo<v8::Value> const&)) [npm]
13: 0xb0f37c [npm]
14: v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*) [npm]
15: 0x27ca1a9842fd

^^ YIKES, it totally crashed!

Our Travis builds should not appear to complete successfully and deploy, when they really crashed.

(Note that rerunning this build worked fine: https://travis-ci.org/LLK/scratch-gui/builds/539330732 )

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions