add openjdk hs log to list of acceptable_fields in whoopsie

Bug #1696814 reported by Brian Murray
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
whoopsie (Ubuntu)
Fix Released
High
Brian Murray
Xenial
Fix Released
High
Unassigned
Zesty
Fix Released
High
Unassigned

Bug Description

[Impact]
By default OpenJDK 8 generates an hs_err file when it crashes, this file contains the stacktrace generated by OpenJDK (thus it contains different data compared to a gdb stacktrace) plus information on the running threads, classes, and memory usage (OpenJDK's regions). This file is usually required by the OpenJDK and/or IcedTea upstream developers when filling a bug and, in the case of OpenJDK, is more useful than the incomplete stacktrace that GDB can generate from OpenJDK crashes.

OpenJDK 8 now includes a new apport hook to collect additional data from crash reports as well as the hs_err log file (in the new HotspotError key).

A new release is soon reaching Zesty and Xenial with the hook included and without SRU'ing this fix the hs_err file won't be uploaded to the error tracker.

[Test Case]
Make sure that you are using OpenJDK 8 and to stop whoopsie service before continuing. If any popup about submitting a crash report shows up at any time, ignore/cancel it - we are going to manually submit the report to the staging error tracker (instead of the official one).

# SleepTest.java
public class SleepTest {
 public static void main(String[] args) throws Exception {
  Thread.sleep(5000);
 }
}

1. Run whoopsie:
$ sudo CRASH_DB_URL=https://daisy.staging.ubuntu.com whoopsie -f

2. Run the SleepTest and SIGKILL it in another terminal:
$ java SleepTest & sleep 1 && pkill -f -SIGILL "java SleepTest"

3. View the crash report and submit it:
$ apport-cli -c report /var/crash/_usr_lib_jvm_java-8-openjdk-amd64_jre_bin_java.1000.crash
3a) View the report
3b) [Optional] Search for the "HotspotError" key
3c) Send the report

4. Verify that the report was saved, including the hs_err content:
4a) In whoopsie terminal, check the OOPS ID code
4b) Browse to errors.staging.ubuntu.com/oops/$OOPSID
4c) Confirm that the HotspotError was added to the report

[Regression Potential]
If the new key is added to acceptable_fields whoopsie will upload the entries in it. Currently the OpenJDK apport hook limits this to 100 KB, but changes to it could allow bigger files with in turn cause an overhead in the error tracker infrastructure.

[Original bug report]
OpenJDK 8 apport hook attaches the hs_err_pid<pid>.log (if it exists) to a Crash report under the HotspotError key. The hook is currently limited to attaching files under 100 KB.

Please add HotspotError key to the whitelist in order for it to be available in error tracker.

Related branches

Changed in whoopsie (Ubuntu):
milestone: none → ubuntu-17.06
assignee: nobody → Canonical Foundations Team (canonical-foundations)
Revision history for this message
Tiago Stürmer Daitx (tdaitx) wrote :

This is the proposed openjdk-8 hook.

description: updated
Changed in whoopsie (Ubuntu):
assignee: Canonical Foundations Team (canonical-foundations) → Brian Murray (brian-murray)
Revision history for this message
Tiago Stürmer Daitx (tdaitx) wrote :
Changed in whoopsie (Ubuntu):
importance: Undecided → High
status: New → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package whoopsie - 0.2.56

