Comment 3 for bug 2076233

Revision history for this message
Olivier Gayot (ogayot) wrote :

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