        case VM_METHOD_TYPE_ATTRSET: {
 Index: proc.c
 ===================================================================
---- proc.c	(revision 26781)
+--- proc.c	(revision 26821)
 +++ proc.c	(working copy)
 @@ -27,7 +27,7 @@
  VALUE rb_iseq_parameters(const rb_iseq_t *iseq, int is_proc);

     struct METHOD *data;
Index: thread.c
===================================================================
--- thread.c	(revision 26781)
+++ thread.c	(working copy)
@@ -336,6 +336,16 @@
 static void rb_mutex_unlock_all(mutex_t *mutex, rb_thread_t *th);

+	reg_cfp->sp += num + 1;
+	EXEC_EVENT_HOOK(th, RUBY_EVENT_C_RETURN, recv, me->called_id, me->klass);
+	reg_cfp->sp -= num + 1;
+    } else if (th->tracing < 0)
+	th->tracing++;
+
     vm_pop_frame(th);
 
