After investigating more (see below for details), I confirm that noble is _not_ currently affected. Only the development version of Subiquity (i.e., oracular) is.
When Subiquity creates a crash report, we expect apport to execute hooks from /snap/subiquity/current/usr/share/apport/general-hooks ; not /usr/share/apport/general-hooks/
Apport reads the APPORT_DATA_DIR variable to determine where to find the hooks and Subiquity sets it. However, the variable is read as soon as `import apport` is run ; whereas Subiquity sets the variable in the `setup_environment()` function.
On oracular, because of some refactoring (possibly to add some type hints), the `apport` module gets loaded _before_ the `setup_environment()` function gets called. Therefore, Apport sets the hooks directory as /usr/share/apport/general-hooks.
Here's a chunk that shows the difference between Oracular and Noble (run it with `make dryrun-server`).
After investigating more (see below for details), I confirm that noble is _not_ currently affected. Only the development version of Subiquity (i.e., oracular) is.
When Subiquity creates a crash report, we expect apport to execute hooks from /snap/subiquity /current/ usr/share/ apport/ general- hooks ; not /usr/share/ apport/ general- hooks/
Apport reads the APPORT_DATA_DIR variable to determine where to find the hooks and Subiquity sets it. However, the variable is read as soon as `import apport` is run ; whereas Subiquity sets the variable in the `setup_ environment( )` function.
On oracular, because of some refactoring (possibly to add some type hints), the `apport` module gets loaded _before_ the `setup_ environment( )` function gets called. Therefore, Apport sets the hooks directory as /usr/share/ apport/ general- hooks.
Here's a chunk that shows the difference between Oracular and Noble (run it with `make dryrun-server`).
https:/ /paste. ubuntu. com/p/BWFqNwnRV r/