* vm.c (vm_backtrace_each): skip allocator frames which have no

name.  [ruby-core:32231]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2010-09-09 14:25:56 +00:00
Родитель eb0c31b1ad
Коммит 83a827ac9b
3 изменённых файлов: 14 добавлений и 1 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Thu Sep 9 23:25:53 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm.c (vm_backtrace_each): skip allocator frames which have no
name. [ruby-core:32231]
Thu Sep 9 22:39:08 2010 Tanaka Akira <akr@fsij.org>
* ext/pathname/pathname.c (path_size): Pathname#size translated from

Просмотреть файл

@ -125,4 +125,11 @@ module TestDigest
Data2 => "12a053384a9c0c88e405a06c27dcf49ada62eb2b",
}
end if defined?(Digest::RMD160)
class TestBase < Test::Unit::TestCase
def test_base
bug3810 = '[ruby-core:32231]'
assert_raise(NotImplementedError, bug3810) {Digest::Base.new}
end
end
end

3
vm.c
Просмотреть файл

@ -741,7 +741,8 @@ vm_backtrace_each(rb_thread_t *th, int lev, void (*init)(void *), rb_backtrace_i
id = cfp->me->def->original_id;
else
id = cfp->me->called_id;
if ((*iter)(arg, file, line_no, rb_id2str(id))) break;
if (id != ID_ALLOCATOR && (*iter)(arg, file, line_no, rb_id2str(id)))
break;
}
cfp = RUBY_VM_NEXT_CONTROL_FRAME(cfp);
}