← Back to team overview

debcrafters-packages team mailing list archive

[Bug 2097496] Re: libglib: Crash due to infinite recursion in MIME subclassing

 

Hello Jonah, or anyone else affected,

Accepted glib2.0 into jammy-proposed. The package will build now and be
available at
https://launchpad.net/ubuntu/+source/glib2.0/2.72.4-0ubuntu2.6 in a few
hours, and then in the -proposed repository.

Please help us by testing this new package.  See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how
to enable and use -proposed.  Your feedback will aid us getting this
update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug,
mentioning the version of the package you tested, what testing has been
performed on the package and change the tag from verification-needed-
jammy to verification-done-jammy. If it does not fix the bug for you,
please add a comment stating that, and change the tag to verification-
failed-jammy. In either case, without details of your testing we will
not be able to proceed.

Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification .  Thank you in
advance for helping!

N.B. The updated package will be released to -updates after the bug(s)
fixed by this package have been verified and the package has been in
-proposed for a minimum of 7 days.

** Changed in: glib2.0 (Ubuntu Jammy)
       Status: In Progress => Fix Committed

** Tags added: verification-needed verification-needed-jammy

-- 
You received this bug notification because you are a member of
Debcrafters packages, which is subscribed to glib2.0 in Ubuntu.
https://bugs.launchpad.net/bugs/2097496

Title:
  libglib: Crash due to infinite recursion in MIME subclassing

Status in GLib:
  Fix Released
Status in glib2.0 package in Ubuntu:
  Fix Released
Status in glib2.0 source package in Jammy:
  Fix Committed
Status in glib2.0 source package in Noble:
  Fix Released
Status in glib2.0 source package in Oracular:
  Fix Released
Status in glib2.0 source package in Plucky:
  Fix Released

Bug description:
  [ Impact ]

  There's an infinite recursion in MIME resolution bug which affects
  processes using gio to resolve certain MIME types.  In my case,
  tracker-miner-fs-3 has been crashing in a loop for weeks due to this
  issue.

  This affects any program that attempts to resolve a "recursive" MIME
  type using glib.

  I reported the issue to the GLib maintainers here:
  https://gitlab.gnome.org/GNOME/glib/-/issues/3601

  The fix is given here: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3714
  The backport to 2.78 is here: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3718

  [ Test Plan ]

  1. Install the mime file from the attachment with:
     $ mkdir -p ~/.local/share/mime/packages
     $ wget https://launchpadlibrarian.net/790257958/js-test.xml -O ~/.local/share/mime/packages/js-test.xml
     $ update-mime-database ~/.local/share/mime
  2. Create a javascript file:
     $ echo "{}" > ~/foo.js
  3. Try to open the file:
     $ xdg-open ~/foo.js
  4. Verify that the file was opened in your default text editor for JavaScript
  5. Verify that the program did not crash

  6. Open the "Files" app
  7. Navigate to the Home directory
  8. Right-click "foo.js"
  9. Verify that Nautilus did not crash
  10. Click "Open With Other Application"
  11. Verify that the dialog says "Opening JavaScript program" files

  To cleanup the created files, you may run these commands:
     $ rm ~/.local/share/mime/packages/js-test.xml
     $ update-mime-database ~/.local/share/mime
     $ rm ~/foo.js

  [ Where problems could occur ]

  The patch will not affect the behaviour of the MIME type resolver except detecting and avoiding infinite subclassing for buggy recursive types.
  The same patch is in place in all newer Ubuntu versions without known side-effects.
  Problems could manifest with file-associations not being honoured in case the MIME type resolver is broken (which is verified in the test plan), or with crashes similar to the ones here reported in the patch is inconclusive.

To manage notifications about this bug go to:
https://bugs.launchpad.net/glib/+bug/2097496/+subscriptions