Giter Site home page Giter Site logo

Comments (15)

schneems avatar schneems commented on August 18, 2024 2

FWIW this is the actual previous fix to derailed (use of module_function). The reason it came up again, is my dependency dead_end is also monkeypatches and had the same interaction with zeitwerk.

88b33a0

from derailed_benchmarks.

benoittgt avatar benoittgt commented on August 18, 2024

Hello @atstockland

Which Ruby and Rails version are you using?
Do you think you share the full stack trace?

Cheers 🌮

from derailed_benchmarks.

atstockland avatar atstockland commented on August 18, 2024

ruby -v 2.6.2
rails -v 6.0.0.beta3

I'll post the full stack trace shortly.

from derailed_benchmarks.

atstockland avatar atstockland commented on August 18, 2024

which curl = /usr/bin/curl
gem 'derailed_benchmarks', group: :development
gem 'stackprof', group: :development

running $ bundle exec derailed bundle:mem results in:

I have not set any headers...

bundler: failed to load command: derailed (/Users/adam_ant/.rbenv/versions/2.6.2/bin/derailed)
NoMethodError: private method warn' called for nil:NilClass /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bundler/gems/rails-e9d1d7668604/activesupport/lib/active_support/deprecation/proxy_wrappers.rb:148:in warn'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bundler/gems/rails-e9d1d7668604/activesupport/lib/active_support/deprecation/proxy_wrappers.rb:23:in method_missing' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bundler/gems/rails-e9d1d7668604/activesupport/lib/active_support/deprecation/proxy_wrappers.rb:125:in initialize'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bundler/gems/rails-e9d1d7668604/activesupport/lib/active_support/deprecation/proxy_wrappers.rb:10:in new' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bundler/gems/rails-e9d1d7668604/activesupport/lib/active_support/deprecation/proxy_wrappers.rb:10:in new'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bundler/gems/rails-e9d1d7668604/railties/lib/rails/source_annotation_extractor.rb:8:in <top (required)>' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/lib/derailed_benchmarks/core_ext/kernel_require.rb:63:in require'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/lib/derailed_benchmarks/core_ext/kernel_require.rb:63:in block (2 levels) in <top (required)>' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/lib/derailed_benchmarks/core_ext/kernel_require.rb:49:in measure_memory_impact'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/lib/derailed_benchmarks/core_ext/kernel_require.rb:63:in block in <top (required)>' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/lib/derailed_benchmarks/core_ext/kernel_require.rb:16:in require'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bundler/gems/rails-e9d1d7668604/activesupport/lib/active_support/dependencies.rb:302:in block in require' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bundler/gems/rails-e9d1d7668604/activesupport/lib/active_support/dependencies.rb:268:in load_dependency'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bundler/gems/rails-e9d1d7668604/activesupport/lib/active_support/dependencies.rb:302:in require' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bundler/gems/rails-e9d1d7668604/railties/lib/rails/application/configuration.rb:7:in <top (required)>'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/lib/derailed_benchmarks/core_ext/kernel_require.rb:63:in require' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/lib/derailed_benchmarks/core_ext/kernel_require.rb:63:in block (2 levels) in <top (required)>'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/lib/derailed_benchmarks/core_ext/kernel_require.rb:49:in measure_memory_impact' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/lib/derailed_benchmarks/core_ext/kernel_require.rb:63:in block in <top (required)>'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/lib/derailed_benchmarks/core_ext/kernel_require.rb:16:in require' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bundler/gems/rails-e9d1d7668604/activesupport/lib/active_support/dependencies.rb:302:in block in require'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bundler/gems/rails-e9d1d7668604/activesupport/lib/active_support/dependencies.rb:268:in load_dependency' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bundler/gems/rails-e9d1d7668604/activesupport/lib/active_support/dependencies.rb:302:in require'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/sprockets-rails-3.2.1/lib/sprockets/railtie.rb:18:in <class:Application>' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/sprockets-rails-3.2.1/lib/sprockets/railtie.rb:15:in module:Rails'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/sprockets-rails-3.2.1/lib/sprockets/railtie.rb:14:in <top (required)>' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/lib/derailed_benchmarks/core_ext/kernel_require.rb:63:in require'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/lib/derailed_benchmarks/core_ext/kernel_require.rb:63:in block (2 levels) in <top (required)>' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/lib/derailed_benchmarks/core_ext/kernel_require.rb:49:in measure_memory_impact'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/lib/derailed_benchmarks/core_ext/kernel_require.rb:63:in block in <top (required)>' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/lib/derailed_benchmarks/core_ext/kernel_require.rb:16:in require'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bundler/gems/rails-e9d1d7668604/activesupport/lib/active_support/dependencies.rb:302:in block in require' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bundler/gems/rails-e9d1d7668604/activesupport/lib/active_support/dependencies.rb:268:in load_dependency'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bundler/gems/rails-e9d1d7668604/activesupport/lib/active_support/dependencies.rb:302:in require' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bundler/gems/rails-e9d1d7668604/railties/lib/rails/all.rb:21:in block in <top (required)>'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bundler/gems/rails-e9d1d7668604/railties/lib/rails/all.rb:19:in each' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bundler/gems/rails-e9d1d7668604/railties/lib/rails/all.rb:19:in <top (required)>'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/lib/derailed_benchmarks/core_ext/kernel_require.rb:63:in require' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/lib/derailed_benchmarks/core_ext/kernel_require.rb:63:in block (2 levels) in <top (required)>'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/lib/derailed_benchmarks/core_ext/kernel_require.rb:49:in measure_memory_impact' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/lib/derailed_benchmarks/core_ext/kernel_require.rb:63:in block in <top (required)>'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/lib/derailed_benchmarks/core_ext/kernel_require.rb:16:in require' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/bin/derailed:85:in setup_bundler!'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/bin/derailed:66:in block in <class:DerailedBenchmarkCLI>' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/thor-0.20.3/lib/thor/command.rb:27:in run'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in invoke_command' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/thor-0.20.3/lib/thor.rb:387:in dispatch'
/Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/thor-0.20.3/lib/thor/base.rb:466:in start' /Users/adam_ant/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/derailed_benchmarks-1.3.5/bin/derailed:92:in <top (required)>'
/Users/adam_ant/.rbenv/versions/2.6.2/bin/derailed:23:in load' /Users/adam_ant/.rbenv/versions/2.6.2/bin/derailed:23:in <top (required)>'

