As one test I changed the Regional Format to "English (Denmark)" so that
numbers are 1.234.567,89 and then upgraded to yakkety using
DistUpgradeViewGtk3.  I did not encounter a crash.

bdmurray@clean-xenial-amd64:~$ env | grep LC_
LC_PAPER=en_DK.UTF-8
LC_ADDRESS=en_DK.UTF-8
LC_MONETARY=en_DK.UTF-8
LC_NUMERIC=en_DK.UTF-8
LC_TELEPHONE=en_DK.UTF-8
LC_IDENTIFICATION=en_DK.UTF-8
LC_MEASUREMENT=en_DK.UTF-8
LC_CTYPE=en_US.UTF-8
LC_TIME=en_DK.UTF-8
LC_NAME=en_DK.UTF-8

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to python-apt in Ubuntu.
https://bugs.launchpad.net/bugs/1633219

Title:
  Upgrade to yakkety fails due to non-us locale

Status in python-apt package in Ubuntu:
  New
Status in ubuntu-release-upgrader package in Ubuntu:
  New

Bug description:
  Upgrade to yakkety failed during updates installation. The do-release-
  upgrade window froze and there was a stacktrace in the terminal:

  Traceback (most recent call last):
    File "/tmp/ubuntu-release-upgrader-tqyb12c_/yakkety", line 8, in <module>
      sys.exit(main())
    File 
"/tmp/ubuntu-release-upgrader-tqyb12c_/DistUpgrade/DistUpgradeMain.py", line 
242, in main
      if app.run():
    File 
"/tmp/ubuntu-release-upgrader-tqyb12c_/DistUpgrade/DistUpgradeController.py", 
line 1880, in run
      return self.fullUpgrade()
    File 
"/tmp/ubuntu-release-upgrader-tqyb12c_/DistUpgrade/DistUpgradeController.py", 
line 1845, in fullUpgrade
      if not self.doDistUpgrade():
    File 
"/tmp/ubuntu-release-upgrader-tqyb12c_/DistUpgrade/DistUpgradeController.py", 
line 1183, in doDistUpgrade
      res = self.cache.commit(fprogress,iprogress)
    File 
"/tmp/ubuntu-release-upgrader-tqyb12c_/DistUpgrade/DistUpgradeCache.py", line 
267, in commit
      apt.Cache.commit(self, fprogress, iprogress)
    File "/usr/lib/python3/dist-packages/apt/cache.py", line 515, in commit
      res = self.install_archives(pm, install_progress)
    File "/usr/lib/python3/dist-packages/apt/cache.py", line 479, in 
install_archives
      res = install_progress.run(pm)
    File 
"/tmp/ubuntu-release-upgrader-tqyb12c_/DistUpgrade/DistUpgradeView.py", line 
234, in run
      res = os.WEXITSTATUS(self.wait_child())
    File 
"/tmp/ubuntu-release-upgrader-tqyb12c_/DistUpgrade/DistUpgradeViewGtk3.py", 
line 339, in wait_child
      self.update_interface()
    File 
"/tmp/ubuntu-release-upgrader-tqyb12c_/DistUpgrade/DistUpgradeViewGtk3.py", 
line 346, in update_interface
      InstallProgress.update_interface(self)
    File "/usr/lib/python3/dist-packages/apt/progress/base.py", line 255, in 
update_interface
      if float(percent) != self.percent or status_str != self.status:
  ValueError: could not convert string to float: '0,0000'
  Error in sys.excepthook:
  Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/problem_report.py", line 497, in 
add_to_existing
      self.write(f)
    File "/usr/lib/python3/dist-packages/problem_report.py", line 450, in write
      block = f.read(1048576)
    File "/usr/lib/python3.5/codecs.py", line 321, in decode
      (result, consumed) = self._buffer_decode(data, self.errors, final)
  UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: 
invalid start byte

  Original exception was:
  Traceback (most recent call last):
    File "/tmp/ubuntu-release-upgrader-tqyb12c_/yakkety", line 8, in <module>
      sys.exit(main())
    File 
"/tmp/ubuntu-release-upgrader-tqyb12c_/DistUpgrade/DistUpgradeMain.py", line 
242, in main
      if app.run():
    File 
"/tmp/ubuntu-release-upgrader-tqyb12c_/DistUpgrade/DistUpgradeController.py", 
line 1880, in run
      return self.fullUpgrade()
    File 
"/tmp/ubuntu-release-upgrader-tqyb12c_/DistUpgrade/DistUpgradeController.py", 
line 1845, in fullUpgrade
      if not self.doDistUpgrade():
    File 
"/tmp/ubuntu-release-upgrader-tqyb12c_/DistUpgrade/DistUpgradeController.py", 
line 1183, in doDistUpgrade
      res = self.cache.commit(fprogress,iprogress)
    File 
"/tmp/ubuntu-release-upgrader-tqyb12c_/DistUpgrade/DistUpgradeCache.py", line 
267, in commit
      apt.Cache.commit(self, fprogress, iprogress)
    File "/usr/lib/python3/dist-packages/apt/cache.py", line 515, in commit
      res = self.install_archives(pm, install_progress)
    File "/usr/lib/python3/dist-packages/apt/cache.py", line 479, in 
install_archives
      res = install_progress.run(pm)
    File 
"/tmp/ubuntu-release-upgrader-tqyb12c_/DistUpgrade/DistUpgradeView.py", line 
234, in run
      res = os.WEXITSTATUS(self.wait_child())
    File 
"/tmp/ubuntu-release-upgrader-tqyb12c_/DistUpgrade/DistUpgradeViewGtk3.py", 
line 339, in wait_child
      self.update_interface()
    File 
"/tmp/ubuntu-release-upgrader-tqyb12c_/DistUpgrade/DistUpgradeViewGtk3.py", 
line 346, in update_interface
      InstallProgress.update_interface(self)
    File "/usr/lib/python3/dist-packages/apt/progress/base.py", line 255, in 
update_interface
      if float(percent) != self.percent or status_str != self.status:
  ValueError: could not convert string to float: '0,0000'

  
  It seems, that it's because release-upgrader incorrectly works with locale: 
Russian locale uses "," as a floating point separator, rather than ".", so it 
generates the "0,0000" somewhere and cannot parse it afterwards.

  ProblemType: Bug
  DistroRelease: Ubuntu 16.10
  Package: ubuntu-release-upgrader-core 1:16.04.17
  ProcVersionSignature: Ubuntu 4.4.0-43.63-generic 4.4.21
  Uname: Linux 4.4.0-43-generic x86_64
  ApportVersion: 2.20.1-0ubuntu2.1
  Architecture: amd64
  CrashDB: ubuntu
  CurrentDesktop: Unity
  Date: Thu Oct 13 23:54:25 2016
  PackageArchitecture: all
  SourcePackage: ubuntu-release-upgrader
  Symptom: release-upgrade
  UpgradeStatus: Upgraded to yakkety on 2016-10-13 (0 days ago)
  VarLogDistupgradeTermlog:
   
  modified.conffile..etc.update-manager.release-upgrades: [modified]
  mtime.conffile..etc.update-manager.release-upgrades: 
2016-10-13T22:47:25.822710

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-apt/+bug/1633219/+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