2012-03-17 5 views
0

레일 3.0.7을 사용하고 경우에 따라 WebBrick이 CPU 및 메모리 사용량을 증가시키는 무한 루프를 입력합니다. 그것을 깨기 위해서는 kill -9이 필요합니다. 내가 tried to use active_scaffold 일 때 ActiveAdmin을 사용할 때 버그가 발생합니다.활성 관리자의 무한 루프 (?)

ActiveAdmin에서 기본 입력란을 사용할 때 이상한 점은 무엇입니까? OK이지만 사진을 표시하려고 할 때 (paper_clip에서) 중단됩니다. 이 컬럼에 대한 코드입니다 : 내가 선 user.photo 전에 debugger를 삽입하려고

column "Photo" do 
    user.photo 
end 

는, 나는이 루프는 activesupport-3.0.7/lib/active_support/core_ext/module/introspection.rb:74에서 일어나는 것으로 나타났습니다. 이 이상한 행동의 원인은 무엇일까요?

(rdb:2) info stack 
--> #0 Array.local_constants 
    at line /var/lib/gems/1.8/gems/activesupport-3.0.7/lib/active_support/core_ext/module/introspection.rb:74 
#1 Module.local_constants 
    at line /var/lib/gems/1.8/gems/activesupport-3.0.7/lib/active_support/core_ext/module/introspection.rb:73 
#2 Module.local_constant_names 
    at line /var/lib/gems/1.8/gems/activesupport-3.0.7/lib/active_support/core_ext/module/introspection.rb:86 
#3 Array.watch_namespaces 
    at line /var/lib/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:127 
#4 ActiveSupport::Dependencies::WatchStack.watch_namespaces(namespaces#Array) 
    at line /var/lib/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:125 
#5 ActiveSupport::Dependencies.new_constants_in 
    at line /var/lib/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:592 
#6 ActiveSupport::Dependencies::Loadable.load_dependency(file#String) 
    at line /var/lib/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:225 
#7 ActiveSupport::Dependencies::Loadable.require(file#String) 
    at line /var/lib/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:239 
#8 at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_view/template/error.rb:1 
#9 ActiveSupport::Notifications::Instrumenter._render_template(name#String, payload#Hash,...) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_view/render/rendering.rb:59 
#10 ActiveSupport::Notifications.instrument(name#String, payload#Hash) 
    at line /var/lib/gems/1.8/gems/activesupport-3.0.7/lib/active_support/notifications.rb:52 
#11 ActionView::Rendering._render_template(template#ActionView::Template, layout#NilClass,...) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_view/render/rendering.rb:56 
#12 ActionView::Rendering.default(options#Hash, locals#Hash) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_view/render/rendering.rb:26 
#13 ActiveAdmin::ViewHelpers::RendererHelper.render 
    at line /var/lib/gems/1.8/gems/activeadmin-0.4.3/lib/active_admin/view_helpers/renderer_helper.rb:23 
#14 AbstractController::Rendering._render_template(options#Hash) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/abstract_controller/rendering.rb:115 
#15 AbstractController::Rendering.render_to_body(options#Hash) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/abstract_controller/rendering.rb:109 
#16 ActionController::Renderers.render_to_body(options#Hash) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_controller/metal/renderers.rb:47 
#17 ActionController::Compatibility.render_to_body(options#Hash) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_controller/metal/compatibility.rb:55 
#18 AbstractController::Rendering.render_to_string 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/abstract_controller/rendering.rb:102 
#19 AbstractController::Rendering.render 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/abstract_controller/rendering.rb:93 
#20 ActionController::Rendering.render 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_controller/metal/rendering.rb:17 
#21 Benchmark.render 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_controller/metal/instrumentation.rb:40 
#22 Benchmark.ms 
    at line /var/lib/gems/1.8/gems/activesupport-3.0.7/lib/active_support/core_ext/benchmark.rb:5 
#23 ActionController::Instrumentation.render 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_controller/metal/instrumentation.rb:40 
#24 ActiveRecord::Railties::ControllerRuntime.cleanup_view_runtime 
    at line /var/lib/gems/1.8/gems/activerecord-3.0.7/lib/active_record/railties/controller_runtime.rb:15 
#25 ActionController::Instrumentation.render 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_controller/metal/instrumentation.rb:39 
#26 Proc.index 
    at line /var/lib/gems/1.8/gems/activeadmin-0.4.3/lib/active_admin/resource_controller/actions.rb:13 