from derailed_benchmarks.

benoittgt avatar benoittgt commented on August 18, 2024

This is a breaking change in Rails 6. If I remove these two lines the command works.
https://github.com/rails/rails/blob/6-0-stable/railties/lib/rails/source_annotation_extractor.rb#L7-L8

I keep digging.

from derailed_benchmarks.

benoittgt avatar benoittgt commented on August 18, 2024

Here is a draft patch that could help. #130

from derailed_benchmarks.

nextekcarl avatar nextekcarl commented on August 18, 2024

This error seems to be reoccuring on v2.0.0, but goes away in my Rails 6.0.3.4 app using Ruby 2.6.6. I think something went wrong with the build for 2.0.0 so it might need yanked from rubygems and another version put out? See
for the missing pull request notice https://github.com/schneems/derailed_benchmarks/runs/1703383372

from derailed_benchmarks.

eldad87 avatar eldad87 commented on August 18, 2024

The error is reproduced using:

  • Ruby 2.7.0
  • Rails 6.0.3
  • derailed_benchmarks 2.0.0
  • stackprof 0.2.16

This issue is limited to derailed_benchmarks 2.0.0, an earlier version such as v1.8.1 is working correctly.

from derailed_benchmarks.

schneems avatar schneems commented on August 18, 2024

I'm not sure why the tests pass if the bug still exist.

from derailed_benchmarks.

schneems avatar schneems commented on August 18, 2024

Actually, strike that, it looks like I merged the functionality and then commented it out in the same PR? @benoittgt any ideas?

