Znuny running into Internal Server Error after Debian upgrade

Written by - 0 comments

Published on - Listed in Apache Perl OTRS Znuny


After the Operating System of a dedicated vServer for Znuny LTS (OTRS fork) was upgraded, Znuny ran into Internal Server Errors, also known as HTTP 500 errors.

Znuny shows Internal Server Error after OS upgrade

Perl errors after OS upgrade

The error showed up after a "double" OS-upgrade from Debian 11 (Bullseye) via 12 (Bookworm) to 13 (Trixie). This also meant that Perl was upgraded from the initial 5.32 to 5.40. Znuny (and its predecessor OTRS CE) heavily rely on Perl as the whole application is written in Perl.

After hitting the Internal Server Error in the browser, the Apache2 error logs were checked. And indeed, some interesting log entries showed up:

root@znuny:/var/log/apache2# tail -f error.log
[...]
ERROR: OTRS-CGI-10 Perl: 5.40.1 OS: linux Time: Wed Apr 1 13:22:13 2026

Message: Can't locate Data/UUID.pm in @INC (you may need to install the Data::UUID module) (@INC entries checked: /usr/Custom /usr/Kernel/cpan-lib /usr /usr/sbin/../../Custom /usr/sbin/../../Kernel/cpan-lib /usr/sbin/../.. /opt/otrs/Custom /opt/otrs/Kernel/cpan-lib /opt/otrs/ /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.40.1 /usr/local/share/perl/5.40.1 /usr/lib/x86_64-linux-gnu/perl5/5.40 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.40 /usr/share/perl/5.40 /usr/local/lib/site_perl /etc/apache2) at /opt/otrs/Kernel/System/DynamicField/Driver/WebserviceDropdown.pm line 13.
BEGIN failed--compilation aborted at /opt/otrs/Kernel/System/DynamicField/Driver/WebserviceDropdown.pm line 13.
Compilation failed in require at /opt/otrs/Kernel/System/Main.pm line 86.


 RemoteAddress: 192.168.15.150
 RequestURI: /otrs/index.pl?Action=AgentDashboard

 Traceback (2738): 
   Module: Kernel::System::DynamicField::Backend::new Line: 85
   Module: Kernel::System::ObjectManager::_ObjectBuild Line: 307
   Module: Kernel::System::ObjectManager::Get Line: 201
   Module: Kernel::Output::HTML::Dashboard::TicketGeneric::_SearchParamsGet Line: 2413
   Module: Kernel::Output::HTML::Dashboard::TicketGeneric::Run Line: 591
   Module: Kernel::Modules::AgentDashboardCommon::_Element Line: 1002
   Module: Kernel::Modules::AgentDashboardCommon::Run Line: 629
   Module: Kernel::System::Web::InterfaceAgent::Run Line: 1144
   Module: ModPerl::ROOT::ModPerl::Registry::opt_otrs_bin_cgi_2dbin_index_2epl::handler Line: 39
   Module: (eval) (v1.99) Line: 207
   Module: ModPerl::RegistryCooker::run (v1.99) Line: 207
   Module: ModPerl::RegistryCooker::default_handler (v1.99) Line: 173
   Module: ModPerl::Registry::handler (v1.99) Line: 32

ERROR: OTRS-CGI-10 Perl: 5.40.1 OS: linux Time: Wed Apr 1 13:22:13 2026

Message: Can't load dynamic field backend module for field type WebserviceDropdown!

 RemoteAddress: 192.168.15.150
 RequestURI: /otrs/index.pl?Action=AgentDashboard

 Traceback (2738): 
   Module: Kernel::System::DynamicField::Backend::new Line: 86
   Module: Kernel::System::ObjectManager::_ObjectBuild Line: 307
   Module: Kernel::System::ObjectManager::Get Line: 201
   Module: Kernel::Output::HTML::Dashboard::TicketGeneric::_SearchParamsGet Line: 2413
   Module: Kernel::Output::HTML::Dashboard::TicketGeneric::Run Line: 591
   Module: Kernel::Modules::AgentDashboardCommon::_Element Line: 1002
   Module: Kernel::Modules::AgentDashboardCommon::Run Line: 629
   Module: Kernel::System::Web::InterfaceAgent::Run Line: 1144
   Module: ModPerl::ROOT::ModPerl::Registry::opt_otrs_bin_cgi_2dbin_index_2epl::handler Line: 39
   Module: (eval) (v1.99) Line: 207
   Module: ModPerl::RegistryCooker::run (v1.99) Line: 207
   Module: ModPerl::RegistryCooker::default_handler (v1.99) Line: 173
   Module: ModPerl::Registry::handler (v1.99) Line: 32
[...]

The missing Perl module

For each request multiple ERROR entries were written to the Apache2 error log. However the relevant one, at least in this situation, was the first entry:

Message: Can't locate Data/UUID.pm in @INC (you may need to install the Data::UUID module)

Znuny needs more than the base Perl modules, that's common knowledge. But Znuny worked correctly before the OS upgrade. Did some Perl modules suddenly disappear?

Znuny has a specific script to check for the installed Perl modules, which can help us in this situation:

otrs@znuny:~$ /opt/otrs/bin/otrs.CheckModules.pl --all
  o Apache::DBI......................ok (v1.12)
  o Apache2::Reload..................ok (v0.13)
  o Archive::Tar.....................ok (v3.02_001)
  o Archive::Zip.....................ok (v1.68)
  o Authen::SASL.....................ok (v2.1700)
  o CPAN::Audit......................Not installed! To install, you can use: 'apt-get install -y libcpan-audit-perl'. (optional - Scan CPAN dependencies in Kernel/cpan-lib and in the system for known vulnerabilities.)
  o Crypt::Eksblowfish::Bcrypt.......ok (v0.009)
  o Crypt::JWT.......................Not installed! To install, you can use: 'apt-get install -y libcrypt-jwt-perl'. (optional - JSON web token support.)
  o Crypt::OpenSSL::X509.............Not installed! To install, you can use: 'apt-get install -y libcrypt-openssl-x509-perl'. (optional - X509 certificate support.)
  o CSS::Minifier::XS................ok (v0.13)
  o Data::UUID.......................Not installed! To install, you can use: 'apt-get install -y libdata-uuid-perl'. (required - Required to generate UUIDs.)
  o Date::Format.....................ok (v2.24)
  o DateTime.........................ok (v1.65)
    o DateTime::TimeZone.............ok (v2.65)
  o DBI..............................ok (v1.647)
  o DBD::mysql.......................ok (v4.053)
  o DBD::ODBC........................Not installed! To install, you can use: 'apt-get install -y libdbd-odbc-perl'. (optional - Required to connect to a MS-SQL database.)
  o DBD::Oracle......................Not installed! (optional - Required to connect to a Oracle database.)
  o DBD::Pg..........................Not installed! To install, you can use: 'apt-get install -y libdbd-pg-perl'. (optional - Required to connect to a PostgreSQL database.)
  o Digest::SHA......................ok (v6.04)
  o Encode::HanExtra.................ok (v0.23)
  o Excel::Writer::XLSX..............ok (v0.95)
  o Hash::Merge......................ok (v0.302)
[...]

Even though there are a couple of modules currently not installed, the relevant ones to look at are the modules that are tagged "required". And from the whole list shown, the only currently not installed but required module is Data::UUID.

So let's get this module back:

root@znuny:~# apt-get install libdata-uuid-perl

After the installation the CheckModules script now showed all required packages installed.

Let's "restart" Znuny, which is done by an Apache2 restart:

root@znuny:~# systemctl restart apache2

And the error is gone. Znuny is working again! 

Znuny working again

Hosted Znuny Services

If all of the steps above sound too complicated, you don't have to do this yourself. With Infiniroot's Hosted Znuny, you get a dedicated virtual server with dedicated resources for full performance and security. We take care of OS and Znuny upgrades, while you can simply enjoy the application without the system dependencies behind it. 


More recent articles:

RSS feed

Blog Tags:

  AWS   Android   Ansible   Apache   Apple   Atlassian   BSD   Backup   Bash   Bluecoat   CMS   Chef   Cloud   Coding   Consul   Containers   CouchDB   DB   DNS   Databases   Docker   ELK   Elasticsearch   Filebeat   FreeBSD   Galera   Git   GlusterFS   Grafana   Graphics   HAProxy   HTML   Hacks   Hardware   Icinga   Influx   Internet   Java   KVM   Kibana   Kodi   Kubernetes   LVM   LXC   Linux   Logstash   Mac   Macintosh   Mail   MariaDB   Minio   MongoDB   Monitoring   Multimedia   MySQL   NFS   Nagios   Network   Nginx   OSSEC   OTRS   Observability   Office   OpenSearch   PHP   Perl   Personal   PostgreSQL   PowerDNS   Proxmox   Proxy   Python   Rancher   Rant   Redis   Roundcube   SSL   Samba   Seafile   Security   Shell   SmartOS   Solaris   Surveillance   Systemd   TLS   Tomcat   Ubuntu   Unix   VMware   Varnish   Virtualization   Windows   Wireless   Wordpress   Wyse   ZFS   Znuny   Zoneminder