add openjdk hs log to list of acceptable_fields in whoopsie
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.
}
}
1. Run whoopsie:
$ sudo CRASH_DB_URL=https:/
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/
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.
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) |
Changed in whoopsie (Ubuntu): | |
assignee: | Canonical Foundations Team (canonical-foundations) → Brian Murray (brian-murray) |
Changed in whoopsie (Ubuntu): | |
importance: | Undecided → High |
status: | New → In Progress |
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 |
description: | updated |
This is the proposed openjdk-8 hook.