Skip to content

Allow the viewing of crash reports even when a package is not found #109

@ndunsworth

Description

@ndunsworth

try:
self.bugtracker = "https://bugs.launchpad.net/"
output = subprocess.check_output(["dpkg", "-S", executable_path]).decode("utf-8")
if ":" in output:
output = output.split(":")[0]
# Check if -dbg package is missing
dbg_name = "%s-dbg" % output
if dbg_name in self.cache and not self.cache[dbg_name].is_installed:
self.buffer.set_text(_("The debug symbols are missing for %(program)s.\nPlease install %(package)s.") % {'program':output, 'package':dbg_name})
self.on_unpack_crash_report_finished()
return
if "mate" in output or output in ["caja", "atril", "pluma", "engrampa", "eom"]:
self.bugtracker = "https://github.com/mate-desktop/%s/issues" % output
elif output in self.cache:
pkg = self.cache[output]
self.bugtracker = "https://bugs.launchpad.net/%s" % output
for origin in pkg.installed.origins:
if origin.origin == "linuxmint":
self.bugtracker = "https://github.com/linuxmint/%s/issues" % output
break
except:
self.buffer.set_text(_("The package providing %s could not be found.\nIf you want to generate a stack trace for this crash report, please reinstall it.") % executable_path)
self.on_unpack_crash_report_finished()
return

Currently this code checks if a valid package can be found and if not it bails on displaying the crash repot.

The package providing /uber/leet/executable-that-crashed could not be found.
If you want to generate a stack trace for this crash report, please reinstall it.

It does so, from what i can gather, solely because mintreport wants a valid package so the Bug Tracker button knows where to send the user should they click on it.

Having the button is great but shouldn't be the sole reason for whether a crash report can be viewed or not.

If a package was not installed via package or cant be found for other unknown reasons. Then the Bug Tracker button should simply be disabled and the report shown because the crash report does exist at the end of the day.

Even the bottom of the panel says...

Developers need to know where the code fails or how to reproduce the issue. Always provide a trace and reliable instructions to trigger/observe the problem

Kind of a bummer to prevent users from seeing traces because a Bug Tracker button can't be resolved to a valid url.

I commented out the check on my local machine and didn't notice any explosions when exploring crash dumps from personal work.

And as a software dev myself I much prefer gui tools when available. I would like to be able to use mintreports to see my crash logs during development.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions