** Changed in: apport (Ubuntu) Importance: Undecided => High -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to apport in Ubuntu. https://bugs.launchpad.net/bugs/1487174
Title: apport-retrace's build sandbox routine carries on if it can't find the package for an ExecutablePath Status in Apport: New Status in apport package in Ubuntu: New Bug description: In the event that a package which provides an ExecutablePath or InterpreterPath can not be found apport will carry on building the sandbox but then exits a short while later (the last line in the pasted code). I think it'd be better if apport just quit earlier. Here's the code in question from sandboxutils.py: # package hooks might reassign Package:, check that we have the originally # crashing binary for path in ('InterpreterPath', 'ExecutablePath'): if path in report: pkg = apport.packaging.get_file_package(report[path], True, pkgmap_cache_dir, release=report['DistroRelease'], arch=report.get('Architecture')) if pkg: apport.log('Installing extra package %s to get %s' % (pkg, path), log_timestamps) pkgs.append((pkg, pkg_versions.get(pkg))) else: apport.warning('Cannot find package which ships %s', path) # unpack packages for executable using cache and sandbox if pkgs: try: outdated_msg += apport.packaging.install_packages( sandbox_dir, config_dir, report['DistroRelease'], pkgs, verbose, cache_dir, permanent_rootdir, architecture=report.get('Architecture'), origins=origins) except SystemError as e: apport.fatal(str(e)) # sanity check: for a packaged binary we require having the executable in # the sandbox; TODO: for an unpackage binary we don't currently copy its # potential local library dependencies (like those in build trees) into the # sandbox, and we call gdb/valgrind on the binary outside the sandbox. if 'Package' in report: for path in ('InterpreterPath', 'ExecutablePath'): if path in report and not os.path.exists(sandbox_dir + report[path]): apport.fatal('%s %s does not exist (report specified package %s)', path, sandbox_dir + report[path], report['Package']) Instead of warning with ('Cannot find package which ships %s', path) I think that should be a fatal error. It'd probably be optimal to even move the check for the crashing binary to the earliest place possible in make_sandbox. To manage notifications about this bug go to: https://bugs.launchpad.net/apport/+bug/1487174/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp