[SRU] Klayout 0.28.15 segmentation fault on startup
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
klayout (Ubuntu) | Status tracked in Oracular | |||||
Noble |
Fix Released
|
Medium
|
Erich Eickmeyer | |||
Oracular |
Fix Released
|
Undecided
|
Unassigned |
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-
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_
- 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:/
[2]https:/
---
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:/
This bug was fixed in Klayout versions >=0.28.16.
Changed in klayout (Ubuntu Noble): | |
status: | New → Triaged |
importance: | Undecided → Medium |
Changed in klayout (Ubuntu Noble): | |
status: | Triaged → In Progress |
summary: |
- Klayout 0.28.15 segmentation fault on startup + [SRU] Klayout 0.28.15 segmentation fault on startup |
description: | updated |
I just built the next version (debian/0.29.1-1) released by the package maintainers at https:/ /salsa. debian. org/electronics -team/klayout on Ubuntu 24.04. This version works without issues.
Can we just sync up to debian/0.29.1-1?