Menu

#2076 Cannot build rexx.img under AddressSanitizer: control stack check trips

5.3.0
pending
None
none
5
2026-08-09
2026-07-25
No

reportException (error=Error_Control_stack_full) ActivityManager.hpp:213
Activity::checkStackSpace Activity.cpp:2286
LanguageParser::parseSubTerm LanguageParser.cpp:3761

ASan inflates every stack frame (redzones), so the recursive-descent parser trips the interpreter's own control-stack guard while parsing the class definitions during image build:

size_t temp;
if ((char *)&temp < stackLimit && stackcheck == true) { reportException(Error_Control_stack_full); }

I tried ulimit -s 65536 — no effect, so stackLimit derives from SysActivity::getStackSize() at activity creation rather than the live OS limit. Making ASan usable would need that guard relaxed at build time (a flag to skip stackcheck, or a larger stackLimit for sanitizer builds).

Worth noting this is the same symptom as existing ticket [bugs:#1923] "Insufficient control stack space; cannot continue execution." building rexx.img. Might be worth a comment there — a build option to disable stackcheck would unblock sanitizer builds generally.

Related

Bugs: #1923

Discussion

  • Moritz Hoffmann

    Moritz Hoffmann - 2026-07-25
    • summary: ASan failure — explained, and it's not an ooRexx bug --> Cannot build rexx.img under AddressSanitizer: control stack check trips
     
  • Moritz Hoffmann

    Moritz Hoffmann - 2026-08-02
    • status: open --> closed
    • assigned_to: Moritz Hoffmann
     
  • Moritz Hoffmann

    Moritz Hoffmann - 2026-08-02

    Fixed in r13181.

     
  • jfaucher

    jfaucher - 2026-08-09
    • status: closed --> pending
     
  • jfaucher

    jfaucher - 2026-08-09

    Commit [r13181]

     

    Related

    Commit: [r13181]

Anonymous
Anonymous

Add attachments
Cancel