The verification of the Stable Release Update for apport has completed
successfully and the package has now been released to -updates.
Subsequently, the Ubuntu Stable Release Updates Team is being
unsubscribed and will not receive messages about this bug report.  In
the event that you encounter a regression using the package from
-updates please report a new bug using ubuntu-bug and tag the bug report
regression-update so we can easily find any regressions.

-- 
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/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 Released
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@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@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

-- 
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

Reply via email to