b***@freebsd.org
2016-06-10 13:57:16 UTC
Andrew Smith <***@gmail.com> has reassigned Bugzilla Automation
<***@FreeBSD.org>'s request for maintainer-feedback to ***@FreeBSD.org:
Bug 210191: java/openjdk8: Fix for OpenJDK Network Crash (regression of PR
175417)
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=210191
--- Description ---
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.
<***@FreeBSD.org>'s request for maintainer-feedback to ***@FreeBSD.org:
Bug 210191: java/openjdk8: Fix for OpenJDK Network Crash (regression of PR
175417)
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=210191
--- Description ---
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.