Today's lessons learned from debugging an evasive CI segfault:
- Docker run needs --cap-add=SYS_PTRACE to support gdb.
- Docker stack size is limited to 8MB by default.
- A clang++ compiled program may need vastly more stack space than a g++ compiled one.
- A clang++ -O1 compiled program using 6MB stack size may need around 12MB if compiled with -O2.
When I got up this morning, I would have expected none of these points to be true.