• Nils Goroll's avatar
    use an alternative stack for SIGSEGV and test for stack overflow · 5efbf4c4
    Nils Goroll authored
    Previously, we could run out of stack handling stack overflows, leaving
    users with unspecific SIGSEGV crashes and no panic message.
    
    By providing a single alternative stack exclusively for SIGSEGV handling
    where sigaltstack() is available, we increase chances for our signal handler
    to finish successfully.
    
    In particular, this will make it easier to diagnose stack overflows by
    comparing the failing address with the stack info from the panic output.
    
    This could be further improved by giving advise to increase thread_pool_stack
    if si_addr is near the stack boundaries.
    
    c00057.vtc now triggers a stack overflow instead of raising a SIGSEGV.
    
    Merges #2396
    5efbf4c4
Name
Last commit
Last update
bin Loading commit data...
devscripts Loading commit data...
doc Loading commit data...
etc Loading commit data...
include Loading commit data...
lib Loading commit data...
m4 Loading commit data...
man Loading commit data...
.gitignore Loading commit data...
.syntastic_c_config Loading commit data...
.travis.yml Loading commit data...
CONTRIBUTING Loading commit data...
ChangeLog Loading commit data...
INSTALL Loading commit data...
LICENSE Loading commit data...
Makefile.am Loading commit data...
Makefile.inc.phk Loading commit data...
Makefile.phk Loading commit data...
README.Packaging Loading commit data...
README.rst Loading commit data...
autogen.des Loading commit data...
autogen.sh Loading commit data...
config.phk Loading commit data...
configure.ac Loading commit data...
flint.lnt Loading commit data...
varnish-legacy.m4 Loading commit data...
varnish.m4 Loading commit data...
varnishapi-uninstalled.pc.in Loading commit data...
varnishapi.pc.in Loading commit data...