On 3/25/19 2:01 PM, Florian Weimer wrote: > * Xi Ruoyao: > >> On 2019-03-25 13:06 +0000, Jonny Grant wrote: >>> >>> I built & ran with the Sanitizer, it seems it's also stack overflow >>> within the operator new() >>> >>> I had thoughts GCC would generate code that monitored the stack size and >>> aborted with a clear message when the stack size was exceeded. Looked >>> online, and it doesn't seem to be the case. >> >> Impossible. We can't distinguish "stack overflow" with other segmentation >> faults. > > I think “impossible” is too strong. It is. We do it with stack banging and a few guard pages in the HotSpot JVM. The problem is that recovering well enough to throw an exception requires some quite hairy non-portable code. -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. <https://www.redhat.com> EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671