Activity log for bug #1077253

Date Who What changed Old value New value Message
2012-11-09 23:44:45 Brian Murray bug added bug
2012-11-09 23:47:18 Brian Murray bug added subscriber Martin Pitt
2013-01-04 12:25:40 Launchpad Janitor branch linked lp:apport
2013-01-04 12:26:37 Martin Pitt apport (Ubuntu): status New Fix Committed
2013-01-04 16:00:41 Brian Murray nominated for series Ubuntu Quantal
2013-01-04 16:00:41 Brian Murray bug task added apport (Ubuntu Quantal)
2013-01-04 16:00:51 Brian Murray apport (Ubuntu Quantal): importance Undecided High
2013-01-04 16:00:56 Brian Murray apport (Ubuntu Quantal): status New Triaged
2013-01-08 09:09:14 Launchpad Janitor apport (Ubuntu): status Fix Committed Fix Released
2013-01-10 22:17:09 Brian Murray description I was testing bug 1067542 again and ran into a situation where release upgrade crash was unreportable because the binary had changed. Digging into the issue DistUpgradeApport.py from update-manager / ubuntu-release-upgrader sets ExecutablePath = '/usr/bin/do-release-upgrade', however ProcCmdline = '/usr/bin/python /tmp/update-manager-xyz/quantal' (from the dist upgrade tarball). Then when add_proc_info calls _check_interpreted (in apport/report.py) ExecutablePath is temporarily set to '/tmp/update-manager-xyz/quantal' and the ExecutableTimestamp is calculated using that ExecutablePath. Later, on when collect_info (in apport/ui.py) is run we use the "real" ExecutablePath, '/usr/bin/do-release-upgrade' in this example, which will have a different ExecutableTimestamp than the one written to the report during _check_interpreted. This ultimately, makes reporting crashes in the release upgrader not reportable. [Test Case] One convoluted way to test this the following: 1) on a quantal system run 'do-release-upgrade -d' 2) cancel the upgrade 3) switch to the release upgrader directory '/tmp/ubuntu-release-upgrade-XYZ' 4) edit DistUpgradeController create a new line (number 407) after 'if.self.configgetWithDefault...' with the contents 'x = (10 / 0)'. This will cause the release upgrader to crash the next time it is run. 5) in /tmp/ubuntu-release-upgrader-XYZ run the following: 'sudo /usr/bin/python /tmp/ubuntu-release-upgrader-XYZ/raring --sandbox' Observe the release upgrader crash and that you are not prompted to file a bug in Launchpad. ---- I was testing bug 1067542 again and ran into a situation where release upgrade crash was unreportable because the binary had changed. Digging into the issue DistUpgradeApport.py from update-manager / ubuntu-release-upgrader sets ExecutablePath = '/usr/bin/do-release-upgrade', however ProcCmdline = '/usr/bin/python /tmp/update-manager-xyz/quantal' (from the dist upgrade tarball). Then when add_proc_info calls _check_interpreted (in apport/report.py) ExecutablePath is temporarily set to '/tmp/update-manager-xyz/quantal' and the ExecutableTimestamp is calculated using that ExecutablePath. Later, on when collect_info (in apport/ui.py) is run we use the "real" ExecutablePath, '/usr/bin/do-release-upgrade' in this example, which will have a different ExecutableTimestamp than the one written to the report during _check_interpreted. This ultimately, makes reporting crashes in the release upgrader not reportable.
2013-01-11 16:45:31 Brian Murray description [Test Case] One convoluted way to test this the following: 1) on a quantal system run 'do-release-upgrade -d' 2) cancel the upgrade 3) switch to the release upgrader directory '/tmp/ubuntu-release-upgrade-XYZ' 4) edit DistUpgradeController create a new line (number 407) after 'if.self.configgetWithDefault...' with the contents 'x = (10 / 0)'. This will cause the release upgrader to crash the next time it is run. 5) in /tmp/ubuntu-release-upgrader-XYZ run the following: 'sudo /usr/bin/python /tmp/ubuntu-release-upgrader-XYZ/raring --sandbox' Observe the release upgrader crash and that you are not prompted to file a bug in Launchpad. ---- I was testing bug 1067542 again and ran into a situation where release upgrade crash was unreportable because the binary had changed. Digging into the issue DistUpgradeApport.py from update-manager / ubuntu-release-upgrader sets ExecutablePath = '/usr/bin/do-release-upgrade', however ProcCmdline = '/usr/bin/python /tmp/update-manager-xyz/quantal' (from the dist upgrade tarball). Then when add_proc_info calls _check_interpreted (in apport/report.py) ExecutablePath is temporarily set to '/tmp/update-manager-xyz/quantal' and the ExecutableTimestamp is calculated using that ExecutablePath. Later, on when collect_info (in apport/ui.py) is run we use the "real" ExecutablePath, '/usr/bin/do-release-upgrade' in this example, which will have a different ExecutableTimestamp than the one written to the report during _check_interpreted. This ultimately, makes reporting crashes in the release upgrader not reportable. [Test Case] One convoluted way to test this the following: 1) on a quantal system run 'do-release-upgrade -d' 2) cancel the upgrade 3) switch to the release upgrader directory '/tmp/ubuntu-release-upgrade-XYZ' 4) edit DistUpgradeController.py create a new line (number 407) after 'if.self.config.getWithDefault...' with the contents 'x = (10 / 0)'. This will cause the release upgrader to crash the next time it is run. 5) in /tmp/ubuntu-release-upgrader-XYZ run the following: 'sudo /usr/bin/python /tmp/ubuntu-release-upgrader-XYZ/raring --sandbox' Observe the release upgrader crash. If you inspect the contents of the crash file, /var/crash/_usr_bin_do-release-upgrade.0.crash you'll notice that with the current version of apport, additional system information is not collected - you will not find Dependencies in the .crash file. With the version of apport from -proposed you will find this. ---- I was testing bug 1067542 again and ran into a situation where release upgrade crash was unreportable because the binary had changed. Digging into the issue DistUpgradeApport.py from update-manager / ubuntu-release-upgrader sets ExecutablePath = '/usr/bin/do-release-upgrade', however ProcCmdline = '/usr/bin/python /tmp/update-manager-xyz/quantal' (from the dist upgrade tarball). Then when add_proc_info calls _check_interpreted (in apport/report.py) ExecutablePath is temporarily set to '/tmp/update-manager-xyz/quantal' and the ExecutableTimestamp is calculated using that ExecutablePath. Later, on when collect_info (in apport/ui.py) is run we use the "real" ExecutablePath, '/usr/bin/do-release-upgrade' in this example, which will have a different ExecutableTimestamp than the one written to the report during _check_interpreted. This ultimately, makes reporting crashes in the release upgrader not reportable.
2013-01-11 19:44:43 Launchpad Janitor branch linked lp:~ubuntu-core-dev/ubuntu/quantal/apport/ubuntu
2013-01-17 19:22:50 Adam Conrad apport (Ubuntu Quantal): status Triaged Fix Committed
2013-01-17 19:22:52 Adam Conrad bug added subscriber Ubuntu Stable Release Updates Team
2013-01-17 19:22:53 Adam Conrad bug added subscriber SRU Verification
2013-01-17 19:22:55 Adam Conrad tags quantal raring quantal raring verification-needed
2013-01-26 14:52:56 Brian Murray tags quantal raring verification-needed quantal raring verification-done
2013-01-28 12:10:56 Colin Watson removed subscriber Ubuntu Stable Release Updates Team
2013-01-28 12:11:10 Launchpad Janitor apport (Ubuntu Quantal): status Fix Committed Fix Released