Package: mono-libraries
Version: 6.14.1+ds-4
Severity: important

Dear Maintainer,

After updating my system, mono-libraries was installed replacing multiple
packages, including libmono-system-drawing4.0-cil.
I also have keepass2 package installed.

Since this update, keepass2 fails to start due to missing library
libgdiplus.so.0:
-----------
Unhandled Exception:
System.TypeInitializationException: The type initializer for
'System.Drawing.GDIPlus' threw an exception. ---> System.DllNotFoundException:
libgdiplus.so.0 assembly:<unknown assembly> type:<unknown type> member:(null)
  at (wrapper managed-to-native)
System.Drawing.GDIPlus.GdiplusStartup(ulong&,System.Drawing.GdiplusStartupInput&,System.Drawing.GdiplusStartupOutput&)
  at System.Drawing.GDIPlus..cctor () [0x000d4] in
<68cf6c4aa2eb4a0797e1dbe2e447f41a>:0
   --- End of inner exception stack trace ---
  at (wrapper managed-to-native)
System.Object.__icall_wrapper_mono_generic_class_init(intptr)
  at System.Drawing.Image.Dispose (System.Boolean disposing) [0x00000] in
<68cf6c4aa2eb4a0797e1dbe2e447f41a>:0
  at System.Drawing.Image.Finalize () [0x00000] in
<68cf6c4aa2eb4a0797e1dbe2e447f41a>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type
initializer for 'System.Drawing.GDIPlus' threw an exception. --->
System.DllNotFoundException: libgdiplus.so.0 assembly:<unknown assembly>
type:<unknown type> member:(null)
  at (wrapper managed-to-native)
System.Drawing.GDIPlus.GdiplusStartup(ulong&,System.Drawing.GdiplusStartupInput&,System.Drawing.GdiplusStartupOutput&)
  at System.Drawing.GDIPlus..cctor () [0x000d4] in
<68cf6c4aa2eb4a0797e1dbe2e447f41a>:0
   --- End of inner exception stack trace ---
  at (wrapper managed-to-native)
System.Object.__icall_wrapper_mono_generic_class_init(intptr)
  at System.Drawing.Image.Dispose (System.Boolean disposing) [0x00000] in
<68cf6c4aa2eb4a0797e1dbe2e447f41a>:0
  at System.Drawing.Image.Finalize () [0x00000] in
<68cf6c4aa2eb4a0797e1dbe2e447f41a>:0
-------------

This can be fixed by manually installing "libgdiplus" package.
Previously, this package was brought by this dependency chain:
- keepass2 depends on libmono-system-drawing4.0-cil
- libmono-system-drawing4.0-cil depends on libgdiplus

But mono-libraries which provides "libmono-system-drawing4.0-cil" doesn't
depend on "libgdiplus" so it was removed from the system as no longer necessary
as it was automatically installed.

So I think that either mono-libraries or keepass2 (and other packages using
System.Drawing I guess) needs a dependency on libgdiplus.



To reproduce:
- Install keepass2
- Ensure libgdiplus package is not installed by a dependency of something
unrelated to keepass2
- Start "keepass2" from a X11/Wayland terminal
- The expected outcome is: Keepass2 should show a window or a dialog box and
not a libgdiplus.so missing exception.


-- System Information:
Debian Release: forky/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'testing-debug'), (500, 
'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, armhf

Kernel: Linux 6.12.38+deb13-amd64 (SMP w/12 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), 
LANGUAGE=fr:en_US
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

-- no debconf information

Reply via email to