3.1.27 has now been released and includes the reduction in the default stack size.
We do expect some folks to be affected by this and have to add `-sSTACK_SIZE=XXMB` to thier link flags. If the effect is very widespread we can reconsider the rather drastic reduction. cheers, sam On Tue, Nov 22, 2022 at 2:36 PM Sam Clegg <s...@google.com> wrote: > Bumping this once again because I'm hoping to land the default stack size > reduction change soon: > https://github.com/emscripten-core/emscripten/pull/18191 > > In the end I decided to put the stack first in debug builds which gives a > nice, consistent, error message on stack overflow: > https://github.com/emscripten-core/emscripten/pull/18154 > > We also decided to go with 64KB default to match wasm-ld and wasi-sdk > defaults. > > I'll post again here once/if it lands. > > cheers, > sam > > On Wed, Oct 12, 2022 at 6:27 PM Sam Clegg <s...@google.com> wrote: > >> emscripten_stack_get_current is also designed to be super fast (its >> basically just a single `global.get` instruction). >> >> On Wed, Oct 12, 2022 at 6:26 PM Sam Clegg <s...@google.com> wrote: >> >>> >>> >>> On Wed, Oct 12, 2022 at 2:22 AM Floh <flo...@gmail.com> wrote: >>> >>>> PS: what would be *really* nice is a way to query the current and 'high >>>> water mark' stack sizes (only in debug mode, or with a specific build >>>> option), to get an idea how much stack a program/thread is using, instead >>>> of depending on trial-and-error. >>>> >>> >>> The current value is accessible via ` emscripten_stack_get_current` >>> defined in `emscripten/stack.h`: >>> https://github.com/emscripten-core/emscripten/blob/main/system/include/emscripten/stack.h >>> >>> Tracking the high water mark could be done with same binaryen pass that >>> currently implement STACK_OVERFLOW_CHECK.. but it's not something we do at >>> this point. >>> >>> >>> >>>> On Tuesday, 11 October 2022 at 17:27:07 UTC+2 s...@google.com wrote: >>>> >>>>> On Tue, Oct 11, 2022 at 12:13 AM Floh <flo...@gmail.com> wrote: >>>>> >>>>>> My C code is still quite stack heavy, because a lot of my code >>>>>> essentially uses the stack as per-frame arena allocator ;) But I guess as >>>>>> long as there's a compiler/linker option to set the stack size I think >>>>>> it's >>>>>> fine. >>>>>> >>>>>> Will a stack overflow cause a proper runtime error, or will this >>>>>> result 'undefined behaviour'? >>>>>> >>>>> >>>>> The plan is to enable `STACK_OVERFLOW_CHECK=2` in debug (-O0) builds >>>>> (currently we just use `STACK_OVERFLOW_CHECK=1`). This should give >>>>> precise errors at the point of overflow. >>>>> >>>>> >>>>>> On Tuesday, 11 October 2022 at 01:34:07 UTC+2 s...@google.com wrote: >>>>>> >>>>>>> Bumping this discussion because I'm taking a look at landing this >>>>>>> once again. >>>>>>> >>>>>>> In answer to the pthread question: Yes I'm planning on changing the >>>>>>> default for both the main thread and pthreads (The plan is to make them >>>>>>> the >>>>>>> same by default). >>>>>>> >>>>>>> On Fri, Jul 9, 2021 at 3:24 AM 'Maksim Ivanov' via >>>>>>> emscripten-discuss <emscripte...@googlegroups.com> wrote: >>>>>>> >>>>>>>> One question: Will this planned change only affect is only for the >>>>>>>> main thread? In case there's no change for background threads (e.g., >>>>>>>> created via pthreads), it'll be useful to mention it somewhere. >>>>>>>> >>>>>>>> On Thursday, May 27, 2021 at 2:01:11 PM UTC+2 jj wrote: >>>>>>>> >>>>>>>>> ke 19. toukok. 2021 klo 11.27 Floh (flo...@gmail.com) kirjoitti: >>>>>>>>> > 1 MB is quite certainly ok (but might be a problem for code with >>>>>>>>> lots of recursions?), but I think 64 KByte is asking for trouble ;) >>>>>>>>> >>>>>>>>> Btw, I would recommend you to try how small you can go. I would be >>>>>>>>> surprised if you are running into issues with 64KB today. >>>>>>>>> (recursions >>>>>>>>> won't increase to this limit, unless the recursing functions have >>>>>>>>> locals that have their addresses taken) >>>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "emscripten-discuss" group. >>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>> send an email to emscripten-disc...@googlegroups.com. >>>>>>>> >>>>>>> To view this discussion on the web visit >>>>>>>> https://groups.google.com/d/msgid/emscripten-discuss/d7c00f7e-6bc2-4ae8-ae2d-0353ae4cff80n%40googlegroups.com >>>>>>>> <https://groups.google.com/d/msgid/emscripten-discuss/d7c00f7e-6bc2-4ae8-ae2d-0353ae4cff80n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>> . >>>>>>>> >>>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "emscripten-discuss" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to emscripten-disc...@googlegroups.com. >>>>>> >>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/d/msgid/emscripten-discuss/7c70d4dc-d14b-4282-9a82-1c1e08393dd0n%40googlegroups.com >>>>>> <https://groups.google.com/d/msgid/emscripten-discuss/7c70d4dc-d14b-4282-9a82-1c1e08393dd0n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "emscripten-discuss" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to emscripten-discuss+unsubscr...@googlegroups.com. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/emscripten-discuss/218eec81-edce-45b7-b061-a1d57f381d3an%40googlegroups.com >>>> <https://groups.google.com/d/msgid/emscripten-discuss/218eec81-edce-45b7-b061-a1d57f381d3an%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to emscripten-discuss+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/emscripten-discuss/CAL_va2-tLd_%3Dbsx86g8gqS%3Dg%3D_WRk_UjRZEEau2WmkPFMv1K9w%40mail.gmail.com.