[Mono-bugs] [Bug 651259] SIGSEGV instead of StackOverflow

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Fri Nov 5 05:58:45 EDT 2010


https://bugzilla.novell.com/show_bug.cgi?id=651259

https://bugzilla.novell.com/show_bug.cgi?id=651259#c12


--- Comment #12 from Zoltan Varga <vargaz at gmail.com> 2010-11-05 09:58:44 UTC ---
Another problem is that at least on my machine, this fails:
    if (mono_mprotect (tls->stack_ovf_guard_base, tls->stack_ovf_guard_size,
MONO_MMAP_NONE)) {
        /* mprotect can fail for the main thread stack */
        gpointer gaddr = mono_valloc (tls->stack_ovf_guard_base,
tls->stack_ovf_guard_size,
MONO_MMAP_NONE|MONO_MMAP_PRIVATE|MONO_MMAP_ANON|MONO_MMAP_FIXED);
        g_assert (gaddr == tls->stack_ovf_guard_base);
        tls->stack_ovf_valloced = TRUE;
    }
mprotect fails, and the valloc doesn't seem to work either, so the thread will
hit a SIGSEGV when it hits the real end of the stack, so even if we could
obtain the failure address, it will be outside (tls->stack_ovf_guard_base,
tls->stack_ovf_guard_size).

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list