Detect recursive MIME subclassing in update-desktop-database
See https://gitlab.gnome.org/GNOME/glib/-/issues/2833
It’s possible for a mime-info XML file to define two (or more) mime-types which subclass each other in a loop. This is currently happily compiled into the desktop database, but then causes GLib to crash with an infinite recursion due to the loop.
It would be good to catch such loops in update-desktop-database
itself, rather than having to check for them at runtime every time the database is loaded.