@eldad87 @nextekcarl could one of you by any chance make an https://www.codetriage.com/example_app that reproduces the issue so that I can debug?

from derailed_benchmarks.

woodhull avatar woodhull commented on August 18, 2024

Confirmed this is also happening for me. I've tested on 2.6.6 and 2.7.7 on a rails 6.0.3.4 app.

from derailed_benchmarks.

woodhull avatar woodhull commented on August 18, 2024

Downgrading to 1.8.1 resolved the issue.

from derailed_benchmarks.

schneems avatar schneems commented on August 18, 2024

I'm able to see this with an example app: https://github.com/schneems/derailed_warn_repro_app

    6  rails _6.0.3.4_ new repro_app
    7  cd repro_app
    8  echo "gem 'derailed_benchmarks'" >> Gemfile
    9  bundle install
   10  git init .; git add .; git commit -mfirst
   11  bundle exec derailed bundle:mem

Produces:

$  bundle exec derailed bundle:mem
# ...

/Users/rschneeman/.gem/ruby/2.6.6/gems/activesupport-6.0.3.4/lib/active_support/deprecation/proxy_wrappers.rb:172:in `method_missing'
  /Users/rschneeman/.gem/ruby/2.6.6/gems/derailed_benchmarks-2.0.0/lib/derailed_benchmarks/core_ext/kernel_require.rb:30:in `block in require'
  /Users/rschneeman/.gem/ruby/2.6.6/gems/derailed_benchmarks-2.0.0/lib/derailed_benchmarks/core_ext/kernel_require.rb:65:in `measure_memory_impact'
  /Users/rschneeman/.gem/ruby/2.6.6/gems/derailed_benchmarks-2.0.0/lib/derailed_benchmarks/core_ext/kernel_require.rb:29:in `require'
  /Users/rschneeman/.gem/ruby/2.6.6/gems/activesupport-6.0.3.4/lib/active_support/dependencies.rb:324:in `block in require'
  /Users/rschneeman/.gem/ruby/2.6.6/gems/activesupport-6.0.3.4/lib/active_support/dependencies.rb:291:in `load_dependency'
  /Users/rschneeman/.gem/ruby/2.6.6/gems/activesupport-6.0.3.4/lib/active_support/dependencies.rb:324:in `require'
  /Users/rschneeman/.gem/ruby/2.6.6/gems/activesupport-6.0.3.4/lib/active_support/deprecation/proxy_wrappers.rb:132:in `initialize'
  /Users/rschneeman/.gem/ruby/2.6.6/gems/activesupport-6.0.3.4/lib/active_support/deprecation/proxy_wrappers.rb:128:in `new'
  /Users/rschneeman/.gem/ruby/2.6.6/gems/activesupport-6.0.3.4/lib/active_support/deprecation/proxy_wrappers.rb:128:in `new'
  /Users/rschneeman/.gem/ruby/2.6.6/gems/railties-6.0.3.4/lib/rails/source_annotation_extractor.rb:162:in `<top (required)>'
  /Users/rschneeman/.gem/ruby/2.6.6/gems/dead_end-1.1.2/lib/dead_end/auto.rb:19:in `require'
  /Users/rschneeman/.gem/ruby/2.6.6/gems/dead_end-1.1.2/lib/dead_end/auto.rb:19:in `require'

from derailed_benchmarks.

schneems avatar schneems commented on August 18, 2024

This is my fault. I have a fix. It should be released today.

from derailed_benchmarks.

schneems avatar schneems commented on August 18, 2024

This should be fixed now:

$ gem install dead_end -v 1.1.3
$ bundle update dead_end

I could rev the dependency on derailed benchmarks to make the dependency ~> 1.1.3 and release a 2.0.1 if you think it's helpful. Otherwise, anyone new to upgrading to derailed 2.0 for existing apps will grab the latest dead_end version. Let me know what you think.

Sorry for this breakage. I should have known about this problem with zeitwerk and monkeypatching require as it's not the first time it's come up. Thank you all for reporting this.

from derailed_benchmarks.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.