← Back to team overview

ubuntu-hams-devel team mailing list archive

[Bug 2071563] Re: [SRU - Noble] Backport crash fix

 

** Description changed:

+ [ Impact ]
+ CHIRP contains a regression that causes it to crash on launch when no existing config file is found (e.g. clear installation).
+ 
+ The regression was an oversight in the refactoring of the recent file
+ handling. It results in the CHIRP application being completely unusable,
+ crashing every time immediately after startup and there is no easy
+ workaround available.
+ 
+ [ Test Plan ]
+ This fix has already been tested and is implemented in newer stable CHIRP release that is already present in Ubuntu Oracular. However, it was not fixed before FeatureFreeze, and was not available in Debian until post-Noble release.
+ 
+ The fix has already been tested manually by others, but as soon as a
+ version with the patch present is available, a user should install the
+ updated chirp package and the program should launch without any crashes.
+ 
+ [Regression Potential]
+ None. The fix simply adds one line of code with an if conditional to remove the "state" section only if it exists, thus fixing the "No section: 'state'" error.
+ 
+ [ Where problems could occur ]
+ The only change is in the one line of code that handles "cleaning of higher-order entries if they exist" and was previously attempting to remove them even if they did not exist, resulting in a fatal error.
+ 
+ [ Other Info ]
+ It has been fixed as a part of the new CHIRP version from the Debian package 20240413-1 which has been synced to Oracular.
+ 
+ Here is the upstream commit that needs to be added as a patch to the
+ Noble SRU:
+ https://github.com/kk7ds/chirp/commit/0885555196b94ffad44acc7ca9b37a1ba67b815e
+ 
+ [ Original Bug Description ]
  Chirp (1:20240224-1) on Ubuntu 24.04 LTS crashes on startup with:
  
  Traceback (most recent call last):
    File "/usr/bin/chirpw", line 33, in <module>
      sys.exit(load_entry_point('chirp==20240224', 'console_scripts', 'chirpw')())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/chirp/wxui/__init__.py", line 178, in chirpmain
      mainwindow = main.ChirpMain(None, title='CHIRP')
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/chirp/wxui/main.py", line 415, in __init__
      self.SetMenuBar(self.make_menubar())
                      ^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/chirp/wxui/main.py", line 656, in make_menubar
      self.adj_menu_open_recent(None)
    File "/usr/lib/python3/dist-packages/chirp/wxui/main.py", line 1025, in adj_menu_open_recent
      CONF.remove_option('recent%i' % i, 'state')
    File "/usr/lib/python3/dist-packages/chirp/wxui/config.py", line 160, in remove_option
      self._config.remove_option(section, key)
    File "/usr/lib/python3/dist-packages/chirp/wxui/config.py", line 64, in remove_option
      self.__config.remove_option(section, key)
    File "/usr/lib/python3.12/configparser.py", line 924, in remove_option
      raise NoSectionError(section) from None
  configparser.NoSectionError: No section: 'state'
  
  This is fixed in the latest version from Oracular (1:20240413-1). In
  Noble, it is possible to fix it by applying the following simple patch:
  
  https://github.com/kk7ds/chirp/commit/0885555196b94ffad44acc7ca9b37a1ba67b815e
  
  (Line 1025 instead of 1041 in chirp 20240224-1.)

** Description changed:

  [ Impact ]
  CHIRP contains a regression that causes it to crash on launch when no existing config file is found (e.g. clear installation).
  
- The regression was an oversight in the refactoring of the recent file
+ The regression is an oversight in the refactoring of the recent file
  handling. It results in the CHIRP application being completely unusable,
  crashing every time immediately after startup and there is no easy
  workaround available.
  
  [ Test Plan ]
  This fix has already been tested and is implemented in newer stable CHIRP release that is already present in Ubuntu Oracular. However, it was not fixed before FeatureFreeze, and was not available in Debian until post-Noble release.
  
  The fix has already been tested manually by others, but as soon as a
  version with the patch present is available, a user should install the
  updated chirp package and the program should launch without any crashes.
  
- [Regression Potential]
+ [ Regression Potential ]
  None. The fix simply adds one line of code with an if conditional to remove the "state" section only if it exists, thus fixing the "No section: 'state'" error.
  
  [ Where problems could occur ]
  The only change is in the one line of code that handles "cleaning of higher-order entries if they exist" and was previously attempting to remove them even if they did not exist, resulting in a fatal error.
  
  [ Other Info ]
  It has been fixed as a part of the new CHIRP version from the Debian package 20240413-1 which has been synced to Oracular.
  
  Here is the upstream commit that needs to be added as a patch to the
  Noble SRU:
  https://github.com/kk7ds/chirp/commit/0885555196b94ffad44acc7ca9b37a1ba67b815e
  
  [ Original Bug Description ]
  Chirp (1:20240224-1) on Ubuntu 24.04 LTS crashes on startup with:
  
  Traceback (most recent call last):
