[Bug 2020064] Re: locale.Error: unsupported locale setting

Simon Quigley 2020064 at bugs.launchpad.net
Fri Jan 17 20:24:59 UTC 2025


I do believe I already sponsored this :)

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

Title:
  locale.Error: unsupported locale setting

Status in Landscape Client:
  Fix Released
Status in landscape-client package in Ubuntu:
  In Progress

Bug description:
  
  [ Impact ]

   * When the C.UTF-8 locales is not installed, landscape-client's package
     reporter service fails to start:

  Traceback (most recent call last):
    File "/usr/bin/landscape-package-reporter", line 10, in <module>
      main(sys.argv[1:])
    File "/usr/lib/python3/dist-packages/landscape/client/package/reporter.py", line 872, in main
      locale.setlocale(locale.LC_CTYPE, ("C", "UTF-8"))
    File "/usr/lib/python3.8/locale.py", line 608, in setlocale
      return _setlocale(category, locale)
  locale.Error: unsupported locale setting

   * This prevents landscape-client from reporting packages, preventing
     all subsequent package activities.

  [ Test Plan ]

   * Edit /etc/default/locale to contain LANG=en_GB.UTF-8
   * Run `sudo dpkg-reconfigure locales` and select only en_GB.UTF-8 and select
     en_GB.UTF-8 as default locale
   * sudo apt install landscape-client
   * Attempt to start package-reporter:

     sudo landscape-package-reporter

     Package Reporter should start without any exceptions. There will be no output
     and the process will not exit unless killed.

   * Register landscape-client with landscape server and wait for the package
     reporter log to appear at /var/log/landscape/package-reporter.log. The log
     should not contain any errors.

   * Test again using a non-UTF-8 locale setting instead of en_GB.UTF-8

  [ Where problems could occur ]

   * As this is a reversion of a previous fix for a bug regarding locales, that
     issue might re-occur with non-UTF-8 locales. A comment in LP: #1827857 claims
     this has been fixed in python-apt, though.

   * Packages with control file fields containing non-ASCII characters may be
     reported incorrectly. The Debian Policy Manual says that package names cannot
     contain these but other fields might,

  [ Other Info ]

    <ORIGINAL BUG REPORT FOLLOWS>

  OS: Ubuntu 20.04.6 LTS
  Landscape client: 23.02-0ubuntu1

  Due to missing locale, the landscape client couldn't report the list
  of installed packages to the landscape server (SAAS).

  2023-05-10 17:23:10,675 WARNING  [MainThread] Package reporter output:
  b'Traceback (most recent call last):
    File "/usr/bin/landscape-package-reporter", line 10, in <module>
      main(sys.argv[1:])
    File "/usr/lib/python3/dist-packages/landscape/client/package/reporter.py", line 872, in main
      locale.setlocale(locale.LC_CTYPE, ("C", "UTF-8"))
    File "/usr/lib/python3.8/locale.py", line 608, in setlocale
      return _setlocale(category, locale)
  locale.Error: unsupported locale setting
  '

  As a result, the server kept reporting available updates for the
  machine and when the update was triggered it failed with the following
  error reported in the task activity.

  "Package data has changed. Please retry the operation."

  For example on the affected client machine the "apt list --installed | grep dnsmasq-base" gives the output
  "dnsmasq-base/focal-updates,focal-security,now 2.80-1.1ubuntu1.7 amd64

  However, landscape server keeps reporting that update
  (2.80-1.1ubuntu1.7) is available.

To manage notifications about this bug go to:
https://bugs.launchpad.net/landscape-client/+bug/2020064/+subscriptions




More information about the Ubuntu-sponsors mailing list