[Pkg-nagios-devel] Bug#785005: icinga-web: config XML parsing error and memory leak

Dominik George nik at naturalnet.de
Mon May 11 13:43:30 UTC 2015

Source: icinga-web
Version: 1.12.0-1
Severity: grave
Justification: renders package unusable

The config parser fails when loading the Agavi configuration files:

PHP Fatal error:  Uncaught exception 'AgaviParseException' with message 'Validation of configuration file "/usr/share/icinga-web/app/config/config_handlers.xml" failed:\n\nSchematron validation of configuration file "/usr/share/icinga-web/app/config/config_handlers.xml" failed: Transformation failed: Processing using schema file "/usr/share/icinga-web/lib/agavi/src/config/sch/config_handlers.sch" resulted in an invalid stylesheet' in /usr/share/icinga-web/lib/agavi/src/config/AgaviXmlConfigParser.class.php:726\nStack trace:\n#0 /usr/share/icinga-web/lib/agavi/src/config/AgaviXmlConfigParser.class.php(437): AgaviXmlConfigParser::validate(Object(AgaviXmlConfigDomDocument), 'production', NULL, Array)\n#1 /usr/share/icinga-web/lib/agavi/src/config/AgaviXmlConfigParser.class.php(217): AgaviXmlConfigParser->execute(Array, Array)\n#2 /usr/share/icinga-web/lib/agavi/src/config/AgaviConfigCache.class.php(183): AgaviXmlConfigParser::run('/usr/share/icin...', 'production', NULL, Array, Array)\n
 #3 /usr/share/icinga-web/lib/agavi/src/config/Agavi in /usr/share/icinga-web/lib/agavi/src/config/AgaviXmlConfigParser.class.php on line 726

This seems to be a known issue with Agavi applications, somehow related
to libxml and/or PHP versions: https://github.com/agavi/agavi/wiki/WTF

I tried and verified that the error goes away when setting the following
in /usr/share/icinga-web/app/config.php:

  AgaviConfig::set('core.skip_config_validation', true);

Sadly, this does not only cause an Internal Server Error to be thrown,
but also makes the PHP process eat up all memory and swap, then get
killed by the OOM killer. Please make sure to verify if this is a
relevant bug in PHP.

-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/lksh
Init: systemd (via /run/systemd/system)

More information about the Pkg-nagios-devel mailing list