no _dump_data is defined for class Proc #7375

Closed
International opened this Issue Aug 17, 2012 · 19 comments

Comments

Projects
None yet

I have the following in development.rb:

config.cache_store = :null_store

and the following in a User class:

def cached_profile
  Rails.cache.fetch("user_#{self.id}_profile") { self.profile }
end

Whenever the code reaches this point, I get the following error:

no _dump_data is defined for class Proc

The error goes away if I'm starting a memcached server and I change the cache_store. Why is this appearing on a dev environment? Shouldn't a cache miss be performed all the time if we specify that we're using a null_store?

Owner

tenderlove commented Aug 17, 2012

The null store just backs the cache with a storage system that has no storage (memory, disk, or otherwise). That doesn't prevent it from attempting to encode the particular object that needs to be cached.

Can you provide a full backtrace for the exception? Also, would it be possible to provide a demo app that reproduces the problem? Thanks.

I got same exception, this is full backtrace:

activesupport (3.2.8) lib/active_support/cache.rb:561:in `dump'
  activesupport (3.2.8) lib/active_support/cache.rb:561:in `initialize'
  activesupport (3.2.8) lib/active_support/cache.rb:363:in `new'
  activesupport (3.2.8) lib/active_support/cache.rb:363:in `block in write'
  activesupport (3.2.8) lib/active_support/cache.rb:520:in `instrument'
  activesupport (3.2.8) lib/active_support/cache.rb:362:in `write'
  activesupport (3.2.8) lib/active_support/cache.rb:299:in `fetch'
  app/controllers/phrases_controller.rb:25:in `index'
  actionpack (3.2.8) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
  actionpack (3.2.8) lib/abstract_controller/base.rb:167:in `process_action'
  actionpack (3.2.8) lib/action_controller/metal/rendering.rb:10:in `process_action'
  actionpack (3.2.8) lib/abstract_controller/callbacks.rb:18:in `block in process_action'
  activesupport (3.2.8) lib/active_support/callbacks.rb:480:in `_run__3329517920698679481__process_action__2526911234739366892__callbacks'
  activesupport (3.2.8) lib/active_support/callbacks.rb:405:in `__run_callback'
  activesupport (3.2.8) lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
  activesupport (3.2.8) lib/active_support/callbacks.rb:81:in `run_callbacks'
  actionpack (3.2.8) lib/abstract_controller/callbacks.rb:17:in `process_action'
  actionpack (3.2.8) lib/action_controller/metal/rescue.rb:29:in `process_action'
  actionpack (3.2.8) lib/action_controller/metal/instrumentation.rb:30:in `block in process_action'
  activesupport (3.2.8) lib/active_support/notifications.rb:123:in `block in instrument'
  activesupport (3.2.8) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
  activesupport (3.2.8) lib/active_support/notifications.rb:123:in `instrument'
  actionpack (3.2.8) lib/action_controller/metal/instrumentation.rb:29:in `process_action'
  actionpack (3.2.8) lib/action_controller/metal/params_wrapper.rb:207:in `process_action'
  actionpack (3.2.8) lib/abstract_controller/base.rb:121:in `process'
  actionpack (3.2.8) lib/abstract_controller/rendering.rb:45:in `process'
  actionpack (3.2.8) lib/action_controller/metal.rb:203:in `dispatch'
  actionpack (3.2.8) lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
  actionpack (3.2.8) lib/action_controller/metal.rb:246:in `block in action'
  actionpack (3.2.8) lib/action_dispatch/routing/route_set.rb:73:in `call'
  actionpack (3.2.8) lib/action_dispatch/routing/route_set.rb:73:in `dispatch'
  actionpack (3.2.8) lib/action_dispatch/routing/route_set.rb:36:in `call'
  journey (1.0.4) lib/journey/router.rb:68:in `block in call'
  journey (1.0.4) lib/journey/router.rb:56:in `each'
  journey (1.0.4) lib/journey/router.rb:56:in `call'
  actionpack (3.2.8) lib/action_dispatch/routing/route_set.rb:600:in `call'
  omniauth (1.1.0) lib/omniauth/strategy.rb:177:in `call!'
  omniauth (1.1.0) lib/omniauth/strategy.rb:157:in `call'
  omniauth (1.1.0) lib/omniauth/strategy.rb:177:in `call!'
  omniauth (1.1.0) lib/omniauth/strategy.rb:157:in `call'
  mongoid (3.0.4) lib/rack/mongoid/middleware/identity_map.rb:33:in `block in call'
  mongoid (3.0.4) lib/mongoid/unit_of_work.rb:39:in `unit_of_work'
  mongoid (3.0.4) lib/rack/mongoid/middleware/identity_map.rb:33:in `call'
  exception_notification (2.6.1) lib/exception_notifier.rb:34:in `call'
  warden (1.1.1) lib/warden/manager.rb:35:in `block in call'
  warden (1.1.1) lib/warden/manager.rb:34:in `catch'
  warden (1.1.1) lib/warden/manager.rb:34:in `call'
  actionpack (3.2.8) lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
  rack (1.4.1) lib/rack/etag.rb:23:in `call'
  rack (1.4.1) lib/rack/conditionalget.rb:25:in `call'
  actionpack (3.2.8) lib/action_dispatch/middleware/head.rb:14:in `call'
  actionpack (3.2.8) lib/action_dispatch/middleware/params_parser.rb:21:in `call'
  actionpack (3.2.8) lib/action_dispatch/middleware/flash.rb:242:in `call'
  rack (1.4.1) lib/rack/session/abstract/id.rb:205:in `context'
  rack (1.4.1) lib/rack/session/abstract/id.rb:200:in `call'
  actionpack (3.2.8) lib/action_dispatch/middleware/cookies.rb:339:in `call'
  actionpack (3.2.8) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
  activesupport (3.2.8) lib/active_support/callbacks.rb:405:in `_run__1116681118314120984__call__2651634670845041881__callbacks'
  activesupport (3.2.8) lib/active_support/callbacks.rb:405:in `__run_callback'
  activesupport (3.2.8) lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
  activesupport (3.2.8) lib/active_support/callbacks.rb:81:in `run_callbacks'
  actionpack (3.2.8) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
  actionpack (3.2.8) lib/action_dispatch/middleware/reloader.rb:65:in `call'
  actionpack (3.2.8) lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
  actionpack (3.2.8) lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
  actionpack (3.2.8) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
  railties (3.2.8) lib/rails/rack/logger.rb:26:in `call_app'
  railties (3.2.8) lib/rails/rack/logger.rb:16:in `call'
  config/initializers/quiet_assets.rb:7:in `call_with_quiet_assets'
  actionpack (3.2.8) lib/action_dispatch/middleware/request_id.rb:22:in `call'
  rack (1.4.1) lib/rack/methodoverride.rb:21:in `call'
  rack (1.4.1) lib/rack/runtime.rb:17:in `call'
  activesupport (3.2.8) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
  rack (1.4.1) lib/rack/lock.rb:15:in `call'
  actionpack (3.2.8) lib/action_dispatch/middleware/static.rb:62:in `call'
  railties (3.2.8) lib/rails/engine.rb:479:in `call'
  railties (3.2.8) lib/rails/application.rb:223:in `call'
  rack (1.4.1) lib/rack/content_length.rb:14:in `call'
  railties (3.2.8) lib/rails/rack/log_tailer.rb:17:in `call'
  thin (1.4.1) lib/thin/connection.rb:80:in `block in pre_process'
  thin (1.4.1) lib/thin/connection.rb:78:in `catch'
  thin (1.4.1) lib/thin/connection.rb:78:in `pre_process'
  thin (1.4.1) lib/thin/connection.rb:53:in `process'
  thin (1.4.1) lib/thin/connection.rb:38:in `receive_data'
  eventmachine (0.12.10) lib/eventmachine.rb:256:in `run_machine'
  eventmachine (0.12.10) lib/eventmachine.rb:256:in `run'
  thin (1.4.1) lib/thin/backends/base.rb:63:in `start'
  thin (1.4.1) lib/thin/server.rb:159:in `start'
  rack (1.4.1) lib/rack/handler/thin.rb:13:in `run'
  rack (1.4.1) lib/rack/server.rb:265:in `start'
  railties (3.2.8) lib/rails/commands/server.rb:70:in `start'
  railties (3.2.8) lib/rails/commands.rb:55:in `block in <top (required)>'
  railties (3.2.8) lib/rails/commands.rb:50:in `tap'
  railties (3.2.8) lib/rails/commands.rb:50:in `<top (required)>'
  script/rails:6:in `require'
  script/rails:6:in `<main>'

ccocchi commented Aug 22, 2012

It's odd because it seems to fail before trying to write the entry into the backend, on Marshal.dump(value). So it should also fail with mem_cache_store.

What does your method self.profile return ? (because it seems that's where the problem comes from)

In my case, profile was just the association, defined as:

  belongs_to :profile,:polymorphic => true,:dependent => :destroy

it's resolved at my side. Actually it's strange solution, I just changed the following code:

translations = Rails.cache.fetch("{phrase.id}_translations") { phrase.translations }

to

translations = Rails.cache.fetch("{phrase.id}_translations") { Translation.where(:phrase_id => phrase.id) }

@zakwanhaj I think that phrase.translations will return a proxy rather than an array of records, and that's what is being cached. You have to call all or to_a at the end to cache the resulting array, not the proxy or relation object:

translations = Rails.cache.fetch("{phrase.id}_translations") { phrase.translations.all }

I don't know if the profile problem is the same, but if it's returning the AR object, it might be.

Why is it a problem if it's returning the AR object? It's not actually a proxy, but a single object instance.

Member

schneems commented Sep 9, 2012

Can you please close, or leave steps to reproduce this in a new project?

I will try to post the minimal steps to reproduce this problem.

Member

senny commented Jan 14, 2013

Is this still an issue? If so, please put a sample app with the problem on github otherwise please close the issue.

Member

steveklabnik commented Jan 14, 2013

Yep! It's been four months, I'm gonna close unless there's a reproduction posted.

@andrewhubbs andrewhubbs referenced this issue in nesquena/rabl Feb 20, 2013

Open

Error trying to cache RABL views #413

I am seeing a bug very similar to this using the RABL gem (which just passes through to the Rails cache). It may be worth reopening. Check out the referenced issue above for a code sample.

Contributor

brchristian commented May 29, 2013

I'm getting the same exception and have no idea what might be going on...

The line
@response = Rails.cache.fetch("remote_footer_information", :expires_in => 5.minutes) do

Is triggering the following error:

no _dump_data is defined for class Proc

Here's the stack trace:

activesupport (3.2.13) lib/active_support/cache.rb:561:in `dump'
activesupport (3.2.13) lib/active_support/cache.rb:561:in `initialize'
activesupport (3.2.13) lib/active_support/cache.rb:363:in `new'
activesupport (3.2.13) lib/active_support/cache.rb:363:in `block in write'
activesupport (3.2.13) lib/active_support/cache.rb:520:in `instrument'
activesupport (3.2.13) lib/active_support/cache.rb:362:in `write'
activesupport (3.2.13) lib/active_support/cache.rb:299:in `fetch'
lib/myappname/footer.rb:10:in `initialize'
/Users/brianchristian/.rvm/gems/ruby-1.9.3-p392@myappname/bundler/gems/spree-70457a28bcc6/core/app/views/spree/shared/_footer.html.erb:8:in `new'
/Users/brianchristian/.rvm/gems/ruby-1.9.3-p392@myappname/bundler/gems/spree-70457a28bcc6/core/app/views/spree/shared/_footer.html.erb:8:in `_cdf7b3c573d148f73a2e131dfa97ce53'
actionpack (3.2.13) lib/action_view/template.rb:145:in `block in render'
activesupport (3.2.13) lib/active_support/notifications.rb:125:in `instrument'
actionpack (3.2.13) lib/action_view/template.rb:143:in `render'
deface (0.9.1) lib/deface/action_view_extensions.rb:37:in `render'
actionpack (3.2.13) lib/action_view/renderer/partial_renderer.rb:265:in `render_partial'
actionpack (3.2.13) lib/action_view/renderer/partial_renderer.rb:238:in `block in render'
actionpack (3.2.13) lib/action_view/renderer/abstract_renderer.rb:38:in `block in instrument'
activesupport (3.2.13) lib/active_support/notifications.rb:123:in `block in instrument'
activesupport (3.2.13) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (3.2.13) lib/active_support/notifications.rb:123:in `instrument'
actionpack (3.2.13) lib/action_view/renderer/abstract_renderer.rb:38:in `instrument'
actionpack (3.2.13) lib/action_view/renderer/partial_renderer.rb:237:in `render'
newrelic_rpm (3.6.2.96) lib/new_relic/agent/instrumentation/rails3/action_controller.rb:176:in `block in render_with_newrelic'
newrelic_rpm (3.6.2.96) lib/new_relic/agent/method_tracer.rb:273:in `trace_execution_scoped'
newrelic_rpm (3.6.2.96) lib/new_relic/agent/instrumentation/rails3/action_controller.rb:175:in `render_with_newrelic'
actionpack (3.2.13) lib/action_view/renderer/renderer.rb:41:in `render_partial'
actionpack (3.2.13) lib/action_view/renderer/renderer.rb:15:in `render'
actionpack (3.2.13) lib/action_view/helpers/rendering_helper.rb:24:in `render'
/Users/brianchristian/.rvm/gems/ruby-1.9.3-p392@myappname/bundler/gems/spree-70457a28bcc6/core/app/views/spree/layouts/spree_application.html.erb:42:in `_f73dea6c36d4628744b3dd228f801922'
actionpack (3.2.13) lib/action_view/template.rb:145:in `block in render'
activesupport (3.2.13) lib/active_support/notifications.rb:125:in `instrument'
actionpack (3.2.13) lib/action_view/template.rb:143:in `render'
deface (0.9.1) lib/deface/action_view_extensions.rb:37:in `render'
actionpack (3.2.13) lib/action_view/renderer/template_renderer.rb:59:in `render_with_layout'
actionpack (3.2.13) lib/action_view/renderer/template_renderer.rb:45:in `render_template'
actionpack (3.2.13) lib/action_view/renderer/template_renderer.rb:18:in `render'
newrelic_rpm (3.6.2.96) lib/new_relic/agent/instrumentation/rails3/action_controller.rb:160:in `block in render_with_newrelic'
newrelic_rpm (3.6.2.96) lib/new_relic/agent/method_tracer.rb:273:in `trace_execution_scoped'
newrelic_rpm (3.6.2.96) lib/new_relic/agent/instrumentation/rails3/action_controller.rb:159:in `render_with_newrelic'
actionpack (3.2.13) lib/action_view/renderer/renderer.rb:36:in `render_template'
actionpack (3.2.13) lib/action_view/renderer/renderer.rb:17:in `render'
actionpack (3.2.13) lib/abstract_controller/rendering.rb:110:in `_render_template'
actionpack (3.2.13) lib/action_controller/metal/streaming.rb:225:in `_render_template'
actionpack (3.2.13) lib/abstract_controller/rendering.rb:103:in `render_to_body'
actionpack (3.2.13) lib/action_controller/metal/renderers.rb:28:in `render_to_body'
actionpack (3.2.13) lib/action_controller/metal/compatibility.rb:50:in `render_to_body'
actionpack (3.2.13) lib/abstract_controller/rendering.rb:88:in `render'
actionpack (3.2.13) lib/action_controller/metal/rendering.rb:16:in `render'
actionpack (3.2.13) lib/action_controller/metal/instrumentation.rb:40:in `block (2 levels) in render'
activesupport (3.2.13) lib/active_support/core_ext/benchmark.rb:5:in `block in ms'
/Users/brianchristian/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/benchmark.rb:295:in `realtime'
activesupport (3.2.13) lib/active_support/core_ext/benchmark.rb:5:in `ms'
actionpack (3.2.13) lib/action_controller/metal/instrumentation.rb:40:in `block in render'
actionpack (3.2.13) lib/action_controller/metal/instrumentation.rb:83:in `cleanup_view_runtime'
activerecord (3.2.13) lib/active_record/railties/controller_runtime.rb:24:in `cleanup_view_runtime'
actionpack (3.2.13) lib/action_controller/metal/instrumentation.rb:39:in `render'
actionpack (3.2.13) lib/action_controller/metal/implicit_render.rb:10:in `default_render'
actionpack (3.2.13) lib/action_controller/metal/responder.rb:232:in `default_render'
actionpack (3.2.13) lib/action_controller/metal/responder.rb:160:in `to_html'
/Users/brianchristian/.rvm/gems/ruby-1.9.3-p392@myappname/bundler/gems/spree-70457a28bcc6/core/lib/spree/core/responder.rb:19:in `to_html'
actionpack (3.2.13) lib/action_controller/metal/responder.rb:153:in `respond'
actionpack (3.2.13) lib/action_controller/metal/responder.rb:146:in `call'
/Users/brianchristian/.rvm/gems/ruby-1.9.3-p392@myappname/bundler/gems/spree-70457a28bcc6/core/lib/spree/core/controller_helpers/respond_with.rb:20:in `respond_with'
app/controllers/home_controller_decorator.rb:27:in `index'
actionpack (3.2.13) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
actionpack (3.2.13) lib/abstract_controller/base.rb:167:in `process_action'
actionpack (3.2.13) lib/action_controller/metal/rendering.rb:10:in `process_action'
actionpack (3.2.13) lib/abstract_controller/callbacks.rb:18:in `block in process_action'
activesupport (3.2.13) lib/active_support/callbacks.rb:469:in `_run__2631897532891773803__process_action__3240282829590883043__callbacks'
activesupport (3.2.13) lib/active_support/callbacks.rb:405:in `__run_callback'
activesupport (3.2.13) lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
activesupport (3.2.13) lib/active_support/callbacks.rb:81:in `run_callbacks'
actionpack (3.2.13) lib/abstract_controller/callbacks.rb:17:in `process_action'
actionpack (3.2.13) lib/action_controller/metal/rescue.rb:29:in `process_action'
actionpack (3.2.13) lib/action_controller/metal/instrumentation.rb:30:in `block in process_action'
activesupport (3.2.13) lib/active_support/notifications.rb:123:in `block in instrument'
activesupport (3.2.13) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (3.2.13) lib/active_support/notifications.rb:123:in `instrument'
actionpack (3.2.13) lib/action_controller/metal/instrumentation.rb:29:in `process_action'
actionpack (3.2.13) lib/action_controller/metal/params_wrapper.rb:207:in `process_action'
activerecord (3.2.13) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
newrelic_rpm (3.6.2.96) lib/new_relic/agent/instrumentation/rails3/action_controller.rb:38:in `block in process_action'
newrelic_rpm (3.6.2.96) lib/new_relic/agent/instrumentation/controller_instrumentation.rb:318:in `perform_action_with_newrelic_trace'
newrelic_rpm (3.6.2.96) lib/new_relic/agent/instrumentation/rails3/action_controller.rb:37:in `process_action'
actionpack (3.2.13) lib/abstract_controller/base.rb:121:in `process'
actionpack (3.2.13) lib/abstract_controller/rendering.rb:45:in `process'
actionpack (3.2.13) lib/action_controller/metal.rb:203:in `dispatch'
actionpack (3.2.13) lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
actionpack (3.2.13) lib/action_controller/metal.rb:246:in `block in action'
actionpack (3.2.13) lib/action_dispatch/routing/route_set.rb:73:in `call'
actionpack (3.2.13) lib/action_dispatch/routing/route_set.rb:73:in `dispatch'
actionpack (3.2.13) lib/action_dispatch/routing/route_set.rb:36:in `call'
journey (1.0.4) lib/journey/router.rb:68:in `block in call'
journey (1.0.4) lib/journey/router.rb:56:in `each'
journey (1.0.4) lib/journey/router.rb:56:in `call'
actionpack (3.2.13) lib/action_dispatch/routing/route_set.rb:612:in `call'
/Users/brianchristian/.rvm/gems/ruby-1.9.3-p392@myappname/bundler/gems/spree-70457a28bcc6/core/lib/spree/core/middleware/redirect_legacy_product_url.rb:13:in `call'
/Users/brianchristian/.rvm/gems/ruby-1.9.3-p392@myappname/bundler/gems/spree-70457a28bcc6/core/lib/spree/core/middleware/seo_assist.rb:27:in `call'
railties (3.2.13) lib/rails/engine.rb:479:in `call'
railties (3.2.13) lib/rails/railtie/configurable.rb:30:in `method_missing'
journey (1.0.4) lib/journey/router.rb:68:in `block in call'
journey (1.0.4) lib/journey/router.rb:56:in `each'
journey (1.0.4) lib/journey/router.rb:56:in `call'
actionpack (3.2.13) lib/action_dispatch/routing/route_set.rb:612:in `call'
omniauth (1.0.3) lib/omniauth/strategy.rb:168:in `call!'
omniauth (1.0.3) lib/omniauth/strategy.rb:148:in `call'
newrelic_rpm (3.6.2.96) lib/new_relic/rack/error_collector.rb:12:in `call'
newrelic_rpm (3.6.2.96) lib/new_relic/rack/agent_hooks.rb:18:in `call'
newrelic_rpm (3.6.2.96) lib/new_relic/rack/browser_monitoring.rb:16:in `call'
warden (1.2.1) lib/warden/manager.rb:35:in `block in call'
warden (1.2.1) lib/warden/manager.rb:34:in `catch'
warden (1.2.1) lib/warden/manager.rb:34:in `call'
actionpack (3.2.13) lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
rack (1.4.5) lib/rack/etag.rb:23:in `call'
rack (1.4.5) lib/rack/conditionalget.rb:25:in `call'
actionpack (3.2.13) lib/action_dispatch/middleware/head.rb:14:in `call'
actionpack (3.2.13) lib/action_dispatch/middleware/params_parser.rb:21:in `call'
actionpack (3.2.13) lib/action_dispatch/middleware/flash.rb:242:in `call'
rack (1.4.5) lib/rack/session/abstract/id.rb:210:in `context'
rack (1.4.5) lib/rack/session/abstract/id.rb:205:in `call'
actionpack (3.2.13) lib/action_dispatch/middleware/cookies.rb:341:in `call'
activerecord (3.2.13) lib/active_record/query_cache.rb:64:in `call'
activerecord (3.2.13) lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call'
actionpack (3.2.13) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
activesupport (3.2.13) lib/active_support/callbacks.rb:405:in `_run__1811812019930014365__call__2705098486077616472__callbacks'
activesupport (3.2.13) lib/active_support/callbacks.rb:405:in `__run_callback'
activesupport (3.2.13) lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
activesupport (3.2.13) lib/active_support/callbacks.rb:81:in `run_callbacks'
actionpack (3.2.13) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
actionpack (3.2.13) lib/action_dispatch/middleware/reloader.rb:65:in `call'
actionpack (3.2.13) lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
airbrake (3.1.12) lib/airbrake/rails/middleware.rb:13:in `call'
actionpack (3.2.13) lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
actionpack (3.2.13) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
railties (3.2.13) lib/rails/rack/logger.rb:32:in `call_app'
railties (3.2.13) lib/rails/rack/logger.rb:16:in `block in call'
activesupport (3.2.13) lib/active_support/tagged_logging.rb:22:in `tagged'
railties (3.2.13) lib/rails/rack/logger.rb:16:in `call'
actionpack (3.2.13) lib/action_dispatch/middleware/request_id.rb:22:in `call'
rack (1.4.5) lib/rack/methodoverride.rb:21:in `call'
rack (1.4.5) lib/rack/runtime.rb:17:in `call'
activesupport (3.2.13) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
rack (1.4.5) lib/rack/lock.rb:15:in `call'
actionpack (3.2.13) lib/action_dispatch/middleware/static.rb:63:in `call'
rack (1.4.5) lib/rack/deflater.rb:13:in `call'
lib/myappname/block_query.rb:21:in `call'
airbrake (3.1.12) lib/airbrake/user_informer.rb:16:in `_call'
airbrake (3.1.12) lib/airbrake/user_informer.rb:12:in `call'
railties (3.2.13) lib/rails/engine.rb:479:in `call'
railties (3.2.13) lib/rails/application.rb:223:in `call'
railties (3.2.13) lib/rails/railtie/configurable.rb:30:in `method_missing'
/Users/brianchristian/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:147:in `handle'
/Users/brianchristian/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:99:in `rescue in block (2 levels) in start'
/Users/brianchristian/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:96:in `block (2 levels) in start'
/Users/brianchristian/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:86:in `each'
/Users/brianchristian/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:86:in `block in start'
/Users/brianchristian/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:66:in `loop'
/Users/brianchristian/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:66:in `start'
/Users/brianchristian/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:13:in `run'
/Users/brianchristian/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/bin/nack_worker:4:in `<main>'
Contributor

brchristian commented May 29, 2013

Also: for what it's worth, I'm only seeing this error in Development mode.

Any update on this?

For what it's worth, I was getting this when caching a raw sql query. The problem went away when i added an explicit .to_a to the end. I assume this is something weird about how objects are serialized in cache? (Mysql2::Result vs a plain Array). Could explain why it goes away on different environments (with presumably different caching methods)

I'm not positive we have the same issue, but hopefully that helps.

tvon commented Sep 12, 2015

For the sake of future error search results:

The source of the error is (most likely) Marshal:

Some objects cannot be dumped: if the objects to be dumped include bindings, procedure or method objects, instances of class IO, or singleton objects, a TypeError will be raised.

Your options are to either implement marshal_dump and marshal_load in the class being cached or to find a simpler object to cache.

Contributor

sgringwe commented Jul 21, 2016

In my case I was serializing a papeclip attachment URL which was using the default_url Proc

I'm getting the same exception no _dump_data is defined for class Proc
with pure new generated rails 4.2.9 + docker env

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment