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
Heroku CI: undefined symbol: rb_data_typed_object_zalloc #551
Comments
Note that users can work around this by specifying the test script in {
"scripts": {
"test": "bundle exec rspec"
}
} |
Thanks we can also replicate the error on a regular deploy if two ruby buildpacks are specified # Gemfile
source "https://rubygems.org"
ruby "2.3.3"
gem "json", "1.8.6"
It seems something in v155 is causing issues, but we're not entirely sure what. |
I've got a fix in #552 the failure mode is really...interesting. |
While #553 fixes the double rainbow issue on normal builds, it persists for CI runs. Do we also need to |
10-4. I'm going to move all the bash code that sets up ruby into it's own file. Actually think we can re-organize a few things to make it a bit easier to maintain. |
Correction: the
|
Ah yeah, the source of that error is here. If the GEM_PATH is unset, |
Fixed by #555. Thanks! |
Some users will see this when Heroku CI is running their tests:
After a bunch of digging, it looks like these are the conditions needed to reproduce:
json
in it's Gemfileapp.json
does not include ascripts.test
entryI've created a sample app that meets those conditions. You can find it at https://github.com/joshwlewis/heroku-ci-json-example. I've also setup a pipeline that showcases the failing test here.
I've traced down the error to this line.
My working theory:
test-setup
the buildpack runsrequire "json"
, this does not error, because it uses the defaultjson
library packaged with the stack Ruby.test-setup
installsjson
(with native extensions) with the user-specified ruby version.test
(running against the stack Ruby) attempts torequire "json"
, but instead of grabbing the Ruby vendored version, it tries to load the bundled one (which was compiled against the user's specified Ruby version).The text was updated successfully, but these errors were encountered: