Skip to content
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

Warnings: methods redefined, circular require #1234

Closed
dentarg opened this issue Jan 25, 2021 · 3 comments
Closed

Warnings: methods redefined, circular require #1234

dentarg opened this issue Jan 25, 2021 · 3 comments
Assignees
Projects

Comments

@dentarg
Copy link
Contributor

dentarg commented Jan 25, 2021

Describe the bug / To Reproduce / Actual behavior

Multiple warnings are emitted when requiring sentry-ruby:

$ ruby -w -rsentry-ruby -e 'p RUBY_VERSION' -e 'p Sentry::VERSION'
/Users/dentarg/.gem/ruby/2.7.1/gems/sentry-ruby-core-4.1.5.pre.beta.1/lib/sentry/transport/configuration.rb:12: warning: method redefined; discarding old transport_class=
/Users/dentarg/.gem/ruby/2.7.1/gems/sentry-ruby-core-4.1.5.pre.beta.1/lib/sentry/event.rb:71: warning: method redefined; discarding old timestamp=
/Users/dentarg/.gem/ruby/2.7.1/gems/sentry-ruby-core-4.1.5.pre.beta.1/lib/sentry/event.rb:75: warning: method redefined; discarding old level=
/Users/dentarg/.gem/ruby/2.7.1/gems/sentry-ruby-core-4.1.5.pre.beta.1/lib/sentry/event.rb:95: warning: method redefined; discarding old type
/Users/dentarg/.gem/ruby/2.7.1/gems/sentry-ruby-core-4.1.5.pre.beta.1/lib/sentry/transaction_event.rb:15: warning: method redefined; discarding old start_timestamp=
/Users/dentarg/.gem/ruby/2.7.1/gems/sentry-ruby-core-4.1.5.pre.beta.1/lib/sentry/transaction_event.rb:19: warning: method redefined; discarding old type
/Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72: warning: /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72: warning: loading in progress, circular require considered harmful - /Users/dentarg/.gem/ruby/2.7.1/gems/faraday-1.3.0/lib/faraday.rb
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:156:in  `require'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:168:in  `rescue in require'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:168:in  `require'
	from /Users/dentarg/.gem/ruby/2.7.1/gems/sentry-ruby-core-4.1.5.pre.beta.1/lib/sentry-ruby.rb:13:in  `<top (required)>'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.gem/ruby/2.7.1/gems/sentry-ruby-core-4.1.5.pre.beta.1/lib/sentry/hub.rb:2:in  `<top (required)>'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.gem/ruby/2.7.1/gems/sentry-ruby-core-4.1.5.pre.beta.1/lib/sentry/client.rb:1:in  `<top (required)>'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.gem/ruby/2.7.1/gems/sentry-ruby-core-4.1.5.pre.beta.1/lib/sentry/transport.rb:88:in  `<top (required)>'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.gem/ruby/2.7.1/gems/sentry-ruby-core-4.1.5.pre.beta.1/lib/sentry/transport/http_transport.rb:1:in  `<top (required)>'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:155:in  `require'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:155:in  `require'
	from /Users/dentarg/.gem/ruby/2.7.1/gems/faraday-1.3.0/lib/faraday.rb:30:in  `<top (required)>'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.gem/ruby/2.7.1/gems/faraday-net_http-1.0.0/lib/faraday/net_http.rb:3:in  `<top (required)>'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'

"2.7.1"
"4.1.5-beta.1"

Expected behavior

No warnings emitted.

Environment

  • Ruby Version: 2.7.1
  • SDK Version: 4.1.5-beta.1
@st0012
Copy link
Collaborator

st0012 commented Jan 27, 2021

@dentarg thanks for reporting this. after checking other earlier versions of sentry-ruby, I think it's been there since the very first version of it. I haven't been able to find a clear cause of it yet though.

but because it's a warning + it's only visible with the -w flag, I'll put this issue at a lower priority for now.

@st0012 st0012 added this to To do in 4.x via automation Jan 27, 2021
@dentarg
Copy link
Contributor Author

dentarg commented Jan 27, 2021

Ah yes, looks like sentry-raven still has it even after #1035 (no method redefined in sentry-raven though)

$ ruby -w -rsentry-raven -e 'p RUBY_VERSION' -e 'p Raven::VERSION'
/Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72: warning: /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72: warning: loading in progress, circular require considered harmful - /Users/dentarg/.gem/ruby/2.7.1/gems/faraday-1.3.0/lib/faraday.rb
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:156:in  `require'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:168:in  `rescue in require'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:168:in  `require'
	from /Users/dentarg/.gem/ruby/2.7.1/gems/sentry-raven-3.1.1/lib/sentry-raven.rb:1:in  `<top (required)>'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.gem/ruby/2.7.1/gems/sentry-raven-3.1.1/lib/raven.rb:1:in  `<top (required)>'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.gem/ruby/2.7.1/gems/sentry-raven-3.1.1/lib/raven/base.rb:15:in  `<top (required)>'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.gem/ruby/2.7.1/gems/sentry-raven-3.1.1/lib/raven/client.rb:7:in  `<top (required)>'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.gem/ruby/2.7.1/gems/sentry-raven-3.1.1/lib/raven/transports.rb:18:in  `<top (required)>'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.gem/ruby/2.7.1/gems/sentry-raven-3.1.1/lib/raven/transports/http.rb:1:in  `<top (required)>'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:155:in  `require'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:155:in  `require'
	from /Users/dentarg/.gem/ruby/2.7.1/gems/faraday-1.3.0/lib/faraday.rb:30:in  `<top (required)>'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.gem/ruby/2.7.1/gems/faraday-net_http-1.0.0/lib/faraday/net_http.rb:3:in  `<top (required)>'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'
	from /Users/dentarg/.rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in  `require'

"2.7.1"
"3.1.1"

@st0012
Copy link
Collaborator

st0012 commented May 28, 2021

In the latest 4.5.0 version, the circular require warning has gone.

/Users/st0012/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/sentry-ruby-core-4.5.0/lib/sentry/transport/configuration.rb:14: warning: method redefined; discarding old transport_class=
/Users/st0012/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/sentry-ruby-core-4.5.0/lib/sentry/event.rb:78: warning: method redefined; discarding old timestamp=
/Users/st0012/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/sentry-ruby-core-4.5.0/lib/sentry/event.rb:82: warning: method redefined; discarding old level=
/Users/st0012/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/sentry-ruby-core-4.5.0/lib/sentry/event.rb:102: warning: method redefined; discarding old type
/Users/st0012/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/sentry-ruby-core-4.5.0/lib/sentry/transaction_event.rb:17: warning: method redefined; discarding old start_timestamp=
/Users/st0012/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/sentry-ruby-core-4.5.0/lib/sentry/transaction_event.rb:21: warning: method redefined; discarding old type
"2.7.2"
"4.5.0"

And I think method redefined warnings are acceptable for more convenient method definitions, so I'm going to close this now 🙂

@st0012 st0012 closed this as completed May 28, 2021
4.x automation moved this from To do to Done May 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
4.x
  
Done
Development

No branches or pull requests

2 participants