[Bug 2066026] Re: [SRU] Klayout 0.28.15 segmentation fault on startup

Erich Eickmeyer 2066026 at bugs.launchpad.net
Thu Jun 6 22:34:18 UTC 2024


** Description changed:

+ [Impact]
+ 
+ Klayout 0.28.15 is completely incompatible with Python 3.12, and
+ segfaults on startup. Included patches attempted to increase the
+ supported version number, but the code itself was incompatible and it
+ simply would not run.
+ 
+ Attempts to include a simple patch from upstream proved unsuccessful and
+ resulted in a complete FTBFS. This was due to the shifting of code in
+ other places prior to the commits of the patch, meaning the patch was
+ irrelevant without other pieces of code changed. Hence, the first
+ version of klayout that supported Python 3.12 was 0.28.16, released on
+ 12 February 2024. Unfortunately, it was not uploaded to Debian prior to
+ Feature Freeze/Debian Import Freeze, so it did not make it in-time.
+ 
+ As reported by the reporter of this bug, no testing on the runtime was
+ done prior to release. So, while the build was successful, runs are
+ reproducibly unsuccessful. This package is, therefore, completely
+ useless in the archive as it stands unless it is updated to version
+ 0.28.16.
+ 
+ [Test Case]
+ 
+ * Install klayout
+ * Attempt to run klayout
+ 
+ Expected: Application runs
+ Actual: Segmentation fault
+ 
+ [What could go wrong]
+ 
+ Looking into this application, it seems to be a Suggests of electronics-
+ asic-dev which is a metapackage for asic development, which installs
+ applications much like itself, i.e. for electronics engineers and others
+ who build electronic circuits. It doesn't appear to enhance any other
+ packages, meaning it has no *actual* reverse dependencies, nor does it
+ provide any libraries.
+ 
+ It's hard to regress an application that simply does not function, and
+ considering it has no actual reverse dependencies, I'm having trouble
+ fathoming anything going wrong here other than 0.28.16 also failing to
+ run with further updates. :)
+ 
+ [Other Information]
+ 
+ While this is a point release and does concentrate on bug fixes, it does
+ include some "enhancements" as they're called on the changelog[1] that
+ may or may not be considered "features":
+ 
+ * Enhancement: DRC enhancements related to touching edges
+  - New DRC function switches: "without_touching_corners", "without_touching_edges" to skip width and space errors at kissing corners and touching-edge configurations
+  - Kissing corners are now detected also in non-collinear edge configuration
+ * Enhancement: OASIS reader errors out on broken OASIS with duplicate CELLNAMEs
+ 
+ While including features would normally require a Feature Freeze
+ exception or a backport, I would argue against it in this case as the
+ version in the development release of Ubuntu at this time is 0.29.1
+ which is magnitudes newer and definitely, per the changelog[2] contains
+ many new features.
+ 
+ Other options, such as simply patching for Python 3.12, have been
+ exhausted. No-change rebuilds also proved to be ineffective. Moving up
+ one point release as opposed to moving to the latest release seemed to
+ be the best compromise. Apologies for the diff being so large but,
+ unfortunately, carrying patches to make  0.28.15 Python 3.12 compatible
+ would have been more time-consuming and created a diff nearly as large.
+ 
+ [1]https://www.klayout.de/development.html#0.28.16
+ [2]https://www.klayout.de/development.html#0.29.1
+ ---
+ Original bug report follows:
+ 
  On Ubuntu 24.04, Klayout 0.28.15-1build5 crashes on startup.
  
  This is due to a bug described in the upstream issue
  https://github.com/KLayout/klayout/issues/1619, which shows up on
  systems using Python 3.12.
  
  This bug was fixed in Klayout versions >=0.28.16.

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

Title:
  [SRU] Klayout 0.28.15 segmentation fault on startup

Status in klayout package in Ubuntu:
  Fix Released
Status in klayout source package in Noble:
  In Progress
Status in klayout source package in Oracular:
  Fix Released

Bug description:
  [Impact]

  Klayout 0.28.15 is completely incompatible with Python 3.12, and
  segfaults on startup. Included patches attempted to increase the
  supported version number, but the code itself was incompatible and it
  simply would not run.

  Attempts to include a simple patch from upstream proved unsuccessful
  and resulted in a complete FTBFS. This was due to the shifting of code
  in other places prior to the commits of the patch, meaning the patch
  was irrelevant without other pieces of code changed. Hence, the first
  version of klayout that supported Python 3.12 was 0.28.16, released on
  12 February 2024. Unfortunately, it was not uploaded to Debian prior
  to Feature Freeze/Debian Import Freeze, so it did not make it in-time.

  As reported by the reporter of this bug, no testing on the runtime was
  done prior to release. So, while the build was successful, runs are
  reproducibly unsuccessful. This package is, therefore, completely
  useless in the archive as it stands unless it is updated to version
  0.28.16.

  [Test Case]

  * Install klayout
  * Attempt to run klayout

  Expected: Application runs
  Actual: Segmentation fault

  [What could go wrong]

  Looking into this application, it seems to be a Suggests of
  electronics-asic-dev which is a metapackage for asic development,
  which installs applications much like itself, i.e. for electronics
  engineers and others who build electronic circuits. It doesn't appear
  to enhance any other packages, meaning it has no *actual* reverse
  dependencies, nor does it provide any libraries.

  It's hard to regress an application that simply does not function, and
  considering it has no actual reverse dependencies, I'm having trouble
  fathoming anything going wrong here other than 0.28.16 also failing to
  run with further updates. :)

  [Other Information]

  While this is a point release and does concentrate on bug fixes, it
  does include some "enhancements" as they're called on the changelog[1]
  that may or may not be considered "features":

  * Enhancement: DRC enhancements related to touching edges
   - New DRC function switches: "without_touching_corners", "without_touching_edges" to skip width and space errors at kissing corners and touching-edge configurations
   - Kissing corners are now detected also in non-collinear edge configuration
  * Enhancement: OASIS reader errors out on broken OASIS with duplicate CELLNAMEs

  While including features would normally require a Feature Freeze
  exception or a backport, I would argue against it in this case as the
  version in the development release of Ubuntu at this time is 0.29.1
  which is magnitudes newer and definitely, per the changelog[2]
  contains many new features.

  Other options, such as simply patching for Python 3.12, have been
  exhausted. No-change rebuilds also proved to be ineffective. Moving up
  one point release as opposed to moving to the latest release seemed to
  be the best compromise. Apologies for the diff being so large but,
  unfortunately, carrying patches to make  0.28.15 Python 3.12
  compatible would have been more time-consuming and created a diff
  nearly as large.

  [1]https://www.klayout.de/development.html#0.28.16
  [2]https://www.klayout.de/development.html#0.29.1
  ---
  Original bug report follows:

  On Ubuntu 24.04, Klayout 0.28.15-1build5 crashes on startup.

  This is due to a bug described in the upstream issue
  https://github.com/KLayout/klayout/issues/1619, which shows up on
  systems using Python 3.12.

  This bug was fixed in Klayout versions >=0.28.16.

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




More information about the Ubuntu-sponsors mailing list