-   File "/usr/bin/chirpw", line 33, in <module>
-     sys.exit(load_entry_point('chirp==20240224', 'console_scripts', 'chirpw')())
-              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   File "/usr/lib/python3/dist-packages/chirp/wxui/__init__.py", line 178, in chirpmain
-     mainwindow = main.ChirpMain(None, title='CHIRP')
-                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   File "/usr/lib/python3/dist-packages/chirp/wxui/main.py", line 415, in __init__
-     self.SetMenuBar(self.make_menubar())
-                     ^^^^^^^^^^^^^^^^^^^
-   File "/usr/lib/python3/dist-packages/chirp/wxui/main.py", line 656, in make_menubar
-     self.adj_menu_open_recent(None)
-   File "/usr/lib/python3/dist-packages/chirp/wxui/main.py", line 1025, in adj_menu_open_recent
-     CONF.remove_option('recent%i' % i, 'state')
-   File "/usr/lib/python3/dist-packages/chirp/wxui/config.py", line 160, in remove_option
-     self._config.remove_option(section, key)
-   File "/usr/lib/python3/dist-packages/chirp/wxui/config.py", line 64, in remove_option
-     self.__config.remove_option(section, key)
-   File "/usr/lib/python3.12/configparser.py", line 924, in remove_option
-     raise NoSectionError(section) from None
+   File "/usr/bin/chirpw", line 33, in <module>
+     sys.exit(load_entry_point('chirp==20240224', 'console_scripts', 'chirpw')())
+              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   File "/usr/lib/python3/dist-packages/chirp/wxui/__init__.py", line 178, in chirpmain
+     mainwindow = main.ChirpMain(None, title='CHIRP')
+                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   File "/usr/lib/python3/dist-packages/chirp/wxui/main.py", line 415, in __init__
+     self.SetMenuBar(self.make_menubar())
+                     ^^^^^^^^^^^^^^^^^^^
+   File "/usr/lib/python3/dist-packages/chirp/wxui/main.py", line 656, in make_menubar
+     self.adj_menu_open_recent(None)
+   File "/usr/lib/python3/dist-packages/chirp/wxui/main.py", line 1025, in adj_menu_open_recent
+     CONF.remove_option('recent%i' % i, 'state')
+   File "/usr/lib/python3/dist-packages/chirp/wxui/config.py", line 160, in remove_option
+     self._config.remove_option(section, key)
+   File "/usr/lib/python3/dist-packages/chirp/wxui/config.py", line 64, in remove_option
+     self.__config.remove_option(section, key)
+   File "/usr/lib/python3.12/configparser.py", line 924, in remove_option
+     raise NoSectionError(section) from None
  configparser.NoSectionError: No section: 'state'
  
  This is fixed in the latest version from Oracular (1:20240413-1). In
  Noble, it is possible to fix it by applying the following simple patch:
  
  https://github.com/kk7ds/chirp/commit/0885555196b94ffad44acc7ca9b37a1ba67b815e
  
  (Line 1025 instead of 1041 in chirp 20240224-1.)

** Description changed:

  [ Impact ]
  CHIRP contains a regression that causes it to crash on launch when no existing config file is found (e.g. clear installation).
  
  The regression is an oversight in the refactoring of the recent file
  handling. It results in the CHIRP application being completely unusable,
  crashing every time immediately after startup and there is no easy
  workaround available.
  
  [ Test Plan ]
