Skip to content

0.12.1 causes exceptions when encoding extra data #248

@blatyo

Description

@blatyo

We have been using sentry's extra data to pass times. In 0.12.0, it would call inspect on objects it didn't know how to encode and encode them as strings. With 0.12.1, it raises an exception, which breaks exception reporting in a lot of places in our code.

Line causing issue:
https://github.com/getsentry/raven-ruby/blob/master/lib/raven/okjson.rb#L84

Previous working code:
https://github.com/getsentry/raven-ruby/blob/0.12.0/lib/raven/okjson.rb#L86

Relevant backtrace:

cannot encode ActiveSupport::TimeWithZone: Thu, 20 Nov 2014 21:39:07 UTC +00:00 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/okjson.rb:84:in `valenc' 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/okjson.rb:437:in `block in objenc' 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/okjson.rb:437:in `each' 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/okjson.rb:437:in `map' 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/okjson.rb:437:in `objenc' 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/okjson.rb:75:in `valenc' 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/okjson.rb:437:in `block in objenc' 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/okjson.rb:437:in `each' 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/okjson.rb:437:in `map' 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/okjson.rb:437:in `objenc' 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/okjson.rb:75:in `valenc' 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/okjson.rb:437:in `block in objenc' 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/okjson.rb:437:in `each' 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/okjson.rb:437:in `map' 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/okjson.rb:437:in `objenc' 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/okjson.rb:65:in `encode' 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/client.rb:57:in `encode' 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/client.rb:34:in `send' 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/base.rb:71:in `send' 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/base.rb:109:in `block in capture_exception' 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/base.rb:136:in `send_or_skip' 
/home/rails/mc/shared/bundle/ruby/1.9.1/gems/sentry-raven-0.12.1/lib/raven/base.rb:103:in `capture_exception'

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions