Bug 210024

Summary: java/openjdk8: Multiple java ports builds segfaulting on ARM
Product: Ports & Packages Reporter: Ulrich Grey <usenet>
Component: Individual Port(s)Assignee: freebsd-java (Nobody) <java>
Status: Closed FIXED    
Severity: Affects Some People CC: gspeicher, java, mikael
Priority: --- Keywords: needs-qa
Version: LatestFlags: vlad-fbsd: maintainer-feedback? (java)
Hardware: arm   
OS: Any   
Attachments:
Description Flags
build log textproc/fop
none
Internal Error Log textproc/fop
none
java/sigar build log
none
java/jdom build log
none
backtrace none

Description Ulrich Grey 2016-06-04 14:48:30 UTC
Created attachment 171009 [details]
build log textproc/fop

It seems that java/openjdk8 does not work reliable anymore.
I have tried to build textproc/fop (worked well some weeks ago) and got this error:

00:01:23) ===>  Building for fop-2.1
(00:01:23) #
(00:01:23) # A fatal error has been detected by the Java Runtime Environment:
(00:01:23) #
(00:01:23) #  Internal Error (os_bsd_zero.cpp:246), pid=31801, tid=0x00018a31
(00:01:23) #  fatal error: caught unhandled signal 11 at address 0x00000000
(00:01:23) #
(00:01:23) # JRE version:  (8.0_92-b14) (build )
(00:01:23) # Java VM: OpenJDK Zero VM (25.92-b14 interpreted mode bsd-arm )
(00:01:23) # Core dump written. Default
location: /wrkdirs/usr/ports/textproc/fop/work/fop-2.1/java.core (00:01:23) #
(00:01:23) # An error report file with more information is saved as:
(00:01:23) # /wrkdirs/usr/ports/textproc/fop/work/fop-2.1/hs_err_pid31801.log

I have attached both logfiles.

In my poudriere ports tree I have replaced the current java/openjdk8 port with
the former one (8.77.3). Now I am able to build textproc/fop successfully.
Using the new built java/openjdk8 (8.77.3) and textproc/fop I have successully
built the FreeBSD handbook in pdf format (textproc/docproj) on my CUBOX.
Comment 1 Ulrich Grey 2016-06-04 14:51:10 UTC
Created attachment 171011 [details]
Internal Error Log textproc/fop
Comment 2 VK 2016-06-07 12:13:31 UTC
I'm actually going to switch this PR to become primarily relevant for textproc/fop, since the report is focusing on building that. CC-ing java@, notifying maintainer of fop, reassigning back to pool.
Comment 3 Geoff Speicher 2016-06-07 14:51:09 UTC
Sorry, I am pushing back on this. The problem needs to be researched within the JDK. A specific version of the JDK on a specific platform is reporting a segmentation violation when compiling the fop port. I'm not sure what can be done from the fop port to address this.

At the very least, if there is something in the FOP source that the JDK doesn't like on ARM then it should be reported with a useful error message rather than quitting with a segfault.

Please move this bug back to java/openjdk8 until we have more information that would specifically indicate a problem with fop.
Comment 4 VK 2016-06-07 15:43:10 UTC
The summary of the reported (not necessarily actual) issue and point of origin of the problem, is in fop. This does not mean in any way that the problem may not be much wider and in Java itself.

I believe that is the best approach to classifying this issue at the moment. If a wider problem with Java on ARM is found, a blocker PR can be opened additionally and/or this PR updated.

There is nothing in this triage decision that prevents resolution of the issue, java@ is CC'ed so everyone who has to be notified, is notified. :)
Comment 5 Geoff Speicher 2016-06-07 15:50:10 UTC
Fair enough. I will wait to hear from them. :)
Comment 6 Mikael Urankar freebsd_committer freebsd_triage 2016-06-07 15:52:45 UTC
The problem is definitely in java/openjdk8 not in fop and only happens when java is built in RELEASE 'mode' (it doesn't crash in DEBUG or FASTDEBUG mode)

All the java ports are failing on armv6:
http://beefy8.nyi.freebsd.org/data/head-armv6-default/p416340_s301291/logs/errors/java-sigar-1.7.3_2.log
http://beefy8.nyi.freebsd.org/data/head-armv6-default/p416340_s301291/logs/errors/jdom-1.1.1,1.log
...

A simple 'java -version' is enough to trigger the crash.
Comment 7 VK 2016-06-07 16:42:19 UTC
(In reply to mikael.urankar from comment #6)

Look at it from my perspective. There's a world of difference between "here's a log of one port failing" and "here's multiple logs of multiple ports failing". :)

Could you please attach those logs to this PR, as that enables us to track the issue better without having to rely on external links? Also, btw, that big warning about expecting build failures doesn't help. :)

Adjusting the summary and reassigning to java@.
Comment 8 Mikael Urankar freebsd_committer freebsd_triage 2016-06-07 17:18:36 UTC
Created attachment 171162 [details]
java/sigar build log
Comment 9 Mikael Urankar freebsd_committer freebsd_triage 2016-06-07 17:21:16 UTC
Created attachment 171163 [details]
java/jdom build log

I've attached the build logs as requested.

The issue also happens on my raspberrypi (it's not an issue with poudriere/qemu)
Comment 10 Mikael Urankar freebsd_committer freebsd_triage 2016-06-07 18:00:37 UTC
Created attachment 171168 [details]
backtrace
Comment 11 Mikael Urankar freebsd_committer freebsd_triage 2016-06-14 16:38:39 UTC
Hi Ulrich,

Can you try to update openjdk8 to the latest version and tell us if it has fixed your issue.
Comment 12 Ulrich Grey 2016-06-15 10:19:55 UTC
(In reply to mikael.urankar from comment #11)

I have updated the ports tree to head@416900.
I have built java/openjdk8 release and textpoc/fop successfully.
Using textproc/fop I have built successfully some articles
of FreeBSD documentation.
Comment 13 Mikael Urankar freebsd_committer freebsd_triage 2016-06-15 11:59:18 UTC
Cool, can you close this PR? (click on Status -> closed)