【发布时间】:2014-07-10 07:05:10
【问题描述】:
https://github.com/mperham/sidekiq/issues/1836
我遇到了来自不同位置的以下相同错误消息,并期待解决此问题的指导。
以下所有内容属于同一类别 "error_message"=>"stack level too deep", "error_class"=>"SystemStackError" 但是从 1 到 5 列出的不同地方投掷
1) logging.rb:15
2014-07-10T06:11:36.782Z 19437 TID-ourqdth1s TwitterRealtimeWorker JID-461c4da5b70ce6d1811777d0 INFO: fail: 2.142 sec
2014-07-10T06:11:36.786Z 19437 TID-ourqdth1s WARN: {"retry"=>1, "queue"=>"default", "throttle"=>{"threshold"=>40, "period"=>120, "key"=>{}}, "failures"=>true, "class"=>"TwitterRealtimeWorker", "args"=>[103], "jid"=>"461c4da5b70ce6d1811777d0", "enqueued_at"=>1404972666.989332, "error_message"=>"stack level too deep", "error_class"=>"SystemStackError", "failed_at"=>1404972696.778065, "retry_count"=>0, "processor"=>"Shan.local:19437"}
2014-07-10T06:11:36.787Z 19437 TID-ourqdth1s WARN: stack level too deep
2014-07-10T06:11:36.787Z 19437 TID-ourqdth1s WARN: /Users/user/.rvm/gems/ruby-1.9.3-p327@relatednoise/gems/sidekiq-3.2.1/lib/sidekiq/middleware/server/logging.rb:15
2) 处理器.rb:106
2014-07-10T06:12:14.078Z 19437 TID-ourqx6gk8 TwitterRealtimeWorker JID-461c4da5b70ce6d1811777d0 INFO: Adding dead TwitterRealtimeWorker job 461c4da5b70ce6d1811777d0
2014-07-10T06:12:14.080Z 19437 TID-ourqx6gk8 TwitterRealtimeWorker JID-461c4da5b70ce6d1811777d0 INFO: fail: 0.285 sec
2014-07-10T06:12:14.081Z 19437 TID-ourqx6gk8 WARN: {"retry"=>1, "queue"=>"default", "throttle"=>{"threshold"=>40, "period"=>120, "key"=>{}}, "failures"=>true, "class"=>"TwitterRealtimeWorker", "args"=>[103], "jid"=>"461c4da5b70ce6d1811777d0", "enqueued_at"=>1404972666.989332, "error_message"=>"stack level too deep", "error_class"=>"SystemStackError", "failed_at"=>1404972734.0797381, "retry_count"=>1, "retried_at"=>1404972734.0788622, "processor"=>"Shan.local:19437"}
2014-07-10T06:12:14.081Z 19437 TID-ourqx6gk8 WARN: stack level too deep
2014-07-10T06:12:14.081Z 19437 TID-ourqx6gk8 WARN: /Users/user/.rvm/gems/ruby-1.9.3-p327@relatednoise/gems/sidekiq-3.2.1/lib/sidekiq/processor.rb:106
3) task_fiber.rb:23
2014-07-10T06:12:03.131Z 19437 TID-ourqx6gk8 TwitterRealtimeWorker JID-f066590cbd79930efab64db2 INFO: Adding dead TwitterRealtimeWorker job f066590cbd79930efab64db2
2014-07-10T06:12:03.133Z 19437 TID-ourqx6gk8 TwitterRealtimeWorker JID-f066590cbd79930efab64db2 INFO: fail: 0.903 sec
2014-07-10T06:12:03.136Z 19437 TID-ourqx6gk8 WARN: {"retry"=>1, "queue"=>"default", "throttle"=>{"threshold"=>40, "period"=>120, "key"=>{}}, "failures"=>true, "class"=>"TwitterRealtimeWorker", "args"=>[102], "jid"=>"f066590cbd79930efab64db2", "enqueued_at"=>1404972665.862527, "error_message"=>"stack level too deep", "error_class"=>"SystemStackError", "failed_at"=>1404972723.1333828, "retry_count"=>1, "retried_at"=>1404972723.1315699, "processor"=>"Shan.local:19437"}
2014-07-10T06:12:03.137Z 19437 TID-ourqx6gk8 WARN: stack level too deep
2014-07-10T06:12:03.137Z 19437 TID-ourqx6gk8 WARN: /Users/user/.rvm/gems/ruby-1.9.3-p327@relatednoise/gems/celluloid-0.15.2/lib/celluloid/tasks/task_fiber.rb:23
2014-07-10T06:12:13.795Z 19437 TID-ourqx6gk8 TwitterRealtimeWorker JID-461c4da5b70ce6d1811777d0 INFO: start
4) retry_jobs.rb:109
2014-07-10T06:12:02.796Z 19437 TID-ourqdth1s TwitterRealtimeWorker JID-5c2dab540501a7e3aa052990 INFO: Adding dead TwitterRealtimeWorker job 5c2dab540501a7e3aa052990
2014-07-10T06:12:02.806Z 19437 TID-ourqdth1s TwitterRealtimeWorker JID-5c2dab540501a7e3aa052990 INFO: fail: 0.613 sec
2014-07-10T06:12:02.829Z 19437 TID-ourqdth1s WARN: {"retry"=>1, "queue"=>"default", "throttle"=>{"threshold"=>40, "period"=>120, "key"=>{}}, "failures"=>true, "class"=>"TwitterRealtimeWorker", "args"=>[99], "jid"=>"5c2dab540501a7e3aa052990", "enqueued_at"=>1404972664.478233, "error_message"=>"stack level too deep", "error_class"=>"SystemStackError", "failed_at"=>1404972722.805805, "retry_count"=>1, "retried_at"=>1404972722.796501, "processor"=>"Shan.local:19437"}
2014-07-10T06:12:02.830Z 19437 TID-ourqdth1s WARN: stack level too deep
2014-07-10T06:12:02.833Z 19437 TID-ourqdth1s WARN: /Users/user/.rvm/gems/ruby-1.9.3-p327@relatednoise/gems/sidekiq-3.2.1/lib/sidekiq/middleware/server/retry_jobs.rb:109
5) 交易.rb:274
2014-07-10T06:12:02.794Z 19437 TID-ourqdn5m0 TwitterRealtimeWorker JID-2381d4bcaf49ffb6f4c3a676 INFO: Adding dead TwitterRealtimeWorker job 2381d4bcaf49ffb6f4c3a676
2014-07-10T06:12:02.806Z 19437 TID-ourqdn5m0 TwitterRealtimeWorker JID-2381d4bcaf49ffb6f4c3a676 INFO: fail: 0.615 sec
2014-07-10T06:12:02.819Z 19437 TID-ourqdn5m0 WARN: {"retry"=>1, "queue"=>"default", "throttle"=>{"threshold"=>40, "period"=>120, "key"=>{}}, "failures"=>true, "class"=>"TwitterRealtimeWorker", "args"=>[97], "jid"=>"2381d4bcaf49ffb6f4c3a676", "enqueued_at"=>1404972662.09458, "error_message"=>"stack level too deep", "error_class"=>"SystemStackError", "failed_at"=>1404972722.804928, "retry_count"=>1, "retried_at"=>1404972722.794392, "processor"=>"Shan.local:19437"}
2014-07-10T06:12:02.819Z 19437 TID-ourqdn5m0 WARN: stack level too deep
2014-07-10T06:12:02.821Z 19437 TID-ourqdn5m0 WARN: /Users/user/.rvm/gems/ruby-1.9.3-p327@relatednoise/gems/activerecord-3.2.19/lib/active_record/transactions.rb:274
【问题讨论】:
-
了解是什么触发了这种行为会很有帮助
-
您应该从堆栈跟踪中记录更多行 - 如果您只显示一行,则很难看到递归循环(“堆栈级别太深”被抛出 somewhere在无限递归循环中......)
-
另外,在麻烦 mperham 之前,我认为您应该在 your 代码中解决问题。大多数可能性是它在您的代码中。打开一个几乎没有数据的问题不是很有帮助或体贴......
标签: ruby-on-rails ruby gem sidekiq