- This fix has already been tested and is implemented in newer stable CHIRP release that is already present in Ubuntu Oracular. However, it was not fixed before FeatureFreeze, and was not available in Debian until post-Noble release.
+ This fix has already been tested and is implemented in newer CHIRP release that is already present in Ubuntu Oracular. However, it was not fixed before FeatureFreeze, and was not available in Debian until post-Noble release.
  
  The fix has already been tested manually by others, but as soon as a
  version with the patch present is available, a user should install the
  updated chirp package and the program should launch without any crashes.
  
  [ Regression Potential ]
  None. The fix simply adds one line of code with an if conditional to remove the "state" section only if it exists, thus fixing the "No section: 'state'" error.
  
  [ Where problems could occur ]
  The only change is in the one line of code that handles "cleaning of higher-order entries if they exist" and was previously attempting to remove them even if they did not exist, resulting in a fatal error.
  
  [ Other Info ]
  It has been fixed as a part of the new CHIRP version from the Debian package 20240413-1 which has been synced to Oracular.
  
  Here is the upstream commit that needs to be added as a patch to the
  Noble SRU:
  https://github.com/kk7ds/chirp/commit/0885555196b94ffad44acc7ca9b37a1ba67b815e
  
  [ Original Bug Description ]
  Chirp (1:20240224-1) on Ubuntu 24.04 LTS crashes on startup with:
  
  Traceback (most recent call last):
    File "/usr/bin/chirpw", line 33, in <module>
      sys.exit(load_entry_point('chirp==20240224', 'console_scripts', 'chirpw')())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/chirp/wxui/__init__.py", line 178, in chirpmain
      mainwindow = main.ChirpMain(None, title='CHIRP')
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/chirp/wxui/main.py", line 415, in __init__
      self.SetMenuBar(self.make_menubar())
                      ^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/chirp/wxui/main.py", line 656, in make_menubar
      self.adj_menu_open_recent(None)
    File "/usr/lib/python3/dist-packages/chirp/wxui/main.py", line 1025, in adj_menu_open_recent
      CONF.remove_option('recent%i' % i, 'state')
    File "/usr/lib/python3/dist-packages/chirp/wxui/config.py", line 160, in remove_option
      self._config.remove_option(section, key)
    File "/usr/lib/python3/dist-packages/chirp/wxui/config.py", line 64, in remove_option
      self.__config.remove_option(section, key)
    File "/usr/lib/python3.12/configparser.py", line 924, in remove_option
      raise NoSectionError(section) from None
  configparser.NoSectionError: No section: 'state'
  
  This is fixed in the latest version from Oracular (1:20240413-1). In
  Noble, it is possible to fix it by applying the following simple patch:
  
  https://github.com/kk7ds/chirp/commit/0885555196b94ffad44acc7ca9b37a1ba67b815e
  
  (Line 1025 instead of 1041 in chirp 20240224-1.)

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

Title:
  [SRU - Noble] Backport crash fix

Status in chirp package in Ubuntu:
  New

Bug description:
  [ Impact ]
  CHIRP contains a regression that causes it to crash on launch when no existing config file is found (e.g. clear installation).

  The regression is an oversight in the refactoring of the recent file
  handling. It results in the CHIRP application being completely
  unusable, crashing every time immediately after startup and there is
  no easy workaround available.

  [ Test Plan ]
  This fix has already been tested and is implemented in newer CHIRP release that is already present in Ubuntu Oracular. However, it was not fixed before FeatureFreeze, and was not available in Debian until post-Noble release.

  The fix has already been tested manually by others, but as soon as a
  version with the patch present is available, a user should install the
  updated chirp package and the program should launch without any
  crashes.

  [ Regression Potential ]
  None. The fix simply adds one line of code with an if conditional to remove the "state" section only if it exists, thus fixing the "No section: 'state'" error.

  [ Where problems could occur ]
  The only change is in the one line of code that handles "cleaning of higher-order entries if they exist" and was previously attempting to remove them even if they did not exist, resulting in a fatal error.

  [ Other Info ]
  It has been fixed as a part of the new CHIRP version from the Debian package 20240413-1 which has been synced to Oracular.

  Here is the upstream commit that needs to be added as a patch to the
  Noble SRU:
  https://github.com/kk7ds/chirp/commit/0885555196b94ffad44acc7ca9b37a1ba67b815e

  [ Original Bug Description ]
  Chirp (1:20240224-1) on Ubuntu 24.04 LTS crashes on startup with:

  Traceback (most recent call last):
    File "/usr/bin/chirpw", line 33, in <module>
      sys.exit(load_entry_point('chirp==20240224', 'console_scripts', 'chirpw')())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/chirp/wxui/__init__.py", line 178, in chirpmain
      mainwindow = main.ChirpMain(None, title='CHIRP')
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/chirp/wxui/main.py", line 415, in __init__
      self.SetMenuBar(self.make_menubar())
                      ^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/chirp/wxui/main.py", line 656, in make_menubar
      self.adj_menu_open_recent(None)
    File "/usr/lib/python3/dist-packages/chirp/wxui/main.py", line 1025, in adj_menu_open_recent
      CONF.remove_option('recent%i' % i, 'state')
    File "/usr/lib/python3/dist-packages/chirp/wxui/config.py", line 160, in remove_option
      self._config.remove_option(section, key)
    File "/usr/lib/python3/dist-packages/chirp/wxui/config.py", line 64, in remove_option
      self.__config.remove_option(section, key)
    File "/usr/lib/python3.12/configparser.py", line 924, in remove_option
      raise NoSectionError(section) from None
  configparser.NoSectionError: No section: 'state'

  This is fixed in the latest version from Oracular (1:20240413-1). In
  Noble, it is possible to fix it by applying the following simple
  patch:

  https://github.com/kk7ds/chirp/commit/0885555196b94ffad44acc7ca9b37a1ba67b815e

  (Line 1025 instead of 1041 in chirp 20240224-1.)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/chirp/+bug/2071563/+subscriptions