Skip to content

Commit 166715d

Browse files
committed
fixup! Fix Ubuntu stack overflow by using Thread.handle_interrupt
1 parent 4f25abe commit 166715d

1 file changed

Lines changed: 14 additions & 2 deletions

File tree

test/blocking_test.rb

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,13 @@ def refute_sleep_a_sec_within_thread(&block)
2121

2222
class ProcessBlocking < QuickjsBlockingTest
2323
setup do
24-
@vm = Quickjs::VM.new(timeout_msec: 500, features: [::Quickjs::MODULE_OS])
24+
# Reduce max_stack_size to fit within Ubuntu's thread stack limits
25+
# Ubuntu's default pthread stack is ~2MB, so we use 1MB to be safe
26+
@vm = Quickjs::VM.new(
27+
timeout_msec: 500,
28+
features: [::Quickjs::MODULE_OS],
29+
max_stack_size: 1024 * 1024
30+
)
2531
end
2632
teardown { @vm = nil }
2733

@@ -73,7 +79,13 @@ class ProcessBlocking < QuickjsBlockingTest
7379

7480
class RubyBasedTimeout < QuickjsBlockingTest
7581
setup do
76-
@vm = Quickjs::VM.new(timeout_msec: 500, features: [::Quickjs::FEATURE_TIMEOUT])
82+
# Reduce max_stack_size to fit within Ubuntu's thread stack limits
83+
# Ubuntu's default pthread stack is ~2MB, so we use 1MB to be safe
84+
@vm = Quickjs::VM.new(
85+
timeout_msec: 500,
86+
features: [::Quickjs::FEATURE_TIMEOUT],
87+
max_stack_size: 1024 * 1024
88+
)
7789
end
7890
teardown { @vm = nil }
7991

0 commit comments

Comments
 (0)