#27 ActionController::Responder.default_render 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_controller/metal/responder.rb:190 
#28 ActionController::Responder.to_html 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_controller/metal/responder.rb:126 
#29 Responders::FlashResponder.to_html 
    at line /var/lib/gems/1.8/gems/responders-0.6.5/lib/responders/flash_responder.rb:93 
#30 Kernel.send(method#Symbol) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_controller/metal/responder.rb:119 
#31 ActionController::Responder.respond 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_controller/metal/responder.rb:119 
#32 ActionController::Responder.new 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_controller/metal/responder.rb:112 
#33 ActionController::MimeResponds.delete 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_controller/metal/mime_responds.rb:232 
#34 InheritedResources::Actions.<<(options#Hash) 
    at line /var/lib/gems/1.8/gems/inherited_resources-1.3.1/lib/inherited_resources/actions.rb:7 
#35 ActiveAdmin::ResourceController.index(options#Hash) 
    at line /var/lib/gems/1.8/gems/activeadmin-0.4.3/lib/active_admin/resource_controller/actions.rb:11 
#36 Kernel.send_action(method#String) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_controller/metal/implicit_render.rb:5 
#37 ActionController::ImplicitRender.send_action(method#String) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_controller/metal/implicit_render.rb:5 
#38 AbstractController::Base.process_action(method_name#String) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/abstract_controller/base.rb:150 
#39 ActionController::Rendering.process_action 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_controller/metal/rendering.rb:11 
#40 Admin::AnimatorsController.process_action 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/abstract_controller/callbacks.rb:18 
#41 Kernel.send(key#String) 
    at line /var/lib/gems/1.8/gems/activesupport-3.0.7/lib/active_support/callbacks.rb:410 
#42 ActiveAdmin::BaseController._run_process_action_callbacks(key#String) 
    at line /var/lib/gems/1.8/gems/activesupport-3.0.7/lib/active_support/callbacks.rb:410 
#43 Kernel.send(kind#Symbol, args#Array) 
    at line /var/lib/gems/1.8/gems/activesupport-3.0.7/lib/active_support/callbacks.rb:94 
#44 ActiveSupport::Callbacks.to_s 
    at line /var/lib/gems/1.8/gems/activesupport-3.0.7/lib/active_support/callbacks.rb:94 
#45 AbstractController::Callbacks.process_action(method_name#String) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/abstract_controller/callbacks.rb:17 
#46 ActiveSupport::Notifications::Instrumenter.process_action(name#String, payload#Hash,...) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_controller/metal/instrumentation.rb:30 
#47 ActiveSupport::Notifications.instrument(name#String, payload#Hash) 
    at line /var/lib/gems/1.8/gems/activesupport-3.0.7/lib/active_support/notifications.rb:52 
#48 ActionController::Instrumentation.process_action(action#String) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_controller/metal/instrumentation.rb:29 
#49 ActionController::Rescue.process_action 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_controller/metal/rescue.rb:17 
#50 AbstractController::Base.process(action#String) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/abstract_controller/base.rb:119 
#51 AbstractController::Rendering.process 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/abstract_controller/rendering.rb:41 
#52 ActionController::Metal.dispatch(name#String, request#ActionDispatch::Request,...) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_controller/metal.rb:138 
#53 ActionController::RackDelegation.dispatch(action#String, request#ActionDispatch::Request,...) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_controller/metal/rack_delegation.rb:14 
#54 Proc.new(controller#Class) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_controller/metal/rack_delegation.rb:11 
#55 ActionDispatch::Routing::RouteSet::Dispatcher.dispatch(controller#Class, action#String,...) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/routing/route_set.rb:62 
#56 ActionDispatch::Routing::RouteSet::Dispatcher.[](env#Hash) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/routing/route_set.rb:27 
#57 call(obj#ActionDispatch::Request) 
    at line /var/lib/gems/1.8/gems/rack-mount-0.6.14/lib/rack/mount/route_set.rb:148 
#58 recognize(obj#ActionDispatch::Request) 
    at line /var/lib/gems/1.8/gems/rack-mount-0.6.14/lib/rack/mount/code_generation.rb:92 
