Surgo / redmine_reposearch

Full-text search of a repository plugin.
15 stars 7 forks source link

'open_db' NoMethod error #17

Open GregAujay opened 12 years ago

GregAujay commented 12 years ago

Hello, I am using redmine 1.4.4 (bitnami) and I get this error when I go to the reposearch tab:

Parameters : {"action" => "search", "id" => "my-project", "controller" => "reposearch"} NoMethodError (undefined method ‘open_db’ for #ReposearchController:0x7fd79e767f28)

I have not initialized any SCM repo so basically my db is empty.

tisoft commented 11 years ago

I have the same error with redmine 2.2.0:

Started GET "/redmine/projects/allgemein/reposearch" for 93.195.71.117 at 2013-01-14 12:38:41 +0100 Processing by ReposearchController#search as HTML Parameters: {"id"=>"allgemein"} Current user: markus (id=3) Completed 500 Internal Server Error in 8ms

NameError (undefined local variable or method open_db' for #<ReposearchController:0x0000000628da88>): /usr/lib/ruby/vendor_ruby/active_support/callbacks.rb:484:in_run2710755067155017780process_action983617027477320882callbacks' /usr/lib/ruby/vendor_ruby/active_support/callbacks.rb:405:in __run_callback' /usr/lib/ruby/vendor_ruby/active_support/callbacks.rb:385:in_run_process_action_callbacks' /usr/lib/ruby/vendor_ruby/active_support/callbacks.rb:81:in run_callbacks' /usr/lib/ruby/vendor_ruby/abstract_controller/callbacks.rb:17:inprocess_action' /usr/lib/ruby/vendor_ruby/action_controller/metal/rescue.rb:29:in process_action' /usr/lib/ruby/vendor_ruby/action_controller/metal/instrumentation.rb:30:inblock in process_action' /usr/lib/ruby/vendor_ruby/active_support/notifications.rb:123:in block in instrument' /usr/lib/ruby/vendor_ruby/active_support/notifications/instrumenter.rb:20:ininstrument' /usr/lib/ruby/vendor_ruby/active_support/notifications.rb:123:in instrument' /usr/lib/ruby/vendor_ruby/action_controller/metal/instrumentation.rb:29:inprocess_action' /usr/lib/ruby/vendor_ruby/action_controller/metal/params_wrapper.rb:207:in process_action' /usr/lib/ruby/vendor_ruby/active_record/railties/controller_runtime.rb:18:inprocess_action' /usr/lib/ruby/vendor_ruby/abstract_controller/base.rb:121:in process' /usr/lib/ruby/vendor_ruby/abstract_controller/rendering.rb:45:inprocess' /usr/lib/ruby/vendor_ruby/action_controller/metal.rb:203:in dispatch' /usr/lib/ruby/vendor_ruby/action_controller/metal/rack_delegation.rb:14:indispatch' /usr/lib/ruby/vendor_ruby/action_controller/metal.rb:246:in block in action' /usr/lib/ruby/vendor_ruby/action_dispatch/routing/route_set.rb:73:incall' /usr/lib/ruby/vendor_ruby/action_dispatch/routing/route_set.rb:73:in dispatch' /usr/lib/ruby/vendor_ruby/action_dispatch/routing/route_set.rb:36:incall' /usr/lib/ruby/vendor_ruby/journey/router.rb:68:in block in call' /usr/lib/ruby/vendor_ruby/journey/router.rb:56:ineach' /usr/lib/ruby/vendor_ruby/journey/router.rb:56:in call' /usr/lib/ruby/vendor_ruby/action_dispatch/routing/route_set.rb:600:incall' /usr/lib/ruby/vendor_ruby/rack/openid.rb:98:in call' /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/best_standards_support.rb:17:incall' /usr/lib/ruby/vendor_ruby/rack/etag.rb:23:in call' /usr/lib/ruby/vendor_ruby/rack/conditionalget.rb:25:incall' /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/head.rb:14:in call' /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/params_parser.rb:21:incall' /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/flash.rb:242:in call' /usr/lib/ruby/vendor_ruby/rack/session/abstract/id.rb:205:incontext' /usr/lib/ruby/vendor_ruby/rack/session/abstract/id.rb:200:in call' /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/cookies.rb:339:incall' /usr/lib/ruby/vendor_ruby/active_record/query_cache.rb:64:in call' /usr/lib/ruby/vendor_ruby/active_record/connection_adapters/abstract/connection_pool.rb:473:incall' /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/callbacks.rb:28:in block in call' /usr/lib/ruby/vendor_ruby/active_support/callbacks.rb:405:in_run428618013423873357call4041433638017885551callbacks' /usr/lib/ruby/vendor_ruby/active_support/callbacks.rb:405:in __run_callback' /usr/lib/ruby/vendor_ruby/active_support/callbacks.rb:385:in_run_call_callbacks' /usr/lib/ruby/vendor_ruby/active_support/callbacks.rb:81:in run_callbacks' /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/callbacks.rb:27:incall' /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/remote_ip.rb:31:in call' /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/debug_exceptions.rb:16:incall' /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/show_exceptions.rb:56:in call' /usr/lib/ruby/vendor_ruby/rails/rack/logger.rb:26:incall_app' /usr/lib/ruby/vendor_ruby/rails/rack/logger.rb:16:in call' /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/request_id.rb:22:incall' /usr/lib/ruby/vendor_ruby/rack/methodoverride.rb:21:in call' /usr/lib/ruby/vendor_ruby/rack/runtime.rb:17:incall' /usr/lib/ruby/vendor_ruby/active_support/cache/strategy/local_cache.rb:72:in call' /usr/lib/ruby/vendor_ruby/rack/lock.rb:15:incall' /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/static.rb:62:in call' /usr/lib/ruby/vendor_ruby/rack/cache/context.rb:136:inforward' /usr/lib/ruby/vendor_ruby/rack/cache/context.rb:245:in fetch' /usr/lib/ruby/vendor_ruby/rack/cache/context.rb:185:inlookup' /usr/lib/ruby/vendor_ruby/rack/cache/context.rb:66:in call!' /usr/lib/ruby/vendor_ruby/rack/cache/context.rb:51:incall' /usr/lib/ruby/vendor_ruby/rails/engine.rb:479:in call' /usr/lib/ruby/vendor_ruby/rails/application.rb:223:incall' /usr/lib/ruby/vendor_ruby/rails/railtie/configurable.rb:30:in method_missing' /usr/lib/ruby/vendor_ruby/phusion_passenger/rack/request_handler.rb:96:inprocess_request' /usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_request_handler.rb:516:in accept_and_process_next_request' /usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_request_handler.rb:274:inmain_loop' /usr/lib/ruby/vendor_ruby/phusion_passenger/classic_rails/application_spawner.rb:321:in start_request_handler' /usr/lib/ruby/vendor_ruby/phusion_passenger/classic_rails/application_spawner.rb:275:inblock in handle_spawn_application' /usr/lib/ruby/vendor_ruby/phusion_passenger/utils.rb:479:in safe_fork' /usr/lib/ruby/vendor_ruby/phusion_passenger/classic_rails/application_spawner.rb:270:inhandle_spawn_application' /usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:357:in server_main_loop' /usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:206:instart_synchronously' /usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:180:in start' /usr/lib/ruby/vendor_ruby/phusion_passenger/classic_rails/application_spawner.rb:149:instart' /usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:219:in block (2 levels) in spawn_rails_application' /usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server_collection.rb:132:inlookup_or_add' /usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:214:in block in spawn_rails_application' /usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server_collection.rb:82:inblock in synchronize' internal:prelude:10:in synchronize' /usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server_collection.rb:79:insynchronize' /usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:213:in spawn_rails_application' /usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:132:inspawn_application' /usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:275:in handle_spawn_application' /usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:357:inserver_main_loop' /usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:206:in start_synchronously' /usr/share/phusion-passenger/helper-scripts/passenger-spawn-server:99:in

'

Surgo commented 11 years ago

Are you install ruby binding of estraier (libestraier-ruby)?

tisoft commented 11 years ago

I have installed ruby-hyperestraier on ubuntu 12.10 which provides libestraier-ruby

dpkg -L ruby-hyperestraier /. /usr /usr/lib /usr/lib/ruby /usr/lib/ruby/vendor_ruby /usr/lib/ruby/vendor_ruby/1.8 /usr/lib/ruby/vendor_ruby/1.8/x86_64 /usr/lib/ruby/vendor_ruby/1.8/x86_64/estraier.so /usr/lib/ruby/vendor_ruby/1.9.1 /usr/lib/ruby/vendor_ruby/1.9.1/x86_64 /usr/lib/ruby/vendor_ruby/1.9.1/x86_64/estraier.so /usr/lib/ruby/vendor_ruby/estraierpure.rb /usr/lib/ruby/vendor_ruby/estraier-doc.rb /usr/share /usr/share/doc /usr/share/doc/ruby-hyperestraier /usr/share/doc/ruby-hyperestraier/copyright /usr/share/doc/ruby-hyperestraier/examples /usr/share/doc/ruby-hyperestraier/examples/native /usr/share/doc/ruby-hyperestraier/examples/native/estcmd.rb.gz /usr/share/doc/ruby-hyperestraier/examples/native/Makefile /usr/share/doc/ruby-hyperestraier/examples/native/example002.rb /usr/share/doc/ruby-hyperestraier/examples/native/example001.rb /usr/share/doc/ruby-hyperestraier/examples/pure /usr/share/doc/ruby-hyperestraier/examples/pure/estcall.rb.gz /usr/share/doc/ruby-hyperestraier/examples/pure/Makefile /usr/share/doc/ruby-hyperestraier/examples/pure/example002.rb /usr/share/doc/ruby-hyperestraier/examples/pure/example001.rb /usr/share/doc/ruby-hyperestraier/changelog.Debian.gz

Surgo commented 11 years ago

On Ubuntu, you need install hyperestraier and libestraier-ruby packages.

tisoft commented 11 years ago

The ubuntu package seems to install the estraier.so in the wrong directory, so that ruby doesn't find it. I opened a bug report here: https://bugs.launchpad.net/ubuntu/+source/hyperestraier/+bug/1099830

Symlinking the so into the correct directory makes the require "estraier" work, but unfortunately I get the following exception afterwards:

Started GET "/redmine/projects/allgemein/reposearch" for 93.195.67.193 at 2013-01-15 13:42:35 +0100

SystemStackError (stack level too deep): /usr/lib/ruby/vendor_ruby/active_support/callbacks.rb:409

Anything I can do to get a better error message?

tisoft commented 11 years ago

I got it working with ruby 1.8. With 1.9.3 I still get the SystemStackError (stack level too deep)

Surgo commented 11 years ago

Maybe your estraier look up ruby-hyperestraier. Please uninstall ruby-hyperestraier and test it. It's only tested at libestraier-ruby. They are same package of 'Hyper Estraier Node API Libraries for Ruby' :(

Surgo commented 11 years ago

Hi @tisoft, is it work?