Date: Fri, 10 Jun 2016 13:57:16 +0000 From: bugzilla-noreply@freebsd.org To: java@FreeBSD.org Subject: [Bug 210191] java/openjdk8: Fix for OpenJDK Network Crash (regression of PR 175417) Message-ID: <bug-210191-8522@https.bugs.freebsd.org/bugzilla/>
index | next in thread | raw e-mail
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=210191 Bug ID: 210191 Summary: java/openjdk8: Fix for OpenJDK Network Crash (regression of PR 175417) Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: Individual Port(s) Assignee: java@FreeBSD.org Reporter: iamasmith.home@gmail.com Assignee: java@FreeBSD.org Flags: maintainer-feedback?(java@FreeBSD.org) PR 175417 observed that the change to select() 2 from poll() produced crashes in java/openjdk7. This was initially provided as a FreeBSD patch to the bsd-port of OpenJDK and 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 jdk7 it was never added to the jdk8 port either. The result is that java/openjdk8 is susceptible to crashes on network timesouts 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 which 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 in 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. -- You are receiving this mail because: You are the assignee for the bug.help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-210191-8522>
