From: "zzak (Zachary Scott)" Date: 2013-07-10T12:48:35+09:00 Subject: [ruby-core:55897] [ruby-trunk - Bug #8551][Closed] rake 10.0.4 regression from 0.9.6 - prints verbose stacktrace Issue #8551 has been updated by zzak (Zachary Scott). Status changed from Open to Closed See ruby-core:55575 ---------------------------------------- Bug #8551: rake 10.0.4 regression from 0.9.6 - prints verbose stacktrace https://bugs.ruby-lang.org/issues/8551#change-40398 Author: townsen (Nick Townsend) Status: Closed Priority: Normal Assignee: Category: Target version: ruby -v: ruby 2.0.0p195 (2013-05-14 revision 40734) [x86_64-darwin12.3.0] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN When a sh command exits with a non-zero return code in a rake task, a full stacktrace is displayed in 10.0.4 This issue was discussed extensively in https://gist.github.com/coldnebo/1003628 and was largely fixed. Using ruby 2.0.0-p195 and rake 10.0.4 this has regressed. Here's the failure: nixmbp:test ntownsend$ ruby -v ruby 2.0.0p195 (2013-05-14 revision 40734) [x86_64-darwin12.3.0] nixmbp:test ntownsend$ rake --version rake, version 10.0.4 nixmbp:test ntownsend$ cat Rakefile desc "A sample task" task :default do sh('exit 1') end nixmbp:test ntownsend$ rake exit 1 rake aborted! Command failed with status (1): [exit 1...] /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.0.4/lib/rake/file_utils.rb:53:in `block in create_shell_runner' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.0.4/lib/rake/file_utils.rb:45:in `call' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.0.4/lib/rake/file_utils.rb:45:in `sh' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.0.4/lib/rake/file_utils_ext.rb:37:in `sh' /Users/ntownsend/test/Rakefile:3:in `block in ' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.0.4/lib/rake/task.rb:246:in `call' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.0.4/lib/rake/task.rb:246:in `block in execute' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.0.4/lib/rake/task.rb:241:in `each' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.0.4/lib/rake/task.rb:241:in `execute' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.0.4/lib/rake/task.rb:184:in `block in invoke_with_call_chain' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.0.4/lib/rake/task.rb:177:in `invoke_with_call_chain' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.0.4/lib/rake/task.rb:170:in `invoke' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.0.4/lib/rake/application.rb:143:in `invoke_task' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.0.4/lib/rake/application.rb:101:in `block (2 levels) in top_level' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.0.4/lib/rake/application.rb:101:in `each' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.0.4/lib/rake/application.rb:101:in `block in top_level' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.0.4/lib/rake/application.rb:110:in `run_with_threads' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.0.4/lib/rake/application.rb:95:in `top_level' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.0.4/lib/rake/application.rb:73:in `block in run' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.0.4/lib/rake/application.rb:160:in `standard_exception_handling' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195@global/gems/rake-10.0.4/lib/rake/application.rb:70:in `run' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:in `eval' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:in `
' Tasks: TOP => default (See full trace by running task with --trace) And here's the same thing with rake 0.9.6 nixmbp:test ntownsend$ rake --version rake, version 0.9.6 nixmbp:test ntownsend$ cat Rakefile desc "A sample task" task :default do sh('exit 1') end nixmbp:test ntownsend$ rake exit 1 rake aborted! Command failed with status (1): [exit 1...] /Users/ntownsend/test/Rakefile:3:in `block in ' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:in `eval' /Users/ntownsend/.rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:in `
' Tasks: TOP => default (See full trace by running task with --trace) Note this happens under Centos linux too - it's not a platform issue -- http://bugs.ruby-lang.org/