[Tickets #12124] Re: horde crashes with php memory exhaustion
noreply at bugs.horde.org
noreply at bugs.horde.org
Fri Jun 7 19:26:57 UTC 2013
DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.
Ticket URL: http://bugs.horde.org/ticket/12124
------------------------------------------------------------------------------
Ticket | 12124
Updated By | dpa-bugs at aegee.org
Summary | horde crashes with php memory exhaustion
Queue | Horde Framework Packages
Version | Git master
Type | Bug
State | Resolved
Priority | 1. Low
Milestone |
Patch |
Owners |
------------------------------------------------------------------------------
dpa-bugs at aegee.org (2013-06-07 19:26) wrote:
I can confirm, that the issue appeared with the upgrade from Horde
Core 2.4.1 to Horde Core 2.4.3 and still exists in the newest releases.
On my system, Registry.php, function importConfig() calls
$config = Horde::loadConfiguration('conf.php', 'conf', $app);
which in turns calls Horde.php, ::loadConfiguration(). Around line
350 in the file, there is a loop
while (list($file, $log_check) = each($filelist))
This loop is executed around 1550 times, never terminates and leads to
exhausting the memory. At the beginning of the loop I inserted
echo "file = $file, log_check=$log_check, filelist=";
print_r ($filelist);
echo "</br>";
this prints then 1550 times
file = /mnt/new/home/htdocs/webmail/lib/../config/conf.php,
log_check=1, filelist=Array (
[/mnt/new/home/htdocs/webmail/lib/../config/conf.php] => 1 )
The snipped modifying $filelist
if (!empty($conf['vhosts'])) {
$file = $config_dir . 'conf-' .
$conf['server']['name'] . '.php';
if (file_exists($file)) {
$filelist[$file] = 0;
}
}
is never executed (I have no vhosts), so filelist is not changed.
The preceeding condition
if (!$vhost_added && $app == 'horde' && $config_file == 'conf.php')
is matched only on the first iteration of the while loop.
Any ideas why doesn't the loop terminate
I have php 5.3.23 run in php-fpm with xcache.
More information about the bugs
mailing list