Skip site navigation (1)Skip section navigation (2)
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/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D210191

            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 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.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-210191-8522>