dokku: Dokku deploys errors with gzip: stdin: invalid compressed data--format violated
Description of problem: On a freshly installed Dokku 0.7.1 installation app deployment of a Ruby on Rails app fails with the following error:
-----> Cleaning up...
-----> Building testapp from herokuish...
-----> Setting config vars
CURL_CONNECT_TIMEOUT: 5
-----> Setting config vars
CURL_TIMEOUT: 30
-----> Adding BUILD_ENV to build environment...
-----> Ruby app detected
-----> Compiling Ruby/Rails
!
! An error occurred while installing Ruby ruby-2.3.0
! For supported Ruby versions see https://devcenter.heroku.com/articles/ruby-support#supported-runtimes
! Note: Only the most recent version of Ruby 2.1 is supported on Cedar-14
! Command: 'set -o pipefail; curl -L --fail --retry 3 --retry-delay 1 --connect-timeout 5 --max-time 30 https://s3-external-1.amazonaws.com/heroku-buildpack-ruby/cedar-14/ruby-2.3.0.tgz -s -o - | tar zxf - ' failed unexpectedly:
!
! gzip: stdin: invalid compressed data--format violated
! tar: Unexpected EOF in archive
! tar: Unexpected EOF in archive
! tar: Error is not recoverable: exiting now
Output of the following commands
uname -a
: Linux ic-jeroen-test-app 4.4.0-36-generic #55-Ubuntu SMP Thu Aug 11 18:01:55 UTC 2016 x86_64 x86_64 x86_64 GNU/Linuxfree -m
: Mem: 992 107 132 12 752 672docker version
: Client: Version: 1.12.1 API version: 1.24 Go version: go1.6.3 Git commit: 23cf638 Built: Thu Aug 18 05:33:38 2016 OS/Arch: linux/amd64
Server: Version: 1.12.1 API version: 1.24 Go version: go1.6.3 Git commit: 23cf638 Built: Thu Aug 18 05:33:38 2016 OS/Arch: linux/amd64
docker -D info
: Containers: 6 Running: 2 Paused: 0 Stopped: 4 Images: 13 Server Version: 1.12.1 Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: extfs Dirs: 51 Dirperm1 Supported: true Logging Driver: json-file Cgroup Driver: cgroupfs Plugins: Volume: local Network: bridge overlay null host Swarm: inactive Runtimes: runc Default Runtime: runc Security Options: apparmor seccomp Kernel Version: 4.4.0-36-generic Operating System: Ubuntu 16.04.1 LTS OSType: linux Architecture: x86_64sigil -v
: 0.4.0docker run -ti gliderlabs/herokuish:latest herokuish version
: herokuish: 0.3.18 buildpacks: heroku-buildpack-multi v1.0.0 heroku-buildpack-ruby v146 heroku-buildpack-nodejs v91 heroku-buildpack-clojure v75 heroku-buildpack-python v81 heroku-buildpack-java v44 heroku-buildpack-gradle v17 heroku-buildpack-grails v21 heroku-buildpack-scala v72 heroku-buildpack-play v26 heroku-buildpack-php v109 heroku-buildpack-go v44 heroku-buildpack-erlang fa17af9 buildpack-nginx v5 emberjs.tgz latestdokku version
: 0.7.1dokku plugin
: 00_dokku-standard 0.7.1 enabled dokku core standard plugin 20_events 0.7.1 enabled dokku core events logging plugin apps 0.7.1 enabled dokku core apps plugin build-env 0.7.1 enabled dokku core build-env plugin certs 0.7.1 enabled dokku core certificate management plugin checks 0.7.1 enabled dokku core checks plugin common 0.7.1 enabled dokku core common plugin config 0.7.1 enabled dokku core config plugin docker-options 0.7.1 enabled dokku core docker-options plugin domains 0.7.1 enabled dokku core domains plugin enter 0.7.1 enabled dokku core enter plugin git 0.7.1 enabled dokku core git plugin logs 0.7.1 enabled dokku core logs plugin named-containers 0.7.1 enabled dokku core named containers plugin nginx-vhosts 0.7.1 enabled dokku core nginx-vhosts plugin plugin 0.7.1 enabled dokku core plugin plugin postgres 1.0.0 enabled dokku postgres service plugin proxy 0.7.1 enabled dokku core proxy plugin ps 0.7.1 enabled dokku core ps plugin redis 1.0.0 enabled dokku redis service plugin repo 0.7.1 enabled dokku core repo plugin shell 0.7.1 enabled dokku core shell plugin ssh-keys 0.7.1 enabled dokku core ssh-keys plugin storage 0.7.1 enabled dokku core storage plugin tags 0.7.1 enabled dokku core tags plugin tar 0.7.1 enabled dokku core tar plugin- If a deploy is failing or behaving unexpectedly:
- Application name: testapp
- The type of application being deployed (node, php, python, ruby, etc.) Ruby (on Rails)
- If it exists, the contents of your
Procfile
.
web: bundle exec puma -C config/puma.rb
Environment details (AWS, VirtualBox, physical, etc.): Digitalocean How was Dokku installed?: Using bootstrap.sh (The one in the readme) How reproducible: Install Dokku on a server with postgres plugin, and deploy: https://github.com/jvanbaarsen/rails-example This might succeed once, but add an extra commit, and try again. It will probably fail. But can also fail the first time.
Actual Results:
-----> Cleaning up...
-----> Building testapp from herokuish...
-----> Setting config vars
CURL_CONNECT_TIMEOUT: 5
-----> Setting config vars
CURL_TIMEOUT: 30
-----> Adding BUILD_ENV to build environment...
-----> Ruby app detected
-----> Compiling Ruby/Rails
!
! An error occurred while installing Ruby ruby-2.3.0
! For supported Ruby versions see https://devcenter.heroku.com/articles/ruby-support#supported-runtimes
! Note: Only the most recent version of Ruby 2.1 is supported on Cedar-14
! Command: 'set -o pipefail; curl -L --fail --retry 3 --retry-delay 1 --connect-timeout 5 --max-time 30 https://s3-external-1.amazonaws.com/heroku-buildpack-ruby/cedar-14/ruby-2.3.0.tgz -s -o - | tar zxf - ' failed unexpectedly:
!
! gzip: stdin: invalid compressed data--format violated
! tar: Unexpected EOF in archive
! tar: Unexpected EOF in archive
! tar: Error is not recoverable: exiting now
Expected Results: That my app was deployed
Additional info: I have the feeling that Dokku tries to recompile ruby on every deploy. Has this behaviour changed? Since I feel it did not do this before.
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Reactions: 3
- Comments: 38 (35 by maintainers)
Unfortunately we’ve had a long history of issues with this buildpack. It is up to date in herokuish 0.3.18. So that’s not the issue this time around. You might try raising the values for
CURL_CONNECT_TIMEOUT
and/orCURL_TIMEOUT
(i.e.dokku config:set --global...
) to see if that helps. Otherwise you’ll need to jump into a container and try curling the tgz file to see what error curl is giving.Something like this: