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

Using v0.1.17 caused a heroku build to hang indefinitely. #76

Closed
craigmcnamara opened this issue Jul 25, 2019 · 6 comments
Closed

Using v0.1.17 caused a heroku build to hang indefinitely. #76

craigmcnamara opened this issue Jul 25, 2019 · 6 comments

Comments

@craigmcnamara
Copy link

Bug report

I was working on a mobile web app in Rails and I found this package, which I think is fantastic by the way. I built my features on v0.1.17 and everything was fine in Dev and CI, but when deploying to Heroku the build hung then timed out. Normally I wouldn't bring this to your attention, but downgrading this package, the one from NPM btw, to v0.1.16 fixed my build.

Let me know if you need more details, I can readily reproduce the problem.

Current behavior:

Building with Rails/webpacker/webpack on heroku hangs indefinitely on v0.1.17 from NPM but not v0.1.16.

Expected behavior:

Not hanging the webpack build

JSFiddle URL for demo with bug:

N/A

Browsers affected:

N/A

@pateketrueke
Copy link
Collaborator

Thanks for your feedback, can you provide the logs from heroku during deployment? I think that would help us to understand this kind of issue. 🤔

@craigmcnamara
Copy link
Author

-----> Ruby app detected
-----> Compiling Ruby/Rails
-----> Using Ruby version: ruby-2.6.0
-----> Installing dependencies using bundler 1.15.2
       Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
       Using rake 12.3.2
       Using concurrent-ruby 1.1.5
       Using i18n 1.6.0
       Using minitest 5.11.3
       Using thread_safe 0.3.6
       Using tzinfo 1.2.5
       Using activesupport 5.2.2.1
       Using builder 3.2.3
       Using erubi 1.8.0
       Using mini_portile2 2.4.0
       Using nokogiri 1.10.3
       Using rails-dom-testing 2.0.3
       Using crass 1.0.4
       Using loofah 2.2.3
       Using rails-html-sanitizer 1.0.4
       Using actionview 5.2.2.1
       Using rack 2.0.7
       Using rack-test 1.1.0
       Using actionpack 5.2.2.1
       Using nio4r 2.3.1
       Using websocket-extensions 0.1.4
       Using websocket-driver 0.7.1
       Using actioncable 5.2.2.1
       Using globalid 0.4.2
       Using activejob 5.2.2.1
       Using mini_mime 1.0.1
       Using mail 2.7.1
       Using actionmailer 5.2.2.1
       Using arbre 1.1.1
       Using coffee-script-source 1.12.2
       Using execjs 2.7.0
       Using coffee-script 2.4.1
       Using method_source 0.9.2
       Using thor 0.20.3
       Using railties 5.2.2.1
       Using coffee-rails 4.2.2
       Using formtastic 3.1.5
       Using formtastic_i18n 0.6.0
       Using has_scope 0.7.2
       Using responders 2.4.0
       Using inherited_resources 1.9.0
       Using jquery-rails 4.3.3
       Using kaminari-core 1.1.1
       Using kaminari-actionview 1.1.1
       Using activemodel 5.2.2.1
       Using arel 9.0.0
       Using activerecord 5.2.2.1
       Using kaminari-activerecord 1.1.1
       Using kaminari 1.1.1
       Using ransack 2.1.1
       Using rb-fsevent 0.10.3
       Using ffi 1.9.25
       Using rb-inotify 0.9.10
       Using sass-listen 4.0.0
       Using sass 3.7.3
       Using sprockets 3.7.2
       Using activeadmin 1.4.3
       Using mimemagic 0.3.3
       Using marcel 0.3.3
       Using activestorage 5.2.2.1
       Using bundler 1.17.2
       Using sprockets-rails 3.2.1
       Using rails 5.2.2.1
       Using xdan-datetimepicker-rails 2.5.4
       Using active_admin_datetimepicker 0.6.3
       Using case_transform 0.2
       Using jsonapi-renderer 0.2.2
       Using active_model_serializers 0.10.9
       Using active_storage_validations 0.7.1
       Using selectize-rails 0.12.6
       Using activeadmin-ajax_filter 0.4.2
       Using ice_nine 0.11.2
       Using memoizable 0.4.2
       Using adamantium 0.2.0
       Using public_suffix 3.0.3
       Using addressable 2.6.0
       Using graphql 1.9.6
       Using apollo_upload_server 2.0.0.beta.3
       Using aws-eventstream 1.0.3
       Using aws-partitions 1.183.0
       Using aws-sigv4 1.1.0
       Using jmespath 1.4.0
       Using aws-sdk-core 3.58.0
       Using aws-sdk-kms 1.23.0
       Using aws-sdk-s3 1.44.0
       Using babel-source 5.8.35
       Using babel-transpiler 0.7.0
       Using bcrypt 3.1.12
       Using msgpack 1.3.0
       Using bootsnap 1.4.4
       Using bootstrap4-kaminari-views 1.0.1
       Using equalizer 0.0.11
       Using concord 0.1.5
       Using connection_pool 2.2.2
       Using safe_yaml 1.0.5
       Using crack 0.4.3
       Using orm_adapter 0.5.0
       Using warden 1.2.8
       Using devise 4.5.0
       Using devise-token_authenticatable 1.0.2
       Using erubis 2.7.0
       Using et-orbi 1.1.7
       Using excon 0.64.0
       Using factory_bot 4.11.1
       Using factory_bot_rails 4.11.1
       Using faker 1.9.1
       Using multipart-post 2.1.1
       Using faraday 0.15.4
       Using friendly_id 5.2.5
       Using raabro 1.1.6
       Using fugit 1.1.8
       Using geocoder 1.5.1
       Using graphql-errors 0.3.0
       Using graphql-pro 1.10.5
       Using temple 0.8.0
       Using tilt 2.0.9
       Using haml 5.0.4
       Using sexp_processor 4.11.0
       Using ruby_parser 3.12.0
       Using html2haml 2.2.0
       Using haml-rails 1.0.0
       Using hashdiff 0.3.9
       Using hashie 3.6.0
       Using honeybadger 4.2.1
       Using multi_json 1.13.1
       Using jbuilder 2.8.0
       Using jwt 2.1.0
       Using mainstreet 0.2.0
       Using mini_magick 4.9.3
       Using mjml-rails 4.3.0
       Using multi_xml 0.6.0
       Using net-http-persistent 3.0.1
       Using oauth2 1.4.1
       Using omniauth 1.9.0
       Using omniauth-oauth2 1.6.0
       Using omniauth-facebook 5.0.0
       Using omniauth-google-oauth2 0.6.0
       Using pg 1.1.3
       Using phonelib 0.6.36
       Using procto 0.0.3
       Using puma 3.12.0
       Using pundit 2.0.0
       Using rack-protection 2.0.5
       Using rack-proxy 0.6.5
       Using react-rails 2.4.7
       Using redis 4.1.0
       Using request_store 1.4.1
       Using rrule 0.4.2
       Using rufus-scheduler 3.5.2
       Using sidekiq 5.2.5
       Using sidekiq-scheduler 3.0.0
       Using sidekiq-unique-jobs 6.0.13
       Using simple_form 4.1.0
       Using stripe 4.21.2
       Using twilio-ruby 5.22.2
       Using uglifier 4.1.20
       Using webmock 3.5.1
       Using webpacker 4.0.7
       Using wisper 2.0.0
       Bundle complete! 78 Gemfile dependencies, 159 gems now installed.
       Gems in the groups development and test were not installed.
       Bundled gems are installed into `./vendor/bundle`
       Removing bundler (1.15.2)
       Bundle completed (0.66s)
       Cleaning up the bundler cache.
