Date: Mon, 12 Aug 2019 04:05:58 +0000 (UTC) From: Greg Lewis <glewis@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r508703 - in head/java/openjdk8: . files Message-ID: <201908120405.x7C45wLx029408@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: glewis Date: Mon Aug 12 04:05:58 2019 New Revision: 508703 URL: https://svnweb.freebsd.org/changeset/ports/508703 Log: Workaround for infinite recursion crash * FreeBSD crashes on infinite recursion rather than throwing a stack overflow because the stack address of the fault is in the page below the guard area. Workaround this by rounding down the fault address to the nearest page boundary. Investigation is still under way into what may be causing this but this appears to prevent it in simple test cases. PR: 222146 Added: head/java/openjdk8/files/patch-hotspot_src_os__cpu_bsd__x86_vm_os__bsd__x86.cpp (contents, props changed) Modified: head/java/openjdk8/Makefile Modified: head/java/openjdk8/Makefile ============================================================================== --- head/java/openjdk8/Makefile Mon Aug 12 01:35:23 2019 (r508702) +++ head/java/openjdk8/Makefile Mon Aug 12 04:05:58 2019 (r508703) @@ -2,6 +2,7 @@ PORTNAME= openjdk PORTVERSION= ${JDK_MAJOR_VERSION}.${JDK_UPDATE_VERSION}.${JDK_BUILD_NUMBER:S/^0//}.${BSD_JDK_VERSION} +PORTREVISION= 1 CATEGORIES= java devel MASTER_SITES= LOCAL/jkim:jtreg PKGNAMESUFFIX?= ${JDK_MAJOR_VERSION} Added: head/java/openjdk8/files/patch-hotspot_src_os__cpu_bsd__x86_vm_os__bsd__x86.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/java/openjdk8/files/patch-hotspot_src_os__cpu_bsd__x86_vm_os__bsd__x86.cpp Mon Aug 12 04:05:58 2019 (r508703) @@ -0,0 +1,12 @@ +--- hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp.orig 2019-08-11 09:24:22.211149000 -0700 ++++ hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp 2019-08-11 09:25:08.826582000 -0700 +@@ -470,6 +470,9 @@ + // Handle ALL stack overflow variations here + if (sig == SIGSEGV || sig == SIGBUS) { + address addr = (address) info->si_addr; ++#ifdef __FreeBSD__ ++ addr = (unsigned char*) align_ptr_down(addr, os::vm_page_size()); ++#endif + + // check if fault address is within thread stack + if (addr < thread->stack_base() &&
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201908120405.x7C45wLx029408>