The problem was that the pages would be disposed multiple times (which can happen, [1]), in this order:
- ubuntupro page - offer page - offer page - ubuntupro page
With offer_page finalized, the second call to the ubuntupro page would access invalid data and segfault.
Many thanks to Sergio Costas for the help suggesting the implementation of the separate dispose for the offer_page understanding the issue.
[1]: https://libsoup.org/gobject/gobject-memory.html
The problem was that the pages would be disposed multiple times (which can happen, [1]), in this order:
- ubuntupro page
- offer page
- offer page
- ubuntupro page
With offer_page finalized, the second call to the ubuntupro page would access invalid data and segfault.
Many thanks to Sergio Costas for the help suggesting the implementation of the separate dispose for the offer_page understanding the issue.
[1]: https:/ /libsoup. org/gobject/ gobject- memory. html