Copying the Job Composer (myjobs) to my dev directory causes javascript error

I copied /var/www/ood/apps/sys/myjobs into ~/ondemand/dev/myjobs. I see it in “My Sandbox Apps (Development)”, but when I click on it, I get this:

#<ActionView::Template::Error: No such file or directory - bundle>

Here is the full traceback:

``` /usr/lib/ruby/2.7.0/open3.rb:213:in `spawn' /usr/lib/ruby/2.7.0/open3.rb:213:in `popen_run' /usr/lib/ruby/2.7.0/open3.rb:208:in `popen2e' /usr/lib/ruby/2.7.0/open3.rb:390:in `capture2e' /modules/apps/ood/apps-config/sys/dashboard/app/models/product.rb:56:in `block (2 levels) in gems_installed?' /usr/lib/ruby/2.7.0/bundler.rb:376:in `block in with_clean_env' /usr/lib/ruby/2.7.0/bundler.rb:677:in `with_env' /usr/lib/ruby/2.7.0/bundler.rb:376:in `with_clean_env' /modules/apps/ood/apps-config/sys/dashboard/app/models/product.rb:54:in `block in gems_installed?' /modules/apps/ood/apps-config/sys/dashboard/app/models/product.rb:53:in `chdir' /modules/apps/ood/apps-config/sys/dashboard/app/models/product.rb:53:in `gems_installed?' /modules/apps/ood/apps-config/sys/dashboard/app/models/product.rb:43:in `gems_are_valid' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/callbacks.rb:426:in `block in make_lambda' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/callbacks.rb:179:in `block (2 levels) in halting_and_conditional' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/callbacks.rb:606:in `block (2 levels) in default_terminator' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/callbacks.rb:605:in `catch' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/callbacks.rb:605:in `block in default_terminator' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/callbacks.rb:180:in `block in halting_and_conditional' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/callbacks.rb:513:in `block in invoke_before' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/callbacks.rb:513:in `each' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/callbacks.rb:513:in `invoke_before' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/callbacks.rb:131:in `run_callbacks' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/callbacks.rb:816:in `_run_validate_callbacks' /opt/ood/gems/gems/activemodel-5.2.8.1/lib/active_model/validations.rb:409:in `run_validations!' /opt/ood/gems/gems/activemodel-5.2.8.1/lib/active_model/validations.rb:339:in `valid?' /modules/apps/ood/apps-config/sys/dashboard/app/views/products/show.html.erb:146:in `_app_views_products_show_html_erb__2634101486107992025_19280' /opt/ood/gems/gems/actionview-5.2.8.1/lib/action_view/template.rb:159:in `block in render' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/notifications.rb:170:in `instrument' /opt/ood/gems/gems/actionview-5.2.8.1/lib/action_view/template.rb:354:in `instrument_render_template' /opt/ood/gems/gems/actionview-5.2.8.1/lib/action_view/template.rb:157:in `render' /opt/ood/gems/gems/actionview-5.2.8.1/lib/action_view/renderer/template_renderer.rb:54:in `block (2 levels) in render_template' /opt/ood/gems/gems/actionview-5.2.8.1/lib/action_view/renderer/abstract_renderer.rb:44:in `block in instrument' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/notifications.rb:170:in `instrument' /opt/ood/gems/gems/actionview-5.2.8.1/lib/action_view/renderer/abstract_renderer.rb:43:in `instrument' /opt/ood/gems/gems/actionview-5.2.8.1/lib/action_view/renderer/template_renderer.rb:53:in `block in render_template' /opt/ood/gems/gems/actionview-5.2.8.1/lib/action_view/renderer/template_renderer.rb:61:in `render_with_layout' /opt/ood/gems/gems/actionview-5.2.8.1/lib/action_view/renderer/template_renderer.rb:52:in `render_template' /opt/ood/gems/gems/actionview-5.2.8.1/lib/action_view/renderer/template_renderer.rb:16:in `render' /opt/ood/gems/gems/actionview-5.2.8.1/lib/action_view/renderer/renderer.rb:44:in `render_template' /opt/ood/gems/gems/actionview-5.2.8.1/lib/action_view/renderer/renderer.rb:25:in `render' /opt/ood/gems/gems/actionview-5.2.8.1/lib/action_view/rendering.rb:103:in `_render_template' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_controller/metal/streaming.rb:219:in `_render_template' /opt/ood/gems/gems/actionview-5.2.8.1/lib/action_view/rendering.rb:84:in `render_to_body' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_controller/metal/rendering.rb:52:in `render_to_body' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_controller/metal/renderers.rb:142:in `render_to_body' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/abstract_controller/rendering.rb:25:in `render' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_controller/metal/rendering.rb:36:in `render' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_controller/metal/instrumentation.rb:46:in `block (2 levels) in render' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/core_ext/benchmark.rb:14:in `block in ms' /usr/lib/ruby/2.7.0/benchmark.rb:308:in `realtime' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/core_ext/benchmark.rb:14:in `ms' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_controller/metal/instrumentation.rb:46:in `block in render' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_controller/metal/instrumentation.rb:87:in `cleanup_view_runtime' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_controller/metal/instrumentation.rb:45:in `render' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_controller/metal/implicit_render.rb:35:in `default_render' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `block in send_action' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `tap' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/abstract_controller/base.rb:194:in `process_action' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_controller/metal/rendering.rb:30:in `process_action' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/abstract_controller/callbacks.rb:42:in `block in process_action' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/callbacks.rb:132:in `run_callbacks' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/abstract_controller/callbacks.rb:41:in `process_action' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_controller/metal/rescue.rb:22:in `process_action' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_controller/metal/instrumentation.rb:34:in `block in process_action' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/notifications.rb:168:in `block in instrument' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/notifications/instrumenter.rb:23:in `instrument' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/notifications.rb:168:in `instrument' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_controller/metal/instrumentation.rb:32:in `process_action' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_controller/metal/params_wrapper.rb:256:in `process_action' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/abstract_controller/base.rb:134:in `process' /opt/ood/gems/gems/actionview-5.2.8.1/lib/action_view/rendering.rb:32:in `process' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_controller/metal.rb:191:in `dispatch' /modules/apps/ood/apps-config/sys/dashboard/app/controllers/products_controller.rb:137:in `dispatch' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_controller/metal.rb:252:in `dispatch' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_dispatch/routing/route_set.rb:52:in `dispatch' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_dispatch/routing/route_set.rb:34:in `serve' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_dispatch/routing/mapper.rb:18:in `block in ' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_dispatch/routing/mapper.rb:48:in `serve' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_dispatch/journey/router.rb:52:in `block in serve' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_dispatch/journey/router.rb:35:in `each' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_dispatch/journey/router.rb:35:in `serve' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_dispatch/routing/route_set.rb:840:in `call' /opt/ood/gems/gems/rack-2.2.4/lib/rack/tempfile_reaper.rb:15:in `call' /opt/ood/gems/gems/rack-2.2.4/lib/rack/etag.rb:27:in `call' /opt/ood/gems/gems/rack-2.2.4/lib/rack/conditional_get.rb:27:in `call' /opt/ood/gems/gems/rack-2.2.4/lib/rack/head.rb:12:in `call' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_dispatch/http/content_security_policy.rb:18:in `call' /opt/ood/gems/gems/rack-2.2.4/lib/rack/session/abstract/id.rb:266:in `context' /opt/ood/gems/gems/rack-2.2.4/lib/rack/session/abstract/id.rb:260:in `call' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_dispatch/middleware/cookies.rb:670:in `call' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/callbacks.rb:98:in `run_callbacks' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_dispatch/middleware/callbacks.rb:26:in `call' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_dispatch/middleware/debug_exceptions.rb:61:in `call' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call' /opt/ood/gems/gems/lograge-0.12.0/lib/lograge/rails_ext/rack/logger.rb:18:in `call_app' /opt/ood/gems/gems/railties-5.2.8.1/lib/rails/rack/logger.rb:26:in `block in call' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/tagged_logging.rb:71:in `block in tagged' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/tagged_logging.rb:28:in `tagged' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/tagged_logging.rb:71:in `tagged' /opt/ood/gems/gems/railties-5.2.8.1/lib/rails/rack/logger.rb:26:in `call' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_dispatch/middleware/remote_ip.rb:81:in `call' /opt/ood/gems/gems/request_store-1.5.1/lib/request_store/middleware.rb:19:in `call' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_dispatch/middleware/request_id.rb:27:in `call' /opt/ood/gems/gems/rack-2.2.4/lib/rack/method_override.rb:24:in `call' /opt/ood/gems/gems/rack-2.2.4/lib/rack/runtime.rb:22:in `call' /opt/ood/gems/gems/activesupport-5.2.8.1/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call' /opt/ood/gems/gems/actionpack-5.2.8.1/lib/action_dispatch/middleware/executor.rb:14:in `call' /opt/ood/gems/gems/rack-2.2.4/lib/rack/sendfile.rb:110:in `call' /opt/ood/gems/gems/railties-5.2.8.1/lib/rails/engine.rb:524:in `call' /opt/ood/ondemand/root/usr/share/ruby/vendor_ruby/phusion_passenger/rack/thread_handler_extension.rb:107:in `process_request' /opt/ood/ondemand/root/usr/share/ruby/vendor_ruby/phusion_passenger/request_handler/thread_handler.rb:149:in `accept_and_process_next_request' /opt/ood/ondemand/root/usr/share/ruby/vendor_ruby/phusion_passenger/request_handler/thread_handler.rb:110:in `main_loop' /opt/ood/ondemand/root/usr/share/ruby/vendor_ruby/phusion_passenger/request_handler.rb:419:in `block (3 levels) in start_threads' /opt/ood/ondemand/root/usr/share/ruby/vendor_ruby/phusion_passenger/utils.rb:113:in `block in create_thread_and_abort_on_exception' ```

Any ideas?

I found that I used rsync with globbing and that I missed the .bundle directory:

rsync -r /var/www/ood/apps/sys/myjobs/* ~/ondemand/dev/myjobs

I do this because this makes it behave consistently with cp in terms of where the files end up.

I thought for sure this was the problem, and I copied .bundle/, but it didn’t make a difference.

You appear to be hitting this block where the bundle command is not in the PATH and therefore you have the error No such file or directory - bundle.

Looking at your stack trace, I am not sure where/how you’ve installed this in /modules/apps/ood/apps-config/sys/dashboard/ as a part of the module system?

In any case, when we boot this app on a web node it should find ruby (the binary/command) and bundle (the command) in the PATH from either SCL stuff or them just being in the regular PATH.

What OS is your web node (the node that has OnDemand & apache installed on it).

My OOD head node runs Ubuntu 20.04.

root@ood-head:~ # which bundle
root@ood-head:~ #

I did find /usr/lib/ruby/gems/2.7.0/gems/bundler-2.1.2/libexec/bundle

The reason that the OOD apps live in what we call /modules/apps/ood is just so that we could NFS mount that directory for easy access. That directory is mostly used for Lmod installs.

I’ve got to build a Ubuntu container to figure out what’s going on.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.