Issue #9285 has been updated by naruse (Yui NARUSE). At first, I say what it is. It is the C function name where the exception is raised. Therefore you can't the name from Ruby. The background is that IO-related exceptions may be raised many places. If I encounter an unexpected exception, only errno is not sufficient information. I cannot debug without where the error is generated. The string gives us the information. Anyway normal ruby users don't need such information. Therefore it may be hidden on release build. ---------------------------------------- Bug #9285: Exception message of Errno::ENOENT contains strings @ rb_sysopen and @ dir_initialize in Ruby 2.1 https://bugs.ruby-lang.org/issues/9285#change-43846 Author: abotalov (Andrey Botalov) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 2.1.0dev (2013-12-20 trunk 44301) [x86_64-linux] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN Exception message of Errno::ENOENT exception contains strings "@ rb_sysopen" or "@ dir_initialize" in Ruby 2.1.0-rc1. It doesn't contain them in Ruby 2.0. I would expect exception message not to contain those strings. Example in Ruby 2.1: $ irb 2.1.0dev :001 > File.new('/path/to/not/existent/file') Errno::ENOENT: No such file or directory @ rb_sysopen - /path/to/not/existent/file from (irb):1:in `initialize' from (irb):1:in `new' from (irb):1 from /home/andrey/.rvm/rubies/ruby-2.1.0-rc1/bin/irb:11:in `<main>' 2.1.0dev :002 > Dir.open('/path/to/not/existent/folder') Errno::ENOENT: No such file or directory @ dir_initialize - /path/to/not/existent/folder from (irb):2:in `open' from (irb):2 from /home/andrey/.rvm/rubies/ruby-2.1.0-rc1/bin/irb:11:in `<main>' 2.1.0dev :003 > Version: ruby 2.1.0dev (2013-12-20 trunk 44301) [x86_64-linux] It's installed via RVM. Ubuntu 13.04 -- http://bugs.ruby-lang.org/