[#41908] [Backport93 - Backport #5844][Open] Can't install ruby-debug-base19 — Brian Osborne <bosborne11@...>
[#41916] Proposal: Bitmap Marking GC — Narihiro Nakamura <authornari@...>
Hi.
> And, GC is a little bit slower. But, I think it's in acceptable range.
Narihiro Nakamura <authornari@gmail.com> wrote:
> Narihiro Nakamura <authornari@gmail.com> wrote:
[#41934] feature request: marshallable proc's — Roger Pack <rogerdpack2@...>
Every so often I wish I could do something like
On 2012年01月06日 08:54, Roger Pack wrote:
What should happen on the following code?
[#41979] [ruby-trunk - Bug #5865][Open] Exception#== should return false if the classes differ — Hiro Asari <asari.ruby@...>
Hi,
On Mon, Jan 9, 2012 at 12:43, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
[#42003] [ruby-trunk - Bug #5871][Open] regexp \W matches some word characters when inside a case-insensitive character class — Gareth Adams <gareth@...>
[#42016] [ruby-trunk - Feature #5873][Open] Adopt FFI over DL — Heesob Park <phasis@...>
On Tue, Jan 10, 2012 at 10:01:26PM +0900, Heesob Park wrote:
Hi,
> To remove original DL completely, we have to bundle libffi itself
[#42042] RUBY 2 RCR: remove Thread#raise — Roger Pack <rogerdpack2@...>
Hello.
Roger Pack <rogerdpack2@gmail.com> wrote:
[#42049] [ruby-trunk - Bug #5877][Open] Poor performance of initial and final UTF-8 substrings — Nathan Weizenbaum <nex342@...>
[#42063] [ruby-trunk - Bug #5884][Open] Float::NAN and 0.0/0.0 is represented differently when packed with 'g' — Hiro Asari <asari.ruby@...>
[#42080] [ruby-trunk - Bug #5887][Open] The documentation of Module.constants is incorrect — Shugo Maeda <redmine@...>
[#42085] [ruby-trunk - Bug #5888][Open] JSON unittest fails — Vit Ondruch <v.ondruch@...>
[#42093] Backport93 help needed for a few Windows requests? — Jon <jon.forums@...>
Currently the following Windows-specific backport requests to ruby_1_9_3 remain unassigned:
[#42113] [ruby-trunk - Feature #5893][Open] named return,next... — Ondrej Bilka <neleai@...>
On Fri, Jan 13, 2012 at 7:21 PM, Ondrej Bilka <neleai@seznam.cz> wrote:
On Fri, Jan 13, 2012 at 11:11:28PM +0900, Anurag Priyam wrote:
[#42139] [ruby-trunk - Feature #5898][Open] raise and Exception#initialize — Thomas Sawyer <transfire@...>
[#42149] [ruby-trunk - Feature #5899][Open] chaining comparsions. — Ondrej Bilka <neleai@...>
[#42160] [ruby-trunk - Bug #5902][Open] Array#join with an unused, infected separator may or may not infect the result — John Firebaugh <john.firebaugh@...>
[#42164] [ruby-trunk - Feature #5903][Open] Optimize st_table (take 2) — Yura Sokolov <funny.falcon@...>
[#42189] [ruby-trunk - Bug #5914][Open] Calling extend with an anonymous module requires use of parentheses — Mark Somerville <mark@...>
[#42194] [ruby-trunk - Bug #5915][Open] Array#join with explicit nil should not use $, — John Firebaugh <john.firebaugh@...>
[#42222] [ruby-trunk - Bug #5925][Open] Lazy initialization is not thread safe. — Xuân Baldauf <xuan--2009--xbaldauf--redmine.ruby-lang.org@...>
[#42235] [ruby-trunk - Bug #5931][Open] Random SEGV during execution on YARD specs — Vit Ondruch <v.ondruch@...>
[#42246] Fwd: RCR String#{last, first} — Roger Pack <rogerdpack2@...>
Hello.
[#42256] [ruby-trunk - Feature #5945][Open] Add the ability to mark a at_exit as process-local. — Robert Gleeson <rob@...>
[#42257] [Backport93 - Backport #5942][Open] Backport r34309-34310 r34312-32414 — Yura Sokolov <funny.falcon@...>
[#42285] Why Ruby 1.9 GUI hangs if i do any intensive computation in separate Ruby thread? — Grigory Petrov <grigory.v.p@...>
Hello
the GIL is *not* supposed to lift if some threads enters native code...
[ruby-core:41917] [ruby-trunk - Bug #5846][Open] JSON.parse with :object_class causes SEGV
Issue #5846 has been reported by Hiroshi Nakamura.
----------------------------------------
Bug #5846: JSON.parse with :object_class causes SEGV
https://bugs.ruby-lang.org/issues/5846
Author: Hiroshi Nakamura
Status: Open
Priority: Normal
Assignee: Yui NARUSE
Category: ext
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-01-05 trunk 34216) [x86_64-linux]
JSON.parse method accepts a :object_class option to specify the class of resulting object other than Hash. But with the trunk version of json lib it causes SEGV. The bug seems to be fixed at upstream already (see the last.)
% ruby -rset -e 'require "json"; JSON.parse("{}", :object_class => Set)'
/usr/local/lib/ruby/1.9.1/json/common.rb:148: [BUG] Segmentation fault
ruby 2.0.0dev (2012-01-05 trunk 34216) [x86_64-linux]
-- Control frame information -----------------------------------------------
c:0005 p:---- s:0015 b:0015 l:000014 d:000014 CFUNC :parse
c:0004 p:0031 s:0012 b:0012 l:000011 d:000011 METHOD /usr/local/lib/ruby/1.9.1/json/common.rb:148
c:0003 p:0040 s:0006 b:0006 l:000158 d:000528 EVAL -e:1
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:000158 d:000158 TOP
-- Ruby level backtrace information ----------------------------------------
-e:1:in `<main>'
/usr/local/lib/ruby/1.9.1/json/common.rb:148:in `parse'
/usr/local/lib/ruby/1.9.1/json/common.rb:148:in `parse'
-- C level backtrace information -------------------------------------------
mmap: No such device
mmap: No such device
mmap: No such device
mmap: No such device
mmap: No such device
mmap: No such device
mmap: No such device
mmap: No such device
mmap: No such device
mmap: No such device
mmap: No such device
mmap: No such device
mmap: No such device
mmap: No such device
ruby(+0x1311e5) [0x7f5ca08871e5]
ruby(+0x179d0b) [0x7f5ca08cfd0b]
ruby(rb_bug+0xb7) [0x7f5ca08d1157]
ruby(+0xc1e8f) [0x7f5ca0817e8f]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x10060) [0x7f5ca0326060]
ruby(st_lookup+0x88) [0x7f5ca08202c8]
ruby(rb_hash_aref+0x25) [0x7f5ca0784b45]
/usr/local/lib/ruby/1.9.1/x86_64-linux/json/ext/parser.so(+0x29f5) [0x7f5c9e8d19f5] parser.rl:169
/usr/local/lib/ruby/1.9.1/x86_64-linux/json/ext/parser.so(+0x34b5) [0x7f5c9e8d24b5] parser.rl:711
ruby(+0x12d16a) [0x7f5ca088316a]
ruby(+0x120319) [0x7f5ca0876319]
ruby(+0x12712a) [0x7f5ca087d12a]
ruby(rb_iseq_eval_main+0xa6) [0x7f5ca0884c96]
ruby(+0x1f742) [0x7f5ca0775742]
ruby(ruby_run_node+0x36) [0x7f5ca0778056]
ruby(+0x1f0db) [0x7f5ca07750db]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7f5c9f6cf30d]
ruby(+0x1f109) [0x7f5ca0775109]
-- Other runtime information -----------------------------------------------
* Loaded script: -e
* Loaded features:
0 enumerator.so
1 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so
2 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
3 /usr/local/lib/ruby/1.9.1/rubygems/defaults.rb
4 /usr/local/lib/ruby/1.9.1/x86_64-linux/rbconfig.rb
5 /usr/local/lib/ruby/1.9.1/rubygems/deprecate.rb
6 /usr/local/lib/ruby/1.9.1/rubygems/exceptions.rb
7 /usr/local/lib/ruby/1.9.1/rubygems/custom_require.rb
8 /usr/local/lib/ruby/1.9.1/rubygems.rb
9 /usr/local/lib/ruby/1.9.1/set.rb
10 /usr/local/lib/ruby/1.9.1/json/version.rb
11 /usr/local/lib/ruby/1.9.1/json/common.rb
12 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/utf_16be.so
13 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/utf_16le.so
14 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/utf_32be.so
15 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/utf_32le.so
16 /usr/local/lib/ruby/1.9.1/x86_64-linux/json/ext/parser.so
17 /usr/local/lib/ruby/1.9.1/x86_64-linux/json/ext/generator.so
18 /usr/local/lib/ruby/1.9.1/json/ext.rb
19 /usr/local/lib/ruby/1.9.1/json.rb
* Process memory map:
7f5c9dca7000-7f5c9dcbc000 r-xp 00000000 08:01 134871 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f5c9dcbc000-7f5c9debb000 ---p 00015000 08:01 134871 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f5c9debb000-7f5c9debc000 r--p 00014000 08:01 134871 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f5c9debc000-7f5c9debd000 rw-p 00015000 08:01 134871 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f5c9debd000-7f5c9dec6000 r-xp 00000000 08:01 4499165 /usr/local/lib/ruby/1.9.1/x86_64-linux/json/ext/generator.so
7f5c9dec6000-7f5c9e0c5000 ---p 00009000 08:01 4499165 /usr/local/lib/ruby/1.9.1/x86_64-linux/json/ext/generator.so
7f5c9e0c5000-7f5c9e0c6000 r--p 00008000 08:01 4499165 /usr/local/lib/ruby/1.9.1/x86_64-linux/json/ext/generator.so
7f5c9e0c6000-7f5c9e0c7000 rw-p 00009000 08:01 4499165 /usr/local/lib/ruby/1.9.1/x86_64-linux/json/ext/generator.so
7f5c9e0c7000-7f5c9e0c8000 r-xp 00000000 08:01 4499172 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/utf_32le.so
7f5c9e0c8000-7f5c9e2c7000 ---p 00001000 08:01 4499172 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/utf_32le.so
7f5c9e2c7000-7f5c9e2c8000 r--p 00000000 08:01 4499172 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/utf_32le.so
7f5c9e2c8000-7f5c9e2c9000 rw-p 00001000 08:01 4499172 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/utf_32le.so
7f5c9e2c9000-7f5c9e2ca000 r-xp 00000000 08:01 4499199 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/utf_32be.so
7f5c9e2ca000-7f5c9e4c9000 ---p 00001000 08:01 4499199 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/utf_32be.so
7f5c9e4c9000-7f5c9e4ca000 r--p 00000000 08:01 4499199 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/utf_32be.so
7f5c9e4ca000-7f5c9e4cb000 rw-p 00001000 08:01 4499199 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/utf_32be.so
7f5c9e4cb000-7f5c9e4cc000 r-xp 00000000 08:01 4499190 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/utf_16le.so
7f5c9e4cc000-7f5c9e6cb000 ---p 00001000 08:01 4499190 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/utf_16le.so
7f5c9e6cb000-7f5c9e6cc000 r--p 00000000 08:01 4499190 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/utf_16le.so
7f5c9e6cc000-7f5c9e6cd000 rw-p 00001000 08:01 4499190 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/utf_16le.so
7f5c9e6cd000-7f5c9e6ce000 r-xp 00000000 08:01 4499174 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/utf_16be.so
7f5c9e6ce000-7f5c9e8cd000 ---p 00001000 08:01 4499174 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/utf_16be.so
7f5c9e8cd000-7f5c9e8ce000 r--p 00000000 08:01 4499174 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/utf_16be.so
7f5c9e8ce000-7f5c9e8cf000 rw-p 00001000 08:01 4499174 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/utf_16be.so
7f5c9e8cf000-7f5c9e8d4000 r-xp 00000000 08:01 4499166 /usr/local/lib/ruby/1.9.1/x86_64-linux/json/ext/parser.so
7f5c9e8d4000-7f5c9ead4000 ---p 00005000 08:01 4499166 /usr/local/lib/ruby/1.9.1/x86_64-linux/json/ext/parser.so
7f5c9ead4000-7f5c9ead5000 r--p 00005000 08:01 4499166 /usr/local/lib/ruby/1.9.1/x86_64-linux/json/ext/parser.so
7f5c9ead5000-7f5c9ead6000 rw-p 00006000 08:01 4499166 /usr/local/lib/ruby/1.9.1/x86_64-linux/json/ext/parser.so
7f5c9ead6000-7f5c9ead8000 r-xp 00000000 08:01 4499202 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
7f5c9ead8000-7f5c9ecd7000 ---p 00002000 08:01 4499202 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
7f5c9ecd7000-7f5c9ecd8000 r--p 00001000 08:01 4499202 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
7f5c9ecd8000-7f5c9ecd9000 rw-p 00002000 08:01 4499202 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
7f5c9ecd9000-7f5c9ecdb000 r-xp 00000000 08:01 4499194 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so
7f5c9ecdb000-7f5c9eeda000 ---p 00002000 08:01 4499194 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so
7f5c9eeda000-7f5c9eedb000 r--p 00001000 08:01 4499194 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so
7f5c9eedb000-7f5c9eedc000 rw-p 00002000 08:01 4499194 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so
7f5c9eedc000-7f5c9f6ae000 r--p 00000000 08:01 5118342 /usr/lib/locale/locale-archive
7f5c9f6ae000-7f5c9f843000 r-xp 00000000 08:01 134850 /lib/x86_64-linux-gnu/libc-2.13.so
7f5c9f843000-7f5c9fa42000 ---p 00195000 08:01 134850 /lib/x86_64-linux-gnu/libc-2.13.so
7f5c9fa42000-7f5c9fa46000 r--p 00194000 08:01 134850 /lib/x86_64-linux-gnu/libc-2.13.so
7f5c9fa46000-7f5c9fa47000 rw-p 00198000 08:01 134850 /lib/x86_64-linux-gnu/libc-2.13.so
7f5c9fa47000-7f5c9fa4d000 rw-p 00000000 00:00 0
7f5c9fa4d000-7f5c9fad0000 r-xp 00000000 08:01 134880 /lib/x86_64-linux-gnu/libm-2.13.so
7f5c9fad0000-7f5c9fccf000 ---p 00083000 08:01 134880 /lib/x86_64-linux-gnu/libm-2.13.so
7f5c9fccf000-7f5c9fcd0000 r--p 00082000 08:01 134880 /lib/x86_64-linux-gnu/libm-2.13.so
7f5c9fcd0000-7f5c9fcd1000 rw-p 00083000 08:01 134880 /lib/x86_64-linux-gnu/libm-2.13.so
7f5c9fcd1000-7f5c9fcda000 r-xp 00000000 08:01 134856 /lib/x86_64-linux-gnu/libcrypt-2.13.so
7f5c9fcda000-7f5c9feda000 ---p 00009000 08:01 134856 /lib/x86_64-linux-gnu/libcrypt-2.13.so
7f5c9feda000-7f5c9fedb000 r--p 00009000 08:01 134856 /lib/x86_64-linux-gnu/libcrypt-2.13.so
7f5c9fedb000-7f5c9fedc000 rw-p 0000a000 08:01 134856 /lib/x86_64-linux-gnu/libcrypt-2.13.so
7f5c9fedc000-7f5c9ff0a000 rw-p 00000000 00:00 0
7f5c9ff0a000-7f5c9ff0c000 r-xp 00000000 08:01 134861 /lib/x86_64-linux-gnu/libdl-2.13.so
7f5c9ff0c000-7f5ca010c000 ---p 00002000 08:01 134861 /lib/x86_64-linux-gnu/libdl-2.13.so
7f5ca010c000-7f5ca010d000 r--p 00002000 08:01 134861 /lib/x86_64-linux-gnu/libdl-2.13.so
7f5ca010d000-7f5ca010e000 rw-p 00003000 08:01 134861 /lib/x86_64-linux-gnu/libdl-2.13.so
7f5ca010e000-7f5ca0115000 r-xp 00000000 08:01 134914 /lib/x86_64-linux-gnu/librt-2.13.so
7f5ca0115000-7f5ca0314000 ---p 00007000 08:01 134914 /lib/x86_64-linux-gnu/librt-2.13.so
7f5ca0314000-7f5ca0315000 r--p 00006000 08:01 134914 /lib/x86_64-linux-gnu/librt-2.13.so
7f5ca0315000-7f5ca0316000 rw-p 00007000 08:01 134914 /lib/x86_64-linux-gnu/librt-2.13.so
7f5ca0316000-7f5ca032e000 r-xp 00000000 08:01 134910 /lib/x86_64-linux-gnu/libpthread-2.13.so
7f5ca032e000-7f5ca052d000 ---p 00018000 08:01 134910 /lib/x86_64-linux-gnu/libpthread-2.13.so
7f5ca052d000-7f5ca052e000 r--p 00017000 08:01 134910 /lib/x86_64-linux-gnu/libpthread-2.13.so
7f5ca052e000-7f5ca052f000 rw-p 00018000 08:01 134910 /lib/x86_64-linux-gnu/libpthread-2.13.so
7f5ca052f000-7f5ca0533000 rw-p 00000000 00:00 0
7f5ca0533000-7f5ca0554000 r-xp 00000000 08:01 134837 /lib/x86_64-linux-gnu/ld-2.13.so
7f5ca0638000-7f5ca073e000 rw-p 00000000 00:00 0
7f5ca074b000-7f5ca074c000 rw-p 00000000 00:00 0
7f5ca074d000-7f5ca074e000 ---p 00000000 00:00 0
7f5ca074e000-7f5ca0753000 rw-p 00000000 00:00 0
7f5ca0753000-7f5ca0754000 r--p 00020000 08:01 134837 /lib/x86_64-linux-gnu/ld-2.13.so
7f5ca0754000-7f5ca0756000 rw-p 00021000 08:01 134837 /lib/x86_64-linux-gnu/ld-2.13.so
7f5ca0756000-7f5ca097d000 r-xp 00000000 08:01 5505867 /usr/local/bin/ruby
7f5ca0b7d000-7f5ca0b81000 r--p 00227000 08:01 5505867 /usr/local/bin/ruby
7f5ca0b81000-7f5ca0b83000 rw-p 0022b000 08:01 5505867 /usr/local/bin/ruby
7f5ca0b83000-7f5ca0ba0000 rw-p 00000000 00:00 0
7f5ca1cec000-7f5ca2011000 rw-p 00000000 00:00 0 [heap]
7fff5ea7a000-7fff5ea9b000 rw-p 00000000 00:00 0 [stack]
7fff5ebff000-7fff5ec00000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html
zsh: abort ruby -rset -e 'require "json"; JSON.parse("{}", :object_class => Set)'
% ruby -rset -e 'gem "json"; require "json"; JSON.parse("{}", :object_class => Set)'
/home/nahi/.gem/ruby/1.9.1/gems/json-1.6.4/lib/json/common.rb:148:in `parse': undefined method `[]' for #<Set: {}> (NoMethodError)
from /home/nahi/.gem/ruby/1.9.1/gems/json-1.6.4/lib/json/common.rb:148:in `parse'
from -e:1:in `<main>'
zsh: exit 1 ruby -rset -e
In the typescript above, passing Set as :object_class raises NoMethodError but it's expected result. Please ignore this exception since it's just for illustrating the bug. Passing Hash-like such as RadixTree (https://github.com/nahi/radix_tree) works as expected.
Naruse-san, I'm setting you as the Assignee because you're the maintainer of json lib. Can you confirm the SEGV?
--
http://redmine.ruby-lang.org