# Remove test file
david@zion:~/Work/puppet/puppet$ rm -f test.pp
# demonstrate failure
david@zion:~/Work/puppet/puppet$ puppet --verbose --trace test.pp
/home/david/Work/puppet/puppet/lib/puppet/parser/parser_support.rb:98:in `file='
/home/david/Work/puppet/puppet/lib/puppet/parser/interpreter.rb:69:in `create_parser'
/home/david/Work/puppet/puppet/lib/puppet/parser/interpreter.rb:96:in `parser'
/home/david/Work/puppet/puppet/lib/puppet/parser/interpreter.rb:28:in `compile'
/home/david/Work/puppet/puppet/lib/puppet/network/handler/configuration.rb:109:in `compile'
/home/david/Work/puppet/puppet/lib/puppet/util.rb:217:in `benchmark'
/home/david/Work/puppet/puppet/lib/puppet/network/handler/configuration.rb:107:in `compile'
/home/david/Work/puppet/puppet/lib/puppet/network/handler/configuration.rb:40:in `configuration'
/home/david/Work/puppet/puppet/lib/puppet/network/handler/master.rb:81:in `getconfig'
/home/david/Work/puppet/puppet/lib/puppet/network/client/master.rb:606:in `get_local_config'
/home/david/Work/puppet/puppet/lib/puppet/network/client/master.rb:589:in `get_actual_config'
/home/david/Work/puppet/puppet/lib/puppet/network/client/master.rb:215:in `getconfig'
/home/david/Work/puppet/puppet/bin/puppet:197
/home/david/Work/puppet/puppet/lib/puppet/parser/compile.rb:413:in `initvars'
/home/david/Work/puppet/puppet/lib/puppet/parser/compile.rb:166:in `initialize'
/home/david/Work/puppet/puppet/lib/puppet/parser/interpreter.rb:28:in `new'
/home/david/Work/puppet/puppet/lib/puppet/parser/interpreter.rb:28:in `compile'
/home/david/Work/puppet/puppet/lib/puppet/network/handler/configuration.rb:109:in `compile'
/home/david/Work/puppet/puppet/lib/puppet/util.rb:217:in `benchmark'
/home/david/Work/puppet/puppet/lib/puppet/network/handler/configuration.rb:107:in `compile'
/home/david/Work/puppet/puppet/lib/puppet/network/handler/configuration.rb:40:in `configuration'
/home/david/Work/puppet/puppet/lib/puppet/network/handler/master.rb:81:in `getconfig'
/home/david/Work/puppet/puppet/lib/puppet/network/client/master.rb:606:in `get_local_config'
/home/david/Work/puppet/puppet/lib/puppet/network/client/master.rb:589:in `get_actual_config'
/home/david/Work/puppet/puppet/lib/puppet/network/client/master.rb:215:in `getconfig'
/home/david/Work/puppet/puppet/bin/puppet:197
undefined method `version' for nil:NilClass
/home/david/Work/puppet/puppet/lib/puppet/parser/compile.rb:413:in `initvars'
/home/david/Work/puppet/puppet/lib/puppet/parser/compile.rb:166:in `initialize'
/home/david/Work/puppet/puppet/lib/puppet/parser/interpreter.rb:28:in `new'
/home/david/Work/puppet/puppet/lib/puppet/parser/interpreter.rb:28:in `compile'
/home/david/Work/puppet/puppet/lib/puppet/network/handler/configuration.rb:109:in `compile'
/home/david/Work/puppet/puppet/lib/puppet/util.rb:217:in `benchmark'
/home/david/Work/puppet/puppet/lib/puppet/network/handler/configuration.rb:107:in `compile'
/home/david/Work/puppet/puppet/lib/puppet/network/handler/configuration.rb:40:in `configuration'
/home/david/Work/puppet/puppet/lib/puppet/network/handler/master.rb:81:in `getconfig'
/home/david/Work/puppet/puppet/lib/puppet/network/client/master.rb:606:in `get_local_config'
/home/david/Work/puppet/puppet/lib/puppet/network/client/master.rb:589:in `get_actual_config'
/home/david/Work/puppet/puppet/lib/puppet/network/client/master.rb:215:in `getconfig'
/home/david/Work/puppet/puppet/bin/puppet:197
# create test file
david@zion:~/Work/puppet/puppet$ echo 'package { ruby: ensure => installed; }' > test.pp
# demonstrate working case
david@zion:~/Work/puppet/puppet$ puppet --verbose --trace test.pp
david@zion:~/Work/puppet/puppet$
This should produce a error message pointing out the missing file, instead of "undefined method `version' for nil:NilClass".
This happens on etch and sid with current HEAD.