GoogleCloudPlatform / appengine-ruby

Optional integration library for the Ruby runtime for Google App Engine
Apache License 2.0
53 stars 21 forks source link

GAE ruby standard environment w/nokogiri broken after some change from google #31

Closed sam0x17 closed 4 years ago

sam0x17 commented 4 years ago

Reporting here because in the past this has been the only way to indirectly report an issue to the GAE ruby standard environment team in lieu of appropriate tags on stackoverflow.

It looks like the ruby GAE standard team changed something in their runtime 1-2 days ago that has broken any new deploys that use nokogiri (which is 90% of ruby apps).

Deploys that were previously working two days ago will now fail when rails tries to run with:

Bundler::GemNotFound: Could not find nokogiri-1.10.7 in any of the sources

It is impossible to re-produce this error locally for affected projects, and re-installing gems, updating gems, changing ruby versions, etc., seems to have no effect.

I think previously the runtime was including some pre-compiled nokogiri versions, and with this latest change they dropped some of the versions they were previously including, or something. Just a guess.

Would really appreciate it @dazuma if you guys pass this along to the ruby standard environment team.

English stackoverflow issue: here Japanese stackoverflow issue posted by someone else: here

dazuma commented 4 years ago

Sam, I've not been able to reproduce this in our internal staging environment. Would you be willing to help with any or all of the following:

Would you be willing to post those, or email directly to me at dazuma at google dot com?

sam0x17 commented 4 years ago

@dazuma logs have been emailed -- thanks again

sam0x17 commented 4 years ago

Also, here is the app.yaml file (simplified):

service: [redacted]-staging
runtime: ruby25
entrypoint: bundle exec rails server Puma -p $PORT
instance_class: F1
handlers:
  - url: /(.*\..*)
    static_files: public/\1
    upload: public/.*\..*
  - url: /.*
    secure: always
    script: auto
env_variables:
  RAILS_ENV: staging

(that is why in the GAE app logs you see some requests for static files working -- because they are not handled by the rails app directly. All urls with a "." in their path get routed to /public/)

sam0x17 commented 4 years ago

@dazuma to answer your question -- yes it started working after your team rolled back

dazuma commented 4 years ago

Thanks for the update Sam. Thanks to your info, we have been able to reproduce this internally. We'll keep the release rolled back until the problem is resolved. I'm going to close this issue (since it's not really related to this repo) and I'll report further updates on stack overflow.