-----> Installing node-v10.15.3-linux-x64
-----> Installing yarn-v1.16.0
-----> Detecting rake tasks
-----> Preparing app for Rails asset pipeline
       Running: rake assets:precompile
       vendor/bundle/bin/rake: No such file or directory - npm
       Couldn't find the MJML 4. binary.. have you run $ npm install mjml?
       I, [2019-07-25T03:00:49.376520 #286]  INFO -- : ** [Honeybadger] Initializing Honeybadger Error Tracker for Ruby. Ship it! version=4.2.1 framework=rails level=1 pid=286
       yarn install v1.16.0
       [1/4] Resolving packages...
       [2/4] Fetching packages...
       info fsevents@1.2.7: The platform "linux" is incompatible with this module.
       info "fsevents@1.2.7" is an optional dependency and failed compatibility check. Excluding it from installation.
       [3/4] Linking dependencies...
       warning " > @babel/preset-react@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
       warning "@babel/preset-react > @babel/plugin-transform-react-display-name@7.2.0" has unmet peer dependency "@babel/core@^7.0.0-0".
       warning "@babel/preset-react > @babel/plugin-transform-react-jsx@7.3.0" has unmet peer dependency "@babel/core@^7.0.0-0".
       warning "@babel/preset-react > @babel/plugin-transform-react-jsx-self@7.2.0" has unmet peer dependency "@babel/core@^7.0.0-0".
       warning "@babel/preset-react > @babel/plugin-transform-react-jsx-source@7.2.0" has unmet peer dependency "@babel/core@^7.0.0-0".
       warning "@babel/preset-react > @babel/plugin-transform-react-jsx > @babel/plugin-syntax-jsx@7.2.0" has unmet peer dependency "@babel/core@^7.0.0-0".
       warning " > webpack-cli@3.3.5" has unmet peer dependency "webpack@4.x.x".
       warning " > expose-loader@0.7.5" has unmet peer dependency "webpack@^2.0.0 || ^3.0.0 || ^4.0.0".
       warning " > webpack-dev-server@3.7.2" has unmet peer dependency "webpack@^4.0.0".
       warning "webpack-dev-server > webpack-dev-middleware@3.7.0" has unmet peer dependency "webpack@^4.0.0".
       [4/4] Building fresh packages...
       Done in 38.60s.
       Compiling…
-----> Timed out running buildpack Ruby
 !
 !     SIGTERM
 !
 !     Push failed

@pateketrueke
Copy link
Collaborator

Interesting, actually it seems that your build just took too much, so I don't think the problem is from including this library.

How different is the log when it succeeds?

@faelsoto
Copy link
Member

As a side note, we're actually hosting our production app on Heroku and using the v0.1.17 library without issues.

@craigmcnamara
Copy link
Author

Here's a successful build, the only difference is the successful build uses v0.1.16 vs v0.1.17. When I have some free time I'll try to dig deeper, but right now I'm busy trying to ship a project. It seemed like maybe a package Issue so i wanted to bring it to your attention and see if you've seen reports before.

Thanks for maintaining pulltorefresh.js

-----> Ruby app detected
-----> Compiling Ruby/Rails
-----> Using Ruby version: ruby-2.6.0
-----> Installing dependencies using bundler 1.15.2
       Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
       Using rake 12.3.2
       Using concurrent-ruby 1.1.5
       Using i18n 1.6.0
       Using minitest 5.11.3
       Using thread_safe 0.3.6
       Using tzinfo 1.2.5
       Using activesupport 5.2.2.1
       Using builder 3.2.3
       Using erubi 1.8.0
       Using mini_portile2 2.4.0
       Using nokogiri 1.10.3
       Using rails-dom-testing 2.0.3
       Using crass 1.0.4
       Using loofah 2.2.3
       Using rails-html-sanitizer 1.0.4
       Using actionview 5.2.2.1
       Using rack 2.0.7
       Using rack-test 1.1.0
       Using actionpack 5.2.2.1
       Using nio4r 2.3.1
       Using websocket-extensions 0.1.4
       Using websocket-driver 0.7.1
       Using actioncable 5.2.2.1
       Using globalid 0.4.2
       Using activejob 5.2.2.1
       Using mini_mime 1.0.1
       Using mail 2.7.1
       Using actionmailer 5.2.2.1
       Using arbre 1.1.1
       Using coffee-script-source 1.12.2
       Using execjs 2.7.0
       Using coffee-script 2.4.1
       Using method_source 0.9.2
       Using thor 0.20.3
       Using railties 5.2.2.1
       Using coffee-rails 4.2.2
       Using formtastic 3.1.5
       Using formtastic_i18n 0.6.0
       Using has_scope 0.7.2
       Using responders 2.4.0
       Using inherited_resources 1.9.0
       Using jquery-rails 4.3.3
       Using kaminari-core 1.1.1
       Using kaminari-actionview 1.1.1
       Using activemodel 5.2.2.1
       Using arel 9.0.0
       Using activerecord 5.2.2.1
       Using kaminari-activerecord 1.1.1
       Using kaminari 1.1.1
       Using ransack 2.1.1
       Using rb-fsevent 0.10.3
       Using ffi 1.9.25
       Using rb-inotify 0.9.10
       Using sass-listen 4.0.0
       Using sass 3.7.3
       Using sprockets 3.7.2
       Using activeadmin 1.4.3
       Using mimemagic 0.3.3
       Using marcel 0.3.3
       Using activestorage 5.2.2.1
       Using bundler 1.17.2
       Using sprockets-rails 3.2.1
       Using rails 5.2.2.1
       Using xdan-datetimepicker-rails 2.5.4
       Using active_admin_datetimepicker 0.6.3
       Using case_transform 0.2
       Using jsonapi-renderer 0.2.2
       Using active_model_serializers 0.10.9
       Using active_storage_validations 0.7.1
       Using selectize-rails 0.12.6
       Using activeadmin-ajax_filter 0.4.2
       Using ice_nine 0.11.2
       Using memoizable 0.4.2
       Using adamantium 0.2.0
       Using public_suffix 3.0.3
       Using addressable 2.6.0
       Using graphql 1.9.6
       Using apollo_upload_server 2.0.0.beta.3
       Using aws-eventstream 1.0.3
       Using aws-partitions 1.183.0
       Using aws-sigv4 1.1.0
       Using jmespath 1.4.0
       Using aws-sdk-core 3.58.0
       Using aws-sdk-kms 1.23.0
       Using aws-sdk-s3 1.44.0
       Using babel-source 5.8.35
       Using babel-transpiler 0.7.0
       Using bcrypt 3.1.12
       Using msgpack 1.3.0
       Using bootsnap 1.4.4
       Using bootstrap4-kaminari-views 1.0.1
       Using equalizer 0.0.11
       Using concord 0.1.5
       Using connection_pool 2.2.2
       Using safe_yaml 1.0.5
       Using crack 0.4.3
       Using orm_adapter 0.5.0
       Using warden 1.2.8
       Using devise 4.5.0
       Using devise-token_authenticatable 1.0.2
       Using erubis 2.7.0
       Using et-orbi 1.1.7
       Using excon 0.64.0
       Using factory_bot 4.11.1
       Using factory_bot_rails 4.11.1
       Using faker 1.9.1
       Using multipart-post 2.1.1
       Using faraday 0.15.4
       Using friendly_id 5.2.5
       Using raabro 1.1.6
       Using fugit 1.1.8
       Using geocoder 1.5.1
       Using graphql-errors 0.3.0
       Using graphql-pro 1.10.5
       Using temple 0.8.0
       Using tilt 2.0.9
       Using haml 5.0.4
       Using sexp_processor 4.11.0
       Using ruby_parser 3.12.0
       Using html2haml 2.2.0
       Using haml-rails 1.0.0
       Using hashdiff 0.3.9
       Using hashie 3.6.0
       Using honeybadger 4.2.1
       Using multi_json 1.13.1
       Using jbuilder 2.8.0
       Using jwt 2.1.0
       Using mainstreet 0.2.0
       Using mini_magick 4.9.3
       Using mjml-rails 4.3.0
       Using multi_xml 0.6.0
       Using net-http-persistent 3.0.1
       Using oauth2 1.4.1
       Using omniauth 1.9.0
       Using omniauth-oauth2 1.6.0
       Using omniauth-facebook 5.0.0
       Using omniauth-google-oauth2 0.6.0
       Using pg 1.1.3
       Using phonelib 0.6.36
       Using procto 0.0.3
       Using puma 3.12.0
       Using pundit 2.0.0
       Using rack-protection 2.0.5
       Using rack-proxy 0.6.5
       Using react-rails 2.4.7
       Using redis 4.1.0
       Using request_store 1.4.1
       Using rrule 0.4.2
       Using rufus-scheduler 3.5.2
       Using sidekiq 5.2.5
       Using sidekiq-scheduler 3.0.0
       Using sidekiq-unique-jobs 6.0.13
       Using simple_form 4.1.0
       Using stripe 4.21.2
       Using twilio-ruby 5.22.2
       Using uglifier 4.1.20
       Using webmock 3.5.1
       Using webpacker 4.0.7
       Using wisper 2.0.0
       Bundle complete! 78 Gemfile dependencies, 159 gems now installed.
       Gems in the groups development and test were not installed.
       Bundled gems are installed into `./vendor/bundle`
       Removing bundler (1.15.2)
       Bundle completed (0.72s)
       Cleaning up the bundler cache.
-----> Installing node-v10.15.3-linux-x64
-----> Installing yarn-v1.16.0
-----> Detecting rake tasks
-----> Preparing app for Rails asset pipeline
       Running: rake assets:precompile
       vendor/bundle/bin/rake: No such file or directory - npm
       Couldn't find the MJML 4. binary.. have you run $ npm install mjml?
       I, [2019-07-26T18:48:37.868354 #289]  INFO -- : ** [Honeybadger] Initializing Honeybadger Error Tracker for Ruby. Ship it! version=4.2.1 framework=rails level=1 pid=289
       yarn install v1.16.0
       [1/4] Resolving packages...
       [2/4] Fetching packages...
       info fsevents@1.2.7: The platform "linux" is incompatible with this module.
       info "fsevents@1.2.7" is an optional dependency and failed compatibility check. Excluding it from installation.
       [3/4] Linking dependencies...
       warning " > @babel/preset-react@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
       warning "@babel/preset-react > @babel/plugin-transform-react-display-name@7.2.0" has unmet peer dependency "@babel/core@^7.0.0-0".
       warning "@babel/preset-react > @babel/plugin-transform-react-jsx@7.3.0" has unmet peer dependency "@babel/core@^7.0.0-0".
       warning "@babel/preset-react > @babel/plugin-transform-react-jsx-self@7.2.0" has unmet peer dependency "@babel/core@^7.0.0-0".
       warning "@babel/preset-react > @babel/plugin-transform-react-jsx-source@7.2.0" has unmet peer dependency "@babel/core@^7.0.0-0".
       warning "@babel/preset-react > @babel/plugin-transform-react-jsx > @babel/plugin-syntax-jsx@7.2.0" has unmet peer dependency "@babel/core@^7.0.0-0".
       warning " > webpack-cli@3.3.5" has unmet peer dependency "webpack@4.x.x".
       warning " > expose-loader@0.7.5" has unmet peer dependency "webpack@^2.0.0 || ^3.0.0 || ^4.0.0".
       warning " > webpack-dev-server@3.7.2" has unmet peer dependency "webpack@^4.0.0".
       warning "webpack-dev-server > webpack-dev-middleware@3.7.0" has unmet peer dependency "webpack@^4.0.0".
       [4/4] Building fresh packages...
       Done in 38.83s.
       Compiling…
       Compiled all packs in /tmp/build_4793b086649cdedbf246df0b88bd3f56/public/packs
       
         `@babel/polyfill` is deprecated. Please, use required parts of `core-js`
         and `regenerator-runtime/runtime` separately
       
         `@babel/polyfill` is deprecated. Please, use required parts of `core-js`
         and `regenerator-runtime/runtime` separately
       
       Asset precompilation completed (99.11s)
       Cleaning assets
       Running: rake assets:clean
       vendor/bundle/bin/rake: No such file or directory - npm
       I, [2019-07-26T18:50:17.853823 #435]  INFO -- : ** [Honeybadger] Initializing Honeybadger Error Tracker for Ruby. Ship it! version=4.2.1 framework=rails level=1 pid=435
-----> Detecting rails configuration
###### WARNING:
       You are deploying to a non-production environment: "staging".
       This is not recommended.
       See https://devcenter.heroku.com/articles/deploying-to-a-custom-rails-environment for more information.
###### WARNING:
       We detected that some binary dependencies required to
       use all the preview features of Active Storage are not
       present on this system.
       
       For more information please see:
         https://devcenter.heroku.com/articles/active-storage-on-heroku
       
-----> Discovering process types
       Procfile declares types     -> release, web, worker
       Default types for buildpack -> console, rake
-----> Compressing...
       Done: 129.4M
-----> Launching...
 !     Release command declared: this new release will not be available until the command succeeds.
       Released v220
       https://monami.herokuapp.com/ deployed to Heroku

@pateketrueke
Copy link
Collaborator

pateketrueke commented Jul 26, 2019

Definitely a good issue, I can't figure out why the change of library would have side-effects on building steps.

I'm not heavy ruby/heroku user but afaik it should build locally too, it does?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants