about summary refs log tree commit diff
path: root/src/rt/rust_task.cpp
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2013-04-26 15:36:19 -0700
committerBrian Anderson <banderson@mozilla.com>2013-04-26 15:39:54 -0700
commit149047e55d8eace3ea9d005905577f17b25c54e2 (patch)
treebfbb6e340da8d530646f2fd4940c22ff14d38614 /src/rt/rust_task.cpp
parent64412eca10399d64d25346d5f8220c1b1f88cd29 (diff)
downloadrust-149047e55d8eace3ea9d005905577f17b25c54e2.tar.gz
rust-149047e55d8eace3ea9d005905577f17b25c54e2.zip
rt: Set the stack depth limit to 1GB. Abort on error.
People hit the recursion depth limit too often, it's not possible
to unwind reliably from out-of-stack.

Issues #3555, #3695
Diffstat (limited to 'src/rt/rust_task.cpp')
-rw-r--r--src/rt/rust_task.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp
index 7e146cce68e..e6293aa5c1d 100644
--- a/src/rt/rust_task.cpp
+++ b/src/rt/rust_task.cpp
@@ -530,11 +530,11 @@ rust_task::new_stack(size_t requested_sz) {
     // arbitrarily selected as 2x the maximum stack size.
     if (!unwinding && used_stack > max_stack) {
         LOG_ERR(this, task, "task %" PRIxPTR " ran out of stack", this);
-        fail();
+        abort();
     } else if (unwinding && used_stack > max_stack * 2) {
         LOG_ERR(this, task,
                 "task %" PRIxPTR " ran out of stack during unwinding", this);
-        fail();
+        abort();
     }
 
     size_t sz = rust_stk_sz + RED_ZONE_SIZE;