Due to the nature of Python exceptions this indeed can only ever be a
heuristic. Some Python errors are already very specific, and we *don't*
want their message be part of the signature. For example, we want to
treat PermissionError('/home/fred/foo') and
PermissionError('/home/joe/bar') as one and the same bug. Likewise, in
the example in the description we would want
"org.freedesktop.Accounts.Error.Failed: 'bg_BG.UTF-8' is not a valid
locale name" to be treated exactly the same as any other locale name.
Exception messages also often have localized or otherwise user/system
specific context in them.

For DBusError the situation is still relatively easy -- this is a well-
known one from dbus-python which actually wraps a "real" exception on
the server. For the duplicate signature we certainly should unwrap that
inner exception, so that we end up with something like
"DBusException:org.freedesktop.Accounts.Error.PermissionDenied".

The other case of pyapt's SystemErrors are harder to dissect as there is
no structure in the exceptions and their messages. So the only real
options that we have are to keep the status quo (don't use the message
at all) or take it wholesale. But I  think the latter wouldn't be
helpful as it would consider too many things as "not the same bug". One
could go further and just take the last word, but I think that would be
completely arbitrary and still not help (translations/not capturing the
important part).

So I propose to do one step at a time and unwrap DBusExceptions for now.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/989819

Title:
  the signatures match code should probably consider the exception for
  python errors

To manage notifications about this bug go to:
https://bugs.launchpad.net/daisy/+bug/989819/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to