From dc7c6ed7a778c744b09fb584f8554e716dcf8238 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 18 Oct 2025 22:05:30 +0900 Subject: [PATCH] mruby-fiber,mruby-task: increase stack init size for 32-bit msvc increase fiber_stack_init_size and task_stack_init_size from 16 to 64 to fix crashes on 32-bit msvc builds. git bisect identified commit 3246dd2 (which reduced sizes from 64 to 16) as causing the issue. empirical testing shows 48 fails intermittently but 64 is stable on 32-bit msvc, likely due to different alignment or initialization overhead on 32-bit platforms. Co-authored-by: Claude --- mrbgems/mruby-fiber/src/fiber.c | 2 +- mrbgems/mruby-task/include/task.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mrbgems/mruby-fiber/src/fiber.c b/mrbgems/mruby-fiber/src/fiber.c index c3a47d9a0..4fcb5cb56 100644 --- a/mrbgems/mruby-fiber/src/fiber.c +++ b/mrbgems/mruby-fiber/src/fiber.c @@ -10,7 +10,7 @@ #define fiber_ptr(o) ((struct RFiber*)mrb_ptr(o)) -#define FIBER_STACK_INIT_SIZE 16 +#define FIBER_STACK_INIT_SIZE 64 #define FIBER_CI_INIT_SIZE 4 /* copied from vm.c */ #define CINFO_RESUMED 3 diff --git a/mrbgems/mruby-task/include/task.h b/mrbgems/mruby-task/include/task.h index 78db4ac9d..28e866165 100644 --- a/mrbgems/mruby-task/include/task.h +++ b/mrbgems/mruby-task/include/task.h @@ -87,7 +87,7 @@ typedef struct mrb_task { #define MRB_TIMESLICE_TICK_COUNT 3 /* Number of ticks per timeslice */ #endif -#define TASK_STACK_INIT_SIZE 16 /* Initial task stack size */ +#define TASK_STACK_INIT_SIZE 64 /* Initial task stack size */ #define TASK_CI_INIT_SIZE 4 /* Initial task callinfo size */ /*