Actions
Backport #3896
closedBus error in ObjectSpace.count_objects_size
Status:
Closed
Assignee:
Description
=begin
Hello,
ObjectSpace.count_objects_size causes a bus error in ruby-1.9.2.
ruby -robjspace -ve "ObjectSpace.count_objects_size"
ruby 1.9.2p7 (2010-09-29 revision 29373) [i386-darwin9.8.0]
-e:1: [BUG] Bus Error
The following patch should solve this issue.
diff --git a/gc.c b/gc.c
index 25fcc3d..564d260 100644
--- a/gc.c
+++ b/gc.c
@@ -1145,7 +1145,7 @@ rb_data_typed_object_alloc(VALUE klass, void *datap, const
size_t
rb_objspace_data_type_memsize(VALUE obj)
{
- if (RTYPEDDATA_P(obj)) {
- if (RTYPEDDATA_P(obj) && RTYPEDDATA_TYPE(obj)->dsize) {
return RTYPEDDATA_TYPE(obj)->dsize(RTYPEDDATA_DATA(obj));
}
else {
The trunk version does not have this issue because it checks the existence of dsize function pointer.
=end
Actions
Like0
Like0Like0