[Bug 1696814] Re: add openjdk hs log to list of acceptable_fields in whoopsie
Tiago Stürmer Daitx
1696814 at bugs.launchpad.net
Thu Jul 20 19:54:32 UTC 2017
** Description changed:
- [Impact]
+ [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]
- 1. Start any java program using OpenJDK 8
- 2. Kill it with SIGILL
- 3. Check that the created report contains the hs_err file
+ 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).
- [Regression Potential]
+ # 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.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to whoopsie in Ubuntu.
https://bugs.launchpad.net/bugs/1696814
Title:
add openjdk hs log to list of acceptable_fields in whoopsie
Status in whoopsie package in Ubuntu:
Fix Released
Status in whoopsie source package in Xenial:
Fix Committed
Status in whoopsie source package in Zesty:
Fix Committed
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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/whoopsie/+bug/1696814/+subscriptions
More information about the foundations-bugs
mailing list