Nginx bug reports for 'package' problem type are not providing useful data for Vivid and later

Bug #1472683 reported by Thomas Ward on 2015-07-08
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
nginx (Ubuntu)
Medium
Thomas Ward
Vivid
Medium
Thomas Ward
Wily
Medium
Thomas Ward

Bug Description

[Impact]

This issue makes it impossible to reliably determine the cause of a postinstallation failure bug during the installation or upgrade attempt of an nginx binary package. A large number of the bugs have tied back to "Postinstall exited with error code" issues, but that's all we have about it. Additional data needs to be collected, which apport hooks solve.

[Test Case]

This does not resolve the issue with an installation failure. It does increase the amount of information made available by the bug report.

(1) Have Apache or some other thing binding to port 80
(2) Install nginx-common and one of the following: nginx-core nginx-light nginx-full nginx-extras
(3) Run `apport-bug` on the crash report and review the data.

The problem is reproduced if all we get from the dpkg logs is something about the job failing to start, with no additional information.

Testing the fix, when you run the report, you will get "Journalctl_Nginx.txt" and "SystemctlStatusFull_Nginx.txt" files in the report data. These will contain the output of the two commands that the system says you should run to get more information about the failure, and includes it in the report.

[Regression Potential]

None. All this adds is an apport hook, which has been tested on both Wily and Vivid.

[Other Info]

I know for a fact that Seth Arnold and Robie Basak will praise these apport hooks, if only because we will actually be able to debug installation and upgrade failures in which nginx binaries are failing to install due to some issue with the job start process.

[Original Description]

This is against the 'nginx' package because apport hooks need added here for Vivid and Wily.

Currently, systemd and stderr and Apport do not pull in enough information for bug triage and handling to be done.

We have several Vivid bugs now which show this - they're all for the same version of the package, in Wily, but different binaries, all with the Package problem type, and a postinstallation script failure. But that's it, there's no information of the errors, or anything.

To that end, we need to expand what Apport pulls in, to include output from `journalctl -xe --unit=nginx.service` and `systemctl -l status nginx.service` in order to get useful information for Package class bugs.

I have given this a Medium importance, as there's no useful information in bug reports of the Package class currently that could allude to why the postinst scripts failed.

Thomas Ward (teward) on 2015-07-08
Changed in nginx (Ubuntu Vivid):
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Thomas Ward (teward)
status: In Progress → Triaged
Changed in nginx (Ubuntu Wily):
status: In Progress → Triaged
Thomas Ward (teward) on 2015-07-08
summary: - Nginx bug reports for 'package' problem type are not providing useful
- data
+ Nginx bug reports for Vivid and later not really returning useful data
description: updated
Thomas Ward (teward) on 2015-07-09
description: updated
summary: - Nginx bug reports for Vivid and later not really returning useful data
+ Nginx bug reports for 'package' problem type are not providing useful
+ data for Vivid and later
Changed in nginx (Ubuntu Wily):
status: Triaged → In Progress
Thomas Ward (teward) on 2015-07-09
Changed in nginx (Ubuntu Wily):
status: In Progress → Triaged
Thomas Ward (teward) on 2015-07-10
Changed in nginx (Ubuntu Wily):
status: Triaged → In Progress
Thomas Ward (teward) on 2015-07-10
description: updated
Changed in nginx (Ubuntu Vivid):
status: Triaged → In Progress
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nginx - 1.6.2-5ubuntu4

---------------
nginx (1.6.2-5ubuntu4) wily; urgency=medium

  * debian/apport/source_nginx.py:
    - Add apport hooks for additional bug information gathering, as a result
      of non-useful reports due to postinstall script failure bugs. This is
      necessary in order to be able to actually debug what is going on in the
      bug reports, thanks to systemd not putting startup errors to stdout or
      stderr anymore, like Upstart and others did. (LP: #1472683)
  * debian/nginx-common.install:
    - Add install rule for debian/apport/source_nginx.py, which is the new
      apport hooks to gather additional 'Package' bugtype debug data.

 -- Thomas Ward <email address hidden> Fri, 10 Jul 2015 12:51:48 -0400

Changed in nginx (Ubuntu Wily):
status: In Progress → Fix Released
Thomas Ward (teward) on 2015-07-10
Changed in nginx (Ubuntu Vivid):
assignee: Thomas Ward (teward) → nobody
Thomas Ward (teward) on 2015-07-13
Changed in nginx (Ubuntu Vivid):
assignee: nobody → Thomas Ward (teward)

Hello Thomas, or anyone else affected,

Accepted nginx into vivid-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/nginx/1.6.2-5ubuntu3.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 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 to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. 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 nginx (Ubuntu Vivid):
status: In Progress → Fix Committed
tags: added: verification-needed
Thomas Ward (teward) on 2015-07-13
tags: added: verification-done
removed: verification-needed
Thomas Ward (teward) wrote :

Ran this in a Vivid environment under the test case. When running apport-bug on the generated crash report, we get the output from the files which were included as per the apport hooks.

A test bug exists from the -proposed package. See https://bugs.launchpad.net/ubuntu/+source/nginx/+bug/1474039 for details and confirmation therein that the new files are included by the apport hook. Specific case data for that test bug is there, and replicates the test case here (have Apache installed, run Apache, then try and install nginx-full and nginx-common. Startup of nginx fails, because port 80 is bound, and no info is from JournalErrors.txt. The new files correctly operate and attach debuggable data such as *why* it failed.)

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nginx - 1.6.2-5ubuntu3.1

---------------
nginx (1.6.2-5ubuntu3.1) vivid; urgency=medium

  * debian/apport/source_nginx.py:
    - Add apport hooks for additional bug information gathering, as a result
      of non-useful reports due to postinstall script failure bugs. This is
      necessary in order to be able to actually debug what is going on in the
      bug reports, thanks to systemd not putting startup errors to stdout or
      stderr anymore, like Upstart and others did. (LP: #1472683)
  * debian/nginx-common.install:
    - Add install rule for debian/apport/source_nginx.py, which is the new
      apport hooks to gather additional 'Package' bugtype debug data.

 -- Thomas Ward <email address hidden> Fri, 10 Jul 2015 11:14:00 -0400

Changed in nginx (Ubuntu Vivid):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for nginx 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.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers