[Pkg-puppet-devel] Bug#984603: puppet-master-passenger crashes when ruby-scanf is not installed

Frederik fhimpe at vub.ac.be
Fri Mar 5 18:09:23 GMT 2021


Package: puppet-master-passenger
Version: 5.5.22-1
Severity: normal

Dear Maintainer,

I upgraded my system running puppet-master-passenger from Buster to
bullseye. From that moment on, puppet-master-passenger crashed when a
client tries to retriveve its configuration. The follow stacktrace could
be found in the Apache error.log:

App 25308 stderr: [ 2021-03-05 18:58:49.5455 28292/0x000056253d9b7cc0(Worker 1) utils.rb:87 ]: *** Exception LoadError (cannot load such file -- scanf) (process 28292, thread 0x000056253d9b7cc0(Worker 1)):
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb:85:in `require'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb:85:in `require'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/functions/scanf.rb:29:in `block in get_binding'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/functions.rb:250:in `class_eval'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/functions.rb:250:in `create_loaded_function'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/functions.rb:191:in `create_function'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/functions/scanf.rb:28:in `get_binding'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/loader/ruby_function_instantiator.rb:22:in `eval'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/loader/ruby_function_instantiator.rb:22:in `create'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/loader/module_loaders.rb:263:in `instantiate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/loader/module_loaders.rb:237:in `find'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/loader/base_loader.rb:161:in `internal_load'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/loader/base_loader.rb:42:in `load_typed'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/loader/base_loader.rb:153:in `internal_load'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/loader/base_loader.rb:42:in `load_typed'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/loader/base_loader.rb:153:in `internal_load'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/loader/base_loader.rb:42:in `load_typed'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/loader/base_loader.rb:153:in `internal_load'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/loader/base_loader.rb:42:in `load_typed'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/loader/base_loader.rb:153:in `internal_load'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/loader/base_loader.rb:42:in `load_typed'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/loader/loader.rb:72:in `load'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:302:in `call_function'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:964:in `call_function_with_block'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:959:in `eval_CallMethodExpression'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:90:in `visit_this_1'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:370:in `eval_AssignmentExpression'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:90:in `visit_this_1'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:660:in `block in eval_BlockExpression'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:660:in `each'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:660:in `reduce'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:660:in `eval_BlockExpression'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:90:in `visit_this_1'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:177:in `block in evaluate_block_with_bindings'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/scope.rb:983:in `with_guarded_scope'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:173:in `evaluate_block_with_bindings'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/closure.rb:233:in `block in call_with_scope'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/closure.rb:232:in `catch'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/closure.rb:232:in `call_with_scope'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/closure.rb:77:in `block in invoke'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/scope.rb:956:in `without_ephemeral_scopes'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/scope.rb:933:in `with_global_scope'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/closure.rb:76:in `invoke'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:43:in `block in dispatch'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:42:in `catch'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:42:in `dispatch'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:46:in `block in call'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:45:in `catch'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:45:in `call'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/puppet_stack.rb:41:in `stack'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:305:in `block in call_function'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:303:in `call_function'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:964:in `call_function_with_block'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:933:in `eval_CallNamedFunctionExpression'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:90:in `visit_this_1'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:510:in `eval_ComparisonExpression'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:90:in `visit_this_1'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:1027:in `block in eval_IfExpression'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/scope.rb:983:in `with_guarded_scope'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:1026:in `eval_IfExpression'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:90:in `visit_this_1'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:660:in `block in eval_BlockExpression'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:660:in `each'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:660:in `reduce'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:660:in `eval_BlockExpression'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:90:in `visit_this_1'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/parser/evaluating_parser.rb:63:in `evaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:32:in `evaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:72:in `block (2 levels) in evaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:71:in `catch'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:71:in `block in evaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:70:in `catch'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:70:in `evaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/ast.rb:31:in `safeevaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/resource/type.rb:140:in `evaluate_code'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/resource.rb:79:in `block in evaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/resource.rb:71:in `evaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:386:in `each'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:386:in `evaluate_classes'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_resou
App 25308 stderr: rce_support.rb:61:in `block in create_resources'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_resource_support.rb:37:in `map'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_resource_support.rb:37:in `create_resources'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:341:in `create_resources'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:865:in `block in eval_ResourceExpression'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:862:in `map'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:862:in `eval_ResourceExpression'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:90:in `visit_this_1'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:660:in `block in eval_BlockExpression'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:660:in `each'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:660:in `reduce'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:660:in `eval_BlockExpression'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:90:in `visit_this_1'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/pops/parser/evaluating_parser.rb:63:in `evaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:32:in `evaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/ast.rb:31:in `safeevaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/resource/type.rb:140:in `evaluate_code'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/resource.rb:79:in `block in evaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/resource.rb:71:in `evaluate'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:508:in `evaluate_ast_node'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:170:in `block (2 levels) in compile'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:170:in `block in compile'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/context.rb:65:in `override'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet.rb:263:in `override'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:155:in `compile'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:35:in `compile'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:303:in `block (2 levels) in compile'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:301:in `block in compile'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/util.rb:232:in `block in benchmark'
App 25308 stderr: 	from /usr/lib/ruby/2.7.0/benchmark.rb:308:in `realtime'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/util.rb:231:in `benchmark'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:299:in `compile'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:54:in `block in find'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/node/environment.rb:456:in `with_text_domain'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:53:in `find'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:198:in `find'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:132:in `do_find'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:48:in `block in call'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/context.rb:65:in `override'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet.rb:263:in `override'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:47:in `call'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/network/http/route.rb:82:in `block in process'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/network/http/route.rb:81:in `each'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/network/http/route.rb:81:in `process'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/network/http/route.rb:87:in `process'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/network/http/route.rb:87:in `process'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:64:in `block in process'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:62:in `process'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/puppet/network/http/rack.rb:21:in `call'
App 25308 stderr: 	from config.ru:60:in `call'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/phusion_passenger/rack/thread_handler_extension.rb:97:in `process_request'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler/thread_handler.rb:160:in `accept_and_process_next_request'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler/thread_handler.rb:113:in `main_loop'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler.rb:416:in `block (3 levels) in start_threads'
App 25308 stderr: 	from /usr/lib/ruby/vendor_ruby/phusion_passenger/utils.rb:113:in `block in create_thread_and_abort_on_exception'
[ 2021-03-05 18:58:49.5686 25197/7f69227fc700 age/Cor/CoreMain.cpp:818 ]: Checking whether to disconnect long-running connections for process 28292, application /usr/share/puppet/rack/puppet-master

Installing ruby-scanf fixed the problem.

-- System Information:
Debian Release: bullseye/sid
  APT prefers stable
  APT policy: (700, 'stable'), (650, 'proposed-updates'), (600, 'oldstable'), (500, 'oldoldstable'), (500, 'testing'), (200, 'unstable'), (160, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 5.10.0-3-amd64 (SMP w/4 CPU threads)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages puppet-master-passenger depends on:
ii  apache2                   2.4.46-4
ii  libapache2-mod-passenger  5.0.30-1.2
ii  lsb-base                  11.1.0
ii  puppet                    5.5.22-1
ii  ruby                      1:2.7+2

puppet-master-passenger recommends no packages.

puppet-master-passenger suggests no packages.

-- no debconf information



More information about the Pkg-puppet-devel mailing list