---------------
whoopsie (0.2.56) artful; urgency=medium

  * src/whoopsie.c: Add HotspotError from the openjdk-8 package hook which can
    be larger than 1KB to the list of accepted fields. (LP: #1696814)

 -- Brian Murray <email address hidden> Thu, 08 Jun 2017 15:44:53 -0700

Changed in whoopsie (Ubuntu):
status: In Progress → Fix Released
description: updated
Changed in whoopsie (Ubuntu Xenial):
importance: Undecided → High
Changed in whoopsie (Ubuntu Zesty):
importance: Undecided → High
Changed in whoopsie (Ubuntu Xenial):
status: New → Triaged
Changed in whoopsie (Ubuntu Zesty):
status: New → Triaged
Revision history for this message
Brian Murray (brian-murray) wrote :

The test case is missing information about actually sending the .crash file to the Ubuntu Error Tracker and then verifying that the report in the Error Tracker actually contains the HotSpotError information. Could you add that?

Changed in whoopsie (Ubuntu Zesty):
status: Triaged → Fix Committed
tags: added: verification-needed verification-needed-zesty
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Brian, or anyone else affected,

Accepted whoopsie into zesty-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/whoopsie/0.2.55.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-zesty to verification-done-zesty. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-zesty. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in whoopsie (Ubuntu Xenial):
status: Triaged → Fix Committed
tags: added: verification-needed-xenial
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Brian, or anyone else affected,

Accepted whoopsie into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/whoopsie/0.2.52.4 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

description: updated
Revision history for this message
Tiago Stürmer Daitx (tdaitx) wrote :

Results from tests on Xenial:

- current whoopsie 0.2.52.3: no HotspotError (as expected)
https://errors.staging.ubuntu.com/oops/5e77a89e-6e4a-11e7-8a18-fa163eaf9b83

- proposed whoopsie 0.2.52.4: HotspotError is present (as expected)
https://errors.staging.ubuntu.com/oops/cfa0113c-6e4a-11e7-8a18-fa163eaf9b83

tags: added: verification-done-xenial
removed: verification-needed-xenial
Revision history for this message
Tiago Stürmer Daitx (tdaitx) wrote :

Results from the testcase in Zesty:

- current whoopsie 0.2.55: no HotspotError (as expected)
https://errors.staging.ubuntu.com/oops/90d56bae-6e50-11e7-8a18-fa163eaf9b83

- proposed whoopsie 0.2.55.1: HotspotError is present (as expected)
https://errors.staging.ubuntu.com/oops/3e464710-6e4f-11e7-8a18-fa163eaf9b83

tags: added: verification-done-zesty
removed: verification-needed-zesty
Revision history for this message
Tiago Stürmer Daitx (tdaitx) wrote :

Import notes about running the testcase in Xenial and Zesty:
1. OpenJDK 8 has not yet been released with the apport hook on Xenial and Zesty; I copied the source_openjdk-8.py hook file from the apport package-hooks directory from OpenJDK 8 in artful to the right place in order to test it in Xenial and Zesty.
2. The HotspotError key was present in all cases when viewing the report with the apport-cli tool, as expected, and whoopsie *without* the fix ignored the key and didn't upload it, also as expected.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package whoopsie - 0.2.52.4

---------------
whoopsie (0.2.52.4) xenial-proposed; urgency=medium

  [Brian Murray]
  * src/connectivity.c: query the correct property when trying to
    network-manager's state. (LP: #1697375)
  * Modify the whoopsie service file to start after networking is on-line.
  * src/whoopsie.c: Add HotspotError from the openjdk-8 package hook which can
    be larger than 1KB to the list of accepted fields. (LP: #1696814)

 -- Tiago Stürmer Daitx <email address hidden> Wed, 19 Jul 2017 11:39:47 -0700

Changed in whoopsie (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for whoopsie has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package whoopsie - 0.2.55.1

---------------
whoopsie (0.2.55.1) zesty-proposed; urgency=medium

  [ Brian Murray ]
  * src/connectivity.c: query the correct property when trying to
    network-manager's state. (LP: #1697375)
  * Modify the whoopsie service file to start after networking is on-line.
  * src/whoopsie.c: Add HotspotError from the openjdk-8 package hook which can
    be larger than 1KB to the list of accepted fields. (LP: #1696814)

 -- Tiago Stürmer Daitx <email address hidden> Wed, 19 Jul 2017 11:34:31 -0700

Changed in whoopsie (Ubuntu Zesty):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.