[Bug 989819] Re: Make duplicate signature more specific for DBusException and OSError
Brian Murray
brian at ubuntu.com
Fri Apr 1 17:42:41 UTC 2016
Hello Sebastien, or anyone else affected,
Accepted apport into trusty-proposed. The package will build now and be
available at
https://launchpad.net/ubuntu/+source/apport/2.14.1-0ubuntu3.20 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: apport (Ubuntu Trusty)
Status: In Progress => Fix Committed
** Tags added: verification-needed
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to apport in Ubuntu.
https://bugs.launchpad.net/bugs/989819
Title:
Make duplicate signature more specific for DBusException and OSError
Status in Daisy:
Confirmed
Status in apport package in Ubuntu:
Fix Released
Status in apport source package in Trusty:
Fix Committed
Status in apport source package in Xenial:
Fix Released
Bug description:
Looking through some db bug examples and saw some incorrect bug
associations, one example
"Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/LanguageSelector/gtk/GtkLanguageSelector.py", line 62, in wrapper
res = f(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/LanguageSelector/gtk/GtkLanguageSelector.py", line 74, in wrapper
res = f(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/LanguageSelector/gtk/GtkLanguageSelector.py", line 1090, in on_combobox_locale_chooser_changed
self.writeUserFormats()
File "/usr/lib/python2.7/dist-packages/LanguageSelector/gtk/GtkLanguageSelector.py", line 775, in writeUserFormats
self.writeUserFormatsSetting(userFormats=code)
File "/usr/lib/python2.7/dist-packages/LanguageSelector/LanguageSelector.py", line 71, in writeUserFormatsSetting
iface.SetFormatsLocale(macr['SYSLOCALE'])
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 70, in __call__
return self._proxy_method(*args, **keywords)
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 145, in __call__
**keywords)
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in call_blocking
message, timeout)
DBusException: org.freedesktop.Accounts.Error.PermissionDenied: Not authorized"
has been associated to
https://bugs.launchpad.net/ubuntu/+source/accountsservice/+bug/930785
"Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/LanguageSelector/gtk/GtkLanguageSelector.py", line 62, in wrapper
res = f(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/LanguageSelector/gtk/GtkLanguageSelector.py", line 74, in wrapper
res = f(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/LanguageSelector/gtk/GtkLanguageSelector.py", line 1081, in on_combobox_locale_chooser_changed
self.writeUserFormats()
File "/usr/lib/python2.7/dist-packages/LanguageSelector/gtk/GtkLanguageSelector.py", line 775, in writeUserFormats
self.writeUserFormatsSetting(userFormats=code)
File "/usr/lib/python2.7/dist-packages/LanguageSelector/LanguageSelector.py", line 71, in writeUserFormatsSetting
iface.SetFormatsLocale(macr['SYSLOCALE'])
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 70, in __call__
return self._proxy_method(*args, **keywords)
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 145, in __call__
**keywords)
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in call_blocking
message, timeout)
DBusException: org.freedesktop.Accounts.Error.Failed: 'bg_BG.UTF-8' is not a valid locale name"
The "functions signature" is the same, the exceptions are different
though, it should probably consider that as part of the signature
SRU TEST CASE:
--------------
* Modify /usr/bin/pybuild to append these two lines right after "def main(cfg):"
raise OSError(99, 'some OS error')
* Now running "pybuild" will provoke an OSError, and you should get a
/var/crash/_usr_share_dh-python_pybuild.1000.crash
* With current apport, the crash signature looks like this, i. e. it
does not include the errno (99):
$ python3 -c 'import apport; r = apport.Report(); r.load(open("/var/crash/_usr_share_dh-python_pybuild.1000.crash", "rb")); print(r.crash_signature())'
/usr/share/dh-python/pybuild:OSError:/usr/share/dh-python/pybuild at 449:main
* With this apport update (you need to rm the .crash and re-generate
it), it will look like this instead:
/usr/share/dh-python/pybuild:OSError(99):/usr/share/dh-
python/pybuild at 449:main
i. e. the errno 99 will be used to disambiguate/duplicate the crash.
This works similarly for DBusErrors, but this is much harder to test
manually. The backported patch includes automatic test cases which
cover the DBusError cases, though.
To manage notifications about this bug go to:
https://bugs.launchpad.net/daisy/+bug/989819/+subscriptions
More information about the foundations-bugs
mailing list