Can't upload Images in Image management / RDM System Images

Can't upload Images in Image management / RDM System Images

avatar

Hi everyone,

I’m running a Devolutions Server with Docker behind a reverse proxy, which works well overall and was straightforward to set up thanks to the excellent documentation.

When I try to upload custom images via RDM, it works; however, when I try to upload them persistently, this isn’t possible either via RDM or through the Devolutions Server’s web interface, and the error message “The type initializer for 'Windows.Win32.PInvokeGdiPlus' threw an exception.” is displayed.

I also checked the stack's logs using `docker compose logs` in the stack directory—but unfortunately, there weren't any further details there. Unfortunately, I haven't found any other variables or workarounds (such as a bind mount for images to mount the images).

I would really appreciate any suggestions for a solution.

All Comments (1)

avatar

Hello Tim,

Thank you for the detailed report.

The error The type initializer for 'Windows.Win32.PInvokeGdiPlus' threw an exception. comes from a Windows-only image-processing API being reached on Linux, where the underlying library does not exist.

The upload itself succeeds because that step only receives the bytes, but the "persistent" save goes through an image-processing pipeline that hits this Windows-only code path and fails before anything is written to disk.

This also explains why a bind mount for the image folder does not change the outcome, the failure happens before any file operation, so no volume or reverse-proxy setting will work around it.

To file this properly, could you please send us:

  • The exact Devolutions Server version and Docker image tag you are running (for example, devolutions/devolutions-server:release-2026.2.x).
  • The exact Remote Desktop Manager version.
  • The host OS and Docker version.
  • The exact UI path used to trigger the failure (for example, web UI Administration > Entry Image Management, or RDM System Images, or an entry icon change).
  • The full Devolutions Server application log covering the failure. The relevant log is not docker compose logs, it is the DVLS log inside the container under /opt/devolutions/dvls/App_Data/logs/ (or whichever host path is mapped to your app-data volume). The full stack trace including the caller is what we need.


Best regards,

Patrick Ouimet