[#48591] StringValuePtrでnull終止されてない文字列の作り方 — madoka yamamoto <yamamotomadoka@...>
山本ともうします。
5 messages
2014/10/05
[#48598] Re: StringValuePtrでnull終止されてない文字列の作り方
— "NARUSE, Yui" <naruse@...>
2014/10/06
まず、CRubyとしてはStringValuePtrがNUL終端する保証はしていませんから、仮にnull-terminateしてないことにより問題が起きるならば、
[#48666] Re: [ruby-cvs:55171] duerst:r48021 (trunk): common.mk: Added a rule to generate lib/unicode_normalize/tables.rb. — "Martin J. Dürst" <duerst@...>
中田さん、こんにちは。
3 messages
2014/10/19
[ruby-dev:48616] [ruby-trunk - Bug #10368] [Assigned] GC mark miss on bindings
From:
kazuki@...
Date:
2014-10-11 10:58:16 UTC
List:
ruby-dev #48616
Issue #10368 has been reported by Kazuki Tsujimoto.
----------------------------------------
Bug #10368: GC mark miss on bindings
https://bugs.ruby-lang.org/issues/10368
* Author: Kazuki Tsujimoto
* Status: Assigned
* Priority: Normal
* Assignee: Koichi Sasada
* Category:
* Target version:
* ruby -v: ruby 2.2.0dev (2014-10-11 trunk 47881) [x86_64-linux]
* Backport: 2.0.0: REQUIRED, 2.1: REQUIRED
----------------------------------------
以下のコードでSEGVすることがあります。
mに渡したブロックがGCされてしまうのが原因です。
~~~ruby
def m
binding
end
GC.stress = true
b = nil
tap do
b = m {}
end
GC.start
0.times.to_a
b.eval('yield')
~~~
ブロックに対応するProcオブジェクトをrb_binding_tに持たせるようにするパッチを添付します。
---Files--------------------------------
0001-add-blockprocval-to-rb_block_t.patch (4.87 KB)
0002-use-rb_vm_make_binding-instead-of-rb_binding_new_with_cfp.patch (1.9 KB)
--
https://bugs.ruby-lang.org/