Skip to content

Instantly share code, notes, and snippets.

$ rubinius/bin/rbx
irb(main):001:0> 2.taint
RuntimeError: can't modify frozen object
from (irb):1
from kernel/common/block_<oh snap>
$ rake build
/usr/local/Cellar/ruby/2.0.0-p247/bin/ruby vm/codegen/field_extract.rb vm/builtin/basicobject.hpp vm/builtin/object.hpp vm/builtin/integer.hpp vm/builtin/fixnum.hpp vm/builtin/array.hpp vm/builtin/bignum.hpp vm/builtin/executable.hpp vm/builtin/access_variable.hpp vm/builtin/alias.hpp vm/builtin/block_environment.hpp vm/builtin/block_as_method.hpp vm/builtin/bytearray.hpp vm/builtin/io.hpp vm/builtin/channel.hpp vm/builtin/module.hpp vm/builtin/constant_table.hpp vm/builtin/class.hpp vm/builtin/compiledcode.hpp vm/builtin/data.hpp vm/builtin/dir.hpp vm/builtin/exception.hpp vm/builtin/float.hpp vm/builtin/immediates.hpp vm/builtin/iseq.hpp vm/builtin/list.hpp vm/builtin/lookuptable.hpp vm/builtin/ffi_pointer.hpp vm/builtin/methodtable.hpp vm/builtin/nativefunction.hpp vm/builtin/packed_object.hpp vm/builtin/randomizer.hpp vm/builtin/regexp.hpp vm/builtin/constantscope.hpp vm/builtin/encoding.hpp vm/builtin/string.hpp vm/builtin/symbol.hpp vm/builtin/thread.hpp vm/builtin/tuple.hpp vm/builtin/comp
$ git diff
diff --git a/kernel/common/marshal.rb b/kernel/common/marshal.rb
index 688c24c..9bff937 100644
--- a/kernel/common/marshal.rb
+++ b/kernel/common/marshal.rb
@@ -546,6 +546,10 @@ module Marshal
call obj if @proc and call_proc
+ if obj.frozen?
@nddrylliog
nddrylliog / froze.log
Created September 24, 2013 00:01
beautiful
$ irb
rubinius-2.1.0.n266 :001 > a = Object.new
=> #<Object:0x3ce0>
rubinius-2.1.0.n266 :002 > a.frozen?
=> false
rubinius-2.1.0.n266 :003 > a.freeze
=> #<Object:0x3ce0>
rubinius-2.1.0.n266 :004 > a.frozen?
=> true
rubinius-2.1.0.n266 :005 > a.taint
$ rbx gem install zurb-foundation --backtrace
ERROR: While executing gem ... (RuntimeError)
can't modify frozen object
kernel/common/marshal.rb:549:in `construct'
kernel/common/marshal.rb:585:in `construct_array'
kernel/common/integer.rb:194:in `times'
kernel/common/marshal.rb:584:in `construct_array'
kernel/common/marshal.rb:488:in `construct'
kernel/common/marshal.rb:1176:in `load'
/Users/amos/.rvm/rubies/rbx-head/lib/rubygems/specification.rb:1134:in `_load'
@nddrylliog
nddrylliog / bundle-install.log
Created September 23, 2013 22:55
bundle install (of a Rails application): see MarshalError: RuntimeError: can't modify a frozen object. rubinius 2.1.0.n267 (2.1.0 25638f94 2013-09-24 JI) [x86_64-darwin12.4.0]
$ bundle update --verbose
Fetching from: https://rubygems.org/api/v1/dependencies
HTTP Redirection
Fetching from: https://bundler.rubygems.org/api/v1/dependencies
HTTP Success
Fetching gem metadata from https://rubygems.org/
Query List: ["rails", "puma", "activerecord-jdbcpostgresql-adapter", "pg", "sass-rails", "uglifier", "coffee-rails", "compass-rails", "zurb-foundation", "kramdown", "nokogiri", "rails_config", "cinch", "cinch-identify", "html_truncator", "jquery-rails", "devise", "cancan", "simple_enum", "simple_form", "capistrano", "rvm-capistrano", "better_errors", "sdoc"]
Query Gemcutter Dependency Endpoint API: rails,puma,activerecord-jdbcpostgresql-adapter,pg,sass-rails,uglifier,coffee-rails,compass-rails,zurb-foundation,kramdown,nokogiri,rails_config,cinch,cinch-identify,html_truncator,jquery-rails,devise,cancan,simple_enum,simple_form,capistrano,rvm-capistrano,better_errors,sdoc
Fetching from: https://rubygems.org/api/v1/dependencies?gems=rails,puma,activerecord-jdbcpostgresql-adapter,pg,sass-rails
@nddrylliog
nddrylliog / geminstall.log
Created September 23, 2013 22:37
rubygems rubinius can't modify frozen object. rubinius 2.1.0.n266 (2.1.0 25638f94 2013-09-23 JI) [i686-linux-gnu]
$ rbx -S gem install json --verbose
HEAD https://rubygems.org/latest_specs.4.8.gz
302 Moved Temporarily
HEAD https://s3.amazonaws.com/production.s3.rubygems.org/latest_specs.4.8.gz
200 OK
GET https://rubygems.org/latest_specs.4.8.gz
302 Moved Temporarily
GET https://s3.amazonaws.com/production.s3.rubygems.org/latest_specs.4.8.gz
200 OK
GET https://rubygems.org/quick/Marshal.4.8/json-1.1.5-x86-linux.gemspec.rz
91768599
$ gdb --args ./exc2
GNU gdb (GDB) 7.5
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
all: register
register : register.c
gcc -save-temps -m32 -g -fno-pie -o $@ $^
dsymutil $@
clean:
rm -rf register register.dSYM