#59 Rack::Mount::RouteSet.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/rack-mount-0.6.14/lib/rack/mount/route_set.rb:139 
#60 ActionDispatch::Routing::RouteSet.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/routing/route_set.rb:493 
#61 Sass::Plugin::Rack.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/sass-3.1.15/lib/sass/plugin/rack.rb:54 
#62 Kernel.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/warden-1.0.3/lib/warden/manager.rb:35 
#63 Warden::Manager.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/warden-1.0.3/lib/warden/manager.rb:34 
#64 ActionDispatch::BestStandardsSupport.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/middleware/best_standards_support.rb:17 
#65 ActionDispatch::Head.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/middleware/head.rb:14 
#66 Rack::MethodOverride.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/rack-1.2.5/lib/rack/methodoverride.rb:24 
#67 ActionDispatch::ParamsParser.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/middleware/params_parser.rb:21 
#68 ActionDispatch::Flash.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/middleware/flash.rb:182 
#69 ActionDispatch::Session::AbstractStore.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/middleware/session/abstract_store.rb:149 
#70 ActionDispatch::Cookies.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/middleware/cookies.rb:302 
#71 ActiveRecord::ConnectionAdapters::QueryCache.call 
    at line /var/lib/gems/1.8/gems/activerecord-3.0.7/lib/active_record/query_cache.rb:32 
#72 ActiveRecord::QueryCache::ClassMethods.cache 
    at line /var/lib/gems/1.8/gems/activerecord-3.0.7/lib/active_record/query_cache.rb:12 
#73 ActiveRecord::QueryCache.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/activerecord-3.0.7/lib/active_record/query_cache.rb:31 
#74 ActiveRecord::ConnectionAdapters::ConnectionManagement.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/activerecord-3.0.7/lib/active_record/connection_adapters/abstract/connection_pool.rb:354 
#75 ActionDispatch::Callbacks.call(key#NilClass) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/middleware/callbacks.rb:46 
#76 ActionDispatch::Callbacks.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/middleware/callbacks.rb:44 
#77 Rack::Sendfile.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/rack-1.2.5/lib/rack/sendfile.rb:106 
#78 ActionDispatch::RemoteIp.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/middleware/remote_ip.rb:48 
#79 ActionDispatch::ShowExceptions.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/middleware/show_exceptions.rb:47 
#80 Rails::Rack::Logger.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/railties-3.0.7/lib/rails/rack/logger.rb:13 
#81 Rack::Runtime.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/rack-1.2.5/lib/rack/runtime.rb:17 
#82 ActiveSupport::Cache::Strategy::LocalCache.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/activesupport-3.0.7/lib/active_support/cache/strategy/local_cache.rb:72 
#83 Mutex.call at line /var/lib/gems/1.8/gems/rack-1.2.5/lib/rack/lock.rb:13 
#84 Rack::Lock.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/rack-1.2.5/lib/rack/lock.rb:13 
#85 ActionDispatch::Static.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/middleware/static.rb:30 
#86 Rails::Application.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/railties-3.0.7/lib/rails/application.rb:168 
#87 Kernel.send(args#Array, block#NilClass) 
    at line /var/lib/gems/1.8/gems/railties-3.0.7/lib/rails/application.rb:77 
#88 Rails::Application.method_missing 
    at line /var/lib/gems/1.8/gems/railties-3.0.7/lib/rails/application.rb:77 
#89 Rails::Rack::Debugger.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/railties-3.0.7/lib/rails/rack/debugger.rb:21 
#90 Rails::Rack::LogTailer.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/railties-3.0.7/lib/rails/rack/log_tailer.rb:14 
#91 Rack::ContentLength.call(env#Hash) 
    at line /var/lib/gems/1.8/gems/rack-1.2.5/lib/rack/content_length.rb:13 
#92 Rack::Handler::WEBrick.service(req#WEBrick::HTTPRequest, res#WEBrick::HTTPResponse,...) 
    at line /var/lib/gems/1.8/gems/rack-1.2.5/lib/rack/handler/webrick.rb:52 
#93 WEBrick::HTTPServer.service(req#WEBrick::HTTPRequest, res#WEBrick::HTTPResponse,...) 
    at line /usr/lib/ruby/1.8/webrick/httpserver.rb:104 
#94 WEBrick::HTTPServer.run(sock#TCPSocket) 
    at line /usr/lib/ruby/1.8/webrick/httpserver.rb:65 
#95 WEBrick::GenericServer.start_thread(sock#TCPSocket) 
    at line /usr/lib/ruby/1.8/webrick/server.rb:173 
+0

대답이 없지만 문제가 지속되는지 확인하기 위해 3.0.12와 같은 3.0.x 버전을 사용하는 것이 좋습니다. –

+0

고맙지 만 3.0.12로 업그레이드 한 후에도 문제가 지속됩니다. – mrzasa

답변

0

문제는 내가 블록 변수를 전달하는 것을 잊었다이었다

여기 내 스택 트레이스입니다. Active Admin은 존재하지 않는 변수를 찾는 대신 오류를 발생시켜야한다고 생각합니다. 올바른 버전 :

column "Photo" do user 
    user.photo 
end