aboutsummaryrefslogtreecommitdiffstats
path: root/vm_dump.c
diff options
context:
space:
mode:
authorAaron Patterson <tenderlove@ruby-lang.org>2021-06-07 11:46:01 -0700
committerAaron Patterson <tenderlove@ruby-lang.org>2021-06-07 11:47:16 -0700
commit459a9f82c91bddabef0fe1d394c23b0adce96b7c (patch)
treece1ca0de77ec2ab7963b779fb4910d172ef55b28 /vm_dump.c
parent26fcec5ae5edb9269f5fb91e2ea4827be05e3a59 (diff)
downloadruby-459a9f82c91bddabef0fe1d394c23b0adce96b7c.tar.gz
Don't create objects during GC
If we crash during GC, allocating new objects in the segv handler can cause an infinite loop. This commit is to avoid creating new objects in the crash handler
Diffstat (limited to 'vm_dump.c')
-rw-r--r--vm_dump.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/vm_dump.c b/vm_dump.c
index a3aaf1497e..ea94ee1985 100644
--- a/vm_dump.c
+++ b/vm_dump.c
@@ -1048,7 +1048,7 @@ rb_vm_bugreport(const void *ctx)
fprintf(stderr, "-- Other runtime information "
"-----------------------------------------------\n\n");
}
- if (vm) {
+ if (vm && !rb_during_gc()) {
int i;
VALUE name;
long len;