Date: Fri, 10 Jun 2016 13:57:16 +0000 From: bugzilla-noreply@freebsd.org To: java@FreeBSD.org Subject: maintainer-feedback requested: [Bug 210191] java/openjdk8: Fix for OpenJDK Network Crash (regression of PR 175417) Message-ID: <bug-210191-8522-Rhk3QiuO19@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-210191-8522@https.bugs.freebsd.org/bugzilla/> References: <bug-210191-8522@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
Andrew Smith <iamasmith.home@gmail.com> has reassigned Bugzilla Automation <bugzilla@FreeBSD.org>'s request for maintainer-feedback to java@FreeBSD.or= g: Bug 210191: java/openjdk8: Fix for OpenJDK Network Crash (regression of PR 175417) https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D210191 --- Description --- PR 175417 observed that the change to select() 2 from poll() produced crash= es in java/openjdk7. This was initially provided as a FreeBSD patch to the bsd-port of OpenJDK a= nd then was adopted upstream directly into bsd-port. This change was never added to the jdk8 upstream bsd-port at the OpenJDK mercurial repo and since the patch was previosuly available ustream from jd= k7 it was never added to the jdk8 port either. The result is that java/openjdk8 is susceptible to crashes on network times= outs just as java/openjdk7 was. I have personally observed this in a perormance test environment that could produce the failure within 10 minutes using 6 Tomcat servers using a JMeter test for one of our applications as the back end infrastructure started to saturate and introduce network timeouts. The source file effected is jdk/src/solaris/native/java/net/bsd_close.c whi= ch requires the conditional switch back to using the poll mechanism if not on = an Apple platform. This file in the upstream differs only in that it lacks this conditional handling for NET_Timeout for non Apple platforms so this patch has been effectively reassembled from that change between the bsd-port/jdk8 and bsd-port/bsd-port for the java/openjdk8 port. Ideally this should go upstream into bsd-port/jdk8 but for now it is needed= in the FreeBSD port to stabilise any high throughput network applications that= may suffer frequent NET_Timeout conditions. Crashes in our environment without the patch under Apache Tomcat 8 result i= n a wide variety of SIGBUS and SIGSEGV errors often in GCTaskThread or VMThread. The patch provided can be applied by simply dropping it into /usr/ports/java/openjdk8/files prior to a port build.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-210191-8522-Rhk3QiuO19>