Closed zacheryph closed 14 years ago
if vm/vm (rbx) is stripped, it no longer works.
liquid:rubinius context$ ./bin/rbx -v rubinius 0.13.0-dev (1.8.7 cde67054 2009-11-06) [x86_64-apple-darwin10.2.0] liquid:rubinius context$ strip vm/vm liquid:rubinius context$ ./bin/rbx -v Fatal error loading runtime kernel:
Unable to find FFI 'ffi_environ' in: this process
0x7fff5fbfd480: #raise in kernel/alpha.rb:160 (+50) 0x7fff5fbfd830: #attach_function in kernel/platform/library.rb:108 (+114) 0x7fff5fbfdc60: Rubinius::EnvironmentAccess.module_init in kernel/platform/env.rb:9 (+87) 0x7fff5fbfdfe0: Rubinius.module_init in kernel/platform/env.rb:2 (+30) 0x7fff5fbfe370: Object#script in kernel/platform/env.rb:1 (+28) Fatal error loading runtime kernel:
Unable to find FFI 'ffi_errno' in: this process
0x7fff5fbfd800: #raise in kernel/alpha.rb:160 (+50) 0x7fff5fbfdbb0: #attach_function in kernel/platform/library.rb:108 (+114) 0x7fff5fbfdfe0: FFI::Platform::POSIX.module_init in kernel/platform/posix.rb:8 (+27) 0x7fff5fbfe370: Object#script in kernel/platform/posix.rb:4 (+32) Fatal error loading runtime kernel:
Unable to send 'malloc' on 'FFI::Platform::POSIX' (Module)
0x7fff5fbfcd00: #raise in kernel/alpha.rb:160 (+50) 0x7fff5fbfd0b0: #malloc in kernel/alpha.rb:186 (+41) 0x7fff5fbfd490: MemoryPointer.new in kernel/platform/memorypointer.rb:64 (+104) 0x7fff5fbfd890: FFI::Struct#initialize in kernel/platform/struct.rb:70 (+62) 0x7fff5fbfdc40: Class#new in kernel/alpha.rb:100 (+16) 0x7fff5fbfdfe0: File::Stat.class_init in kernel/common/file.rb:838 (+60) 0x7fff5fbfe370: Object#script in kernel/common/file.rb:831 (+126) Fatal error loading runtime kernel:
Unable to send 'isatty' on 'FFI::Platform::POSIX' (Module)
0x7fff5fbfd4f0: #raise in kernel/alpha.rb:160 (+50) 0x7fff5fbfd8a0: #isatty in kernel/alpha.rb:186 (+41) 0x7fff5fbfdc80: IO#tty? in kernel/common/io.rb:1446 (+17) 0x7fff5fbfdff0: Rubinius.module_init in kernel/delta/rubinius.rb:2 (+10) 0x7fff5fbfe370: Object#script in kernel/delta/rubinius.rb:1 (+28) exception detected at toplevel: No method 'add_reader' on Rubinius (Module) (NoMethodError) kernel/delta/kernel.rb:47 kernel/delta/module.rb:110 kernel/bootstrap/array.rb:156 kernel/delta/module.rb:110 kernel/delta/options.rb:8 kernel/delta/options.rb:7 kernel/delta/options.rb:4 kernel/delta/options.rb:1 Unknown VM exception detected. 2 rbx 0x00000001000523a5 rubinius::event::Write::~Write() + 4149 3 rbx 0x0000000100052480 rubinius::event::Write::~Write() + 4368 4 rbx 0x000000010004dd7b std::_Rb_tree<std::string, std::pair<std::string const, rubinius::ConfigParser::Entry>, std::_Select1st<std::pair<std::string const, rubinius::ConfigParser::Entry> >, std::lessstd::string, std::allocator<std::pair<std::string const, rubinius::ConfigParser::Entry> > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, rubinius::ConfigParser::Entry> >_) + 6507 5 rbx 0x000000010004e440 std::_Rbtree<std::string, std::pair<std::string const, rubinius::ConfigParser::Entry>, std::_Select1st<std::pair<std::string const, rubinius::ConfigParser::Entry> >, std::lessstd::string, std::allocator<std::pair<std::string const, rubinius::ConfigParser::Entry> > >::_M_erase(std::_Rb_treenode<std::pair<std::string const, rubinius::ConfigParser::Entry*> >) + 8240 6 rbx 0x0000000100179f10 std::right(std::ios_base&) + 832 7 rbx 0x000000010017a610 std::right(std::iosbase&) + 2624 8 rbx 0x0000000100011498 llvm::cl::ValuesClass llvm::cl::values(char const, int, char const*, ...) + 6296 9 ??? 0x0000000000000002 0x0 + 2
FFI depends on loading symbols in the binary.
I guess we're going to fix this actually.
This is not supported.
if vm/vm (rbx) is stripped, it no longer works.
liquid:rubinius context$ ./bin/rbx -v rubinius 0.13.0-dev (1.8.7 cde67054 2009-11-06) [x86_64-apple-darwin10.2.0] liquid:rubinius context$ strip vm/vm liquid:rubinius context$ ./bin/rbx -v Fatal error loading runtime kernel:
Unable to find FFI 'ffi_environ' in: this process
0x7fff5fbfd480:#raise in kernel/alpha.rb:160 (+50)
0x7fff5fbfd830: #attach_function in kernel/platform/library.rb:108 (+114)
0x7fff5fbfdc60: Rubinius::EnvironmentAccess.module_init in kernel/platform/env.rb:9 (+87)
0x7fff5fbfdfe0: Rubinius.module_init in kernel/platform/env.rb:2 (+30)
0x7fff5fbfe370: Object#script in kernel/platform/env.rb:1 (+28)
Fatal error loading runtime kernel:
Unable to find FFI 'ffi_errno' in: this process
0x7fff5fbfd800:#raise in kernel/alpha.rb:160 (+50)
0x7fff5fbfdbb0: #attach_function in kernel/platform/library.rb:108 (+114)
0x7fff5fbfdfe0: FFI::Platform::POSIX.module_init in kernel/platform/posix.rb:8 (+27)
0x7fff5fbfe370: Object#script in kernel/platform/posix.rb:4 (+32)
Fatal error loading runtime kernel:
Unable to send 'malloc' on 'FFI::Platform::POSIX' (Module)
0x7fff5fbfcd00:#raise in kernel/alpha.rb:160 (+50)
0x7fff5fbfd0b0: #malloc in kernel/alpha.rb:186 (+41)
0x7fff5fbfd490: MemoryPointer.new in kernel/platform/memorypointer.rb:64 (+104)
0x7fff5fbfd890: FFI::Struct#initialize in kernel/platform/struct.rb:70 (+62)
0x7fff5fbfdc40: Class#new in kernel/alpha.rb:100 (+16)
0x7fff5fbfdfe0: File::Stat.class_init in kernel/common/file.rb:838 (+60)
0x7fff5fbfe370: Object#script in kernel/common/file.rb:831 (+126)
Fatal error loading runtime kernel:
Unable to send 'isatty' on 'FFI::Platform::POSIX' (Module)
0x7fff5fbfd4f0:#raise in kernel/alpha.rb:160 (+50)
0x7fff5fbfd8a0: #isatty in kernel/alpha.rb:186 (+41)
0x7fff5fbfdc80: IO#tty? in kernel/common/io.rb:1446 (+17)
0x7fff5fbfdff0: Rubinius.module_init in kernel/delta/rubinius.rb:2 (+10)
0x7fff5fbfe370: Object#script in kernel/delta/rubinius.rb:1 (+28)
exception detected at toplevel: No method 'add_reader' on Rubinius (Module) (NoMethodError)
kernel/delta/kernel.rb:47
kernel/delta/module.rb:110
kernel/bootstrap/array.rb:156
kernel/delta/module.rb:110
kernel/delta/options.rb:8
kernel/delta/options.rb:7
kernel/delta/options.rb:4
kernel/delta/options.rb:1
Unknown VM exception detected.
2 rbx 0x00000001000523a5 rubinius::event::Write::~Write() + 4149
3 rbx 0x0000000100052480 rubinius::event::Write::~Write() + 4368
4 rbx 0x000000010004dd7b std::_Rb_tree<std::string, std::pair<std::string const, rubinius::ConfigParser::Entry>, std::_Select1st<std::pair<std::string const, rubinius::ConfigParser::Entry> >, std::lessstd::string, std::allocator<std::pair<std::string const, rubinius::ConfigParser::Entry> > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, rubinius::ConfigParser::Entry> >_) + 6507
5 rbx 0x000000010004e440 std::_Rbtree<std::string, std::pair<std::string const, rubinius::ConfigParser::Entry>, std::_Select1st<std::pair<std::string const, rubinius::ConfigParser::Entry> >, std::lessstd::string, std::allocator<std::pair<std::string const, rubinius::ConfigParser::Entry> > >::_M_erase(std::_Rb_treenode<std::pair<std::string const, rubinius::ConfigParser::Entry*> >) + 8240
6 rbx 0x0000000100179f10 std::right(std::ios_base&) + 832
7 rbx 0x000000010017a610 std::right(std::iosbase&) + 2624
8 rbx 0x0000000100011498 llvm::cl::ValuesClass llvm::cl::values(char const , int, char const*, ...) + 6296
9 ??? 0x0000000000000002 0x0 + 2