gliderlabs / gliderlabs/docker-alpine
Alpine 3.8 causes error in AWS-SDK (cannot load such file -- webrick/httputil)
- Dominant language
- Shell
- Stars
- 5.7k
- Forks
- 530
- PR merge metrics
- No merged PRs in 30d
Description
Backtrace:
```sh
Traceback (most recent call last):
34: from ./bin/init:3:in `'
33: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
32: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
31: from /usr/app/lib/poller.rb:4:in `'
30: from /usr/app/lib/poller.rb:4:in `new'
29: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-resources-2.6.18/lib/aws-sdk-resources/services/sqs/queue_poller.rb:210:in `initialize'
28: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-core-2.6.18/lib/seahorse/client/base.rb:101:in `new'
27: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-core-2.6.18/lib/seahorse/client/base.rb:213:in `build_plugins'
26: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-core-2.6.18/lib/seahorse/client/base.rb:170:in `plugins'
25: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-core-2.6.18/lib/seahorse/client/base.rb:170:in `Array'
24: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-core-2.6.18/lib/seahorse/client/base.rb:170:in `to_a'
23: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-core-2.6.18/lib/seahorse/client/plugin_list.rb:58:in `each'
22: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-core-2.6.18/lib/seahorse/client/plugin_list.rb:72:in `each_plugin'
21: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-core-2.6.18/lib/seahorse/client/plugin_list.rb:72:in `synchronize'
20: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-core-2.6.18/lib/seahorse/client/plugin_list.rb:73:in `block in each_plugin'
19: from /usr/lib/ruby/2.5.0/set.rb:338:in `each'
18: from /usr/lib/ruby/2.5.0/set.rb:338:in `each_key'
17: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-core-2.6.18/lib/seahorse/client/plugin_list.rb:59:in `block in each'
16: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-core-2.6.18/lib/seahorse/client/plugin_list.rb:103:in `plugin'
15: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-core-2.6.18/lib/seahorse/client/plugin_list.rb:133:in `require_plugin'
14: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-core-2.6.18/lib/seahorse/client/plugin_list.rb:133:in `each'
13: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-core-2.6.18/lib/seahorse/client/plugin_list.rb:134:in `block in require_plugin'
12: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-core-2.6.18/lib/seahorse/client/plugin_list.rb:134:in `const_get'
11: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
10: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
9: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-core-2.6.18/lib/aws-sdk-core/plugins/request_signer.rb:1:in `'
8: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-core-2.6.18/lib/aws-sdk-core/plugins/request_signer.rb:2:in `'
7: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-core-2.6.18/lib/aws-sdk-core/plugins/request_signer.rb:26:in `'
6: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-core-2.6.18/lib/aws-sdk-core/plugins/request_signer.rb:61:in `'
5: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-core-2.6.18/lib/aws-sdk-core/plugins/request_signer.rb:67:in `'
4: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
3: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
2: from /usr/lib/ruby/gems/2.5.0/gems/aws-sdk-core-2.6.18/lib/aws-sdk-core/signers/s3.rb:4:in `'
1: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
/usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require': cannot load such file -- webrick/httputils (LoadError)
```
The code that sets the app into this failure is:
```ruby
Aws::SQS::QueuePoller.new(QUEUE_URL)
```
Dockerfile:
```dockerfile
FROM alpine:3.8
ENV BUILD_PACKAGES curl-dev ruby-dev build-base
# Update and install base packages
RUN apk update && apk upgrade && apk add $BUILD_PACKAGES
# Install ruby and ruby-bundler
RUN apk add ruby ruby-io-console ruby-bundler
RUN mkdir /usr/app
WORKDIR /usr/app
COPY Gemfile /usr/app/
COPY Gemfile.lock /usr/app/
RUN bundle install
COPY . /usr/app
# Clean APK cache
RUN rm -rf /var/cache/apk/*
ENTRYPOINT ["./bin/init"]
```
Gemfile:
```ruby
source 'https://rubygems.org'
gem 'aws-sdk', '~> 2'
gem 'json'
```
Specifying `FROM alpine:3.7` fixes the issue.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.