CodementorIO / rest-firebase

Ruby Firebase REST API client built on top of rest-core
Apache License 2.0
107 stars 22 forks source link

Segmentation Faults in Ruby 2.4 #22

Open plicjo opened 6 years ago

plicjo commented 6 years ago

This gem fails on CI due to segmentation faults arising from the Ruby compiler.

You can see the problem in this 2.4 Travis build for the gem. https://travis-ci.org/CodementorIO/rest-firebase/jobs/296898566

godfat commented 6 years ago

Yeah, any idea how to solve this? This has been troubling me for a very long time, and I can't reproduce this locally at all. It seems it would only happen on Travis, on Ruby 2.4, and nothing else.

plicjo commented 6 years ago

I've got it failing in the same way on Codeship (another CI tool), so it's not purely a Travis problem.

godfat commented 6 years ago

Was it also using pre-built binary from RVM?

$ rvm use 2.4 --install --binary --fuzzy

plicjo commented 6 years ago

The commands that I'm using on Codeship are:

rvm use 2.4.3 --install
gem install bundler
bundle install
export RAILS_ENV=test
DISABLE_SPRING=true bundle exec rake parallel:load_schema
DISABLE_SPRING=true parallel_rspec spec
plicjo commented 6 years ago

According to the Codeship docs, the Ruby versions are pre-installed. https://documentation.codeship.com/basic/languages-frameworks/ruby/#rvm

That might be a clue.

godfat commented 6 years ago

Thanks!

I really don't have any evidence at all, and I personally don't use rvm either. But I strongly suspect that RVM might have a broken pre-built Ruby 2.4, as it randomly happened for a long time, and I could never reproduce it locally.

Worst case, we'll never know, until we stop caring about 2.4.

Or if we could see it somewhere reproduced other than using RVM binary, that would be nice, and I could try to debug it.