Renovate: Bundler: incompatible marshal file format

Created on 1 Mar 2019  Â·  12Comments  Â·  Source: renovatebot/renovate

One repo in the app is failing with this error:

While executing gem ... (TypeError)
    incompatible marshal file format (can't be read)
    format version 4.8 required; 60.33 given
help wanted priority-3-normal bug

Most helpful comment

Found that & worked for me !
from https://github.com/rubygems/rubygems/issues/1589

It seems bundler can't find sources for your gem.
It's probably because the remote sources are outdated. You can check your remote sources with gem env. I think the last of these old sources has now become unavailable:

gem sources -r http://gems.rubyforge.org/
gem sources -r http://gems.github.com
gem sources -a https://rubygems.org/
When updated, gem sources -lshould return:

* CURRENT SOURCES *

https://rubygems.org/
Credits go to https://qiita.com/hidehiro98/items/bb6ed9bc109021034af0

All 12 comments

@sleekybadger @bjeanes do you have any idea why this might be happening?

Searching this term gets lots of hits dating back until 2011. Solutions include removing ~/.gemrc which is not applicable here.

I'm wondering if there's a project .gemrc that we're not reading. But then in this comment it indicates that Bundler doesn't read it: https://github.com/bundler/bundler/issues/6633#issuecomment-406713977

Hmm... That's an odd one. Nothing comes to mind though 😔

Can you share the Gemfile.lock? To me it seems to imply that file is either corrupt or that some other artefact is.

For e.g., maybe they accidentally committed a merge conflict?

Found that & worked for me !
from https://github.com/rubygems/rubygems/issues/1589

It seems bundler can't find sources for your gem.
It's probably because the remote sources are outdated. You can check your remote sources with gem env. I think the last of these old sources has now become unavailable:

gem sources -r http://gems.rubyforge.org/
gem sources -r http://gems.github.com
gem sources -a https://rubygems.org/
When updated, gem sources -lshould return:

* CURRENT SOURCES *

https://rubygems.org/
Credits go to https://qiita.com/hidehiro98/items/bb6ed9bc109021034af0

Thanks, I think you're right that the repo must have some corruption or outdated source. I may add debugging to Renovate's code to try to verify that.

@bjeanes now found in covidence's main repo! I suspect it may not be because of any of the above ideas, but hopefully we can now at least debug it. The app uses binarySource=docker and so the relevant snippet is:

Status: Downloaded newer image for renovate/ruby:latest
ERROR:  While executing gem ... (TypeError)
    incompatible marshal file format (can't be read)
    format version 4.8 required; 60.33 given

@bjeanes were you able to notice the same problem in your repo?

Renovate has never successfully opened a Ruby PR against our app since the
first week or so, so i hadn't been pushing any attention, to be honest.

On Sat., 9 Mar. 2019, 4:26 am Rhys Arkins, notifications@github.com wrote:

@bjeanes https://github.com/bjeanes were you able to notice the same
problem in your repo?

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/renovatebot/renovate/issues/3286#issuecomment-471008908,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAKAAxGFHr2qXAY6VeZaehNfUUJhuccks5vUp1WgaJpZM4bYl6G
.

I finally fixed this. I had some outdated sources in ~/.gemrc in the ruby Docker images.

I had the same error even after adding the https://rubygems.org, then I commented out the old sources and it worked.

:sources:
#- http://gems.rubyforge.org/
#- http://gems.github.com
- https://rubygems.org
Was this page helpful?
0 / 5 - 0 ratings