Old Rails app from Docker Container - trying to run natively again . .

107 views
Skip to first unread message

Philip Rhoades

unread,
Mar 14, 2020, 6:52:49 PM3/14/20
to rubyonra...@googlegroups.com
People,

Docker crashed and I lost the Rails container so I have to go back to
the original source.

Could someone suggest how I could fix the problem seen below? - I
deleted the Gemfile.lock file first.

Thanks,

Phil.

$ bundle install --path vendor/bundle
.
.
Bundle complete! 15 Gemfile dependencies, 54 gems now installed.
Bundled gems are installed into `./vendor/bundle`

$ ./bin/rails s
/home/phr/src/ruby/rails/domain-sf/vendor/bundle/ruby/2.6.0/gems/activesupport-4.1.5/lib/active_support/core_ext/object/duplicable.rb:82:
warning: BigDecimal.new is deprecated; use BigDecimal() method instead.
=> Booting Puma
=> Rails 4.1.5 application starting in development on
http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Notice: server is listening on all interfaces (0.0.0.0). Consider
using 127.0.0.1 (--binding option)
=> Ctrl-C to shutdown server
/home/phr/src/ruby/rails/domain-sf/vendor/bundle/ruby/2.6.0/gems/activesupport-4.1.5/lib/active_support/core_ext/numeric/conversions.rb:121:
warning: constant ::Fixnum is deprecated
/home/phr/src/ruby/rails/domain-sf/vendor/bundle/ruby/2.6.0/gems/activesupport-4.1.5/lib/active_support/core_ext/numeric/conversions.rb:121:
warning: constant ::Bignum is deprecated
Exiting
Traceback (most recent call last):
6734: from ./bin/rails:5:in `<main>'
6733: from ./bin/rails:5:in `require'
6732: from
/home/phr/src/ruby/rails/domain-sf/vendor/bundle/ruby/2.6.0/gems/railties-4.1.5/lib/rails/commands.rb:17:in
`<top (required)>'
6731: from
/home/phr/src/ruby/rails/domain-sf/vendor/bundle/ruby/2.6.0/gems/railties-4.1.5/lib/rails/commands/commands_tasks.rb:40:in
`run_command!'
6730: from
/home/phr/src/ruby/rails/domain-sf/vendor/bundle/ruby/2.6.0/gems/railties-4.1.5/lib/rails/commands/commands_tasks.rb:76:in
`server'
6729: from
/home/phr/src/ruby/rails/domain-sf/vendor/bundle/ruby/2.6.0/gems/railties-4.1.5/lib/rails/commands/commands_tasks.rb:76:in
`tap'
6728: from
/home/phr/src/ruby/rails/domain-sf/vendor/bundle/ruby/2.6.0/gems/railties-4.1.5/lib/rails/commands/commands_tasks.rb:81:in
`block in server'
6727: from
/home/phr/src/ruby/rails/domain-sf/vendor/bundle/ruby/2.6.0/gems/railties-4.1.5/lib/rails/commands/server.rb:67:in
`start'
... 6722 levels...
4: from
/home/phr/src/ruby/rails/domain-sf/vendor/bundle/ruby/2.6.0/gems/activesupport-4.1.5/lib/active_support/core_ext/numeric/conversions.rb:131:in
`block (2 levels) in <class:Numeric>'
3: from
/home/phr/src/ruby/rails/domain-sf/vendor/bundle/ruby/2.6.0/gems/activesupport-4.1.5/lib/active_support/core_ext/numeric/conversions.rb:131:in
`block (2 levels) in <class:Numeric>'
2: from
/home/phr/src/ruby/rails/domain-sf/vendor/bundle/ruby/2.6.0/gems/activesupport-4.1.5/lib/active_support/core_ext/numeric/conversions.rb:131:in
`block (2 levels) in <class:Numeric>'
1: from
/home/phr/src/ruby/rails/domain-sf/vendor/bundle/ruby/2.6.0/gems/activesupport-4.1.5/lib/active_support/core_ext/numeric/conversions.rb:131:in
`block (2 levels) in <class:Numeric>'
/home/phr/src/ruby/rails/domain-sf/vendor/bundle/ruby/2.6.0/gems/activesupport-4.1.5/lib/active_support/core_ext/numeric/conversions.rb:131:in
`block (2 levels) in <class:Numeric>': stack level too deep
(SystemStackError)

--
Philip Rhoades

PO Box 896
Cowra NSW 2794
Australia
E-mail: ph...@pricom.com.au

Hassan Schroeder

unread,
Mar 14, 2020, 8:32:17 PM3/14/20
to rubyonrails-talk
On Sat, Mar 14, 2020 at 3:52 PM Philip Rhoades <ph...@pricom.com.au> wrote:

> Docker crashed and I lost the Rails container so I have to go back to
> the original source.

I don't know what "lost the Rails container" means. Can't you just
rerun the Dockerfile?

> Could someone suggest how I could fix the problem seen below? - I
> deleted the Gemfile.lock file first.

Why?

> $ ./bin/rails s
> /home/phr/src/ruby/rails/domain-sf/vendor/bundle/ruby/2.6.0/gems/activesupport-4.1.5/lib/active_support/core_ext/object/duplicable.rb:82:
> warning: BigDecimal.new is deprecated; use BigDecimal() method instead.
> => Booting Puma
> => Rails 4.1.5 application starting in development on

Did you originally develop this Rails 4.1.5 app using Ruby 2.6.0? Or
I guess more exactly have you been running it on that Ruby version
successfully?

--
Hassan Schroeder ------------------------ hassan.s...@gmail.com
twitter: @hassan
Consulting Availability : Silicon Valley or remote

Philip Rhoades

unread,
Mar 14, 2020, 11:18:02 PM3/14/20
to rubyonra...@googlegroups.com, Hassan Schroeder
Hassan,


On 2020-03-15 11:31, Hassan Schroeder wrote:
> On Sat, Mar 14, 2020 at 3:52 PM Philip Rhoades <ph...@pricom.com.au>
> wrote:
>
>> Docker crashed and I lost the Rails container so I have to go back to
>> the original source.
>
> I don't know what "lost the Rails container" means. Can't you just
> rerun the Dockerfile?


No.


>> Could someone suggest how I could fix the problem seen below? - I
>> deleted the Gemfile.lock file first.
>
> Why?


Because leaving the original lock file there caused "bundle install
--path vendor/bundle" to fail with:

Installing json 1.8.3 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/home/phr/src/ruby/rails/domain-sf/vendor/bundle/ruby/2.6.0/gems/json-1.8.3/ext/json/ext/generator
/usr/bin/ruby -I /usr/share/rubygems -r
./siteconf20200315-119213-1sg3qup.rb extconf.rb
creating Makefile

current directory:
/home/phr/src/ruby/rails/domain-sf/vendor/bundle/ruby/2.6.0/gems/json-1.8.3/ext/json/ext/generator
make "DESTDIR=" clean
rm -f
rm -f generator.so *.o *.bak mkmf.log .*.time

current directory:
/home/phr/src/ruby/rails/domain-sf/vendor/bundle/ruby/2.6.0/gems/json-1.8.3/ext/json/ext/generator
make "DESTDIR="
gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I.
-DJSON_GENERATOR -fPIC -O2 -g -pipe -Wall -Werror=format-security
-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions
-fstack-protector-strong
-grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mtune=generic
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
-fPIC -m64 -o generator.o -c
generator.c
generator.c: In function 'generate_json':
generator.c:861:25: error: 'rb_cFixnum' undeclared (first use in this
function); did you mean 'mFixnum'?
861 | } else if (klass == rb_cFixnum) {
| ^~~~~~~~~~
| mFixnum
generator.c:861:25: note: each undeclared identifier is reported only
once for each function it appears in
generator.c:863:25: error: 'rb_cBignum' undeclared (first use in this
function); did you mean 'mBignum'?
863 | } else if (klass == rb_cBignum) {
| ^~~~~~~~~~
| mBignum
make: *** [Makefile:245: generator.o] Error 1

make failed, exit code 2

Gem files will remain installed in
/home/phr/src/ruby/rails/domain-sf/vendor/bundle/ruby/2.6.0/gems/json-1.8.3
for inspection.
Results logged to
/home/phr/src/ruby/rails/domain-sf/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-1.8.3/gem_make.out

An error occurred while installing json (1.8.3), and Bundler cannot
continue.
Make sure that `gem install json -v '1.8.3' --source
'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
rails was resolved to 4.1.5, which depends on
actionmailer was resolved to 4.1.5, which depends on
actionpack was resolved to 4.1.5, which depends on
actionview was resolved to 4.1.5, which depends on
activesupport was resolved to 4.1.5, which depends on
json


>> $ ./bin/rails s
>> /home/phr/src/ruby/rails/domain-sf/vendor/bundle/ruby/2.6.0/gems/activesupport-4.1.5/lib/active_support/core_ext/object/duplicable.rb:82:
>> warning: BigDecimal.new is deprecated; use BigDecimal() method
>> instead.
>> => Booting Puma
>> => Rails 4.1.5 application starting in development on
>
> Did you originally develop this Rails 4.1.5 app using Ruby 2.6.0? Or
> I guess more exactly have you been running it on that Ruby version
> successfully?


I can't remember what version of Ruby it was - it was from earlier than
2015 . . it was running on whatever version of Ruby that was in the
container - which is gone because the whole docker setup was corrupted .
. I may have backups on old hard disks but it would take too long to try
and re-create old OS environment, Docker version etc so I thought the
best thing to do was just the Rails app running directly on my current
machine (Linux Fedora 31).

Thanks,

Phil.

Lahiru Himesh Madusanka

unread,
Mar 15, 2020, 4:50:00 AM3/15/20
to rubyonra...@googlegroups.com, Hassan Schroeder
You may want to check the Rails+Ruby version of your host then. It's possible that you're using a newer version of Ruby and your codebase requires an older version. (Due to the deprecated warning)


--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-ta...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/86d95cffebf21738357c0028368ec698%40lev.com.au.
Reply all
Reply to author
Forward
0 new messages