mahara-contributors team mailing list archive
-
mahara-contributors team
-
Mailing list archive
-
Message #12132
[Bug 1132370] Re: Remove create_function() from dml.php to save memory
Fix was released as part of 1.7.0. It could make sense to backport it to
1.5 and 1.6, though.
** Changed in: mahara
Milestone: 1.8.0rc1 => None
** Changed in: mahara
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contrib members
https://bugs.launchpad.net/bugs/1132370
Title:
Remove create_function() from dml.php to save memory
Status in Mahara ePortfolio:
Fix Released
Bug description:
While trying to optimize memory usage in the mahara.org cron jobs
(which keep crashing due to running out of memory), I noticed from the
error stacks that it kept crashing on the call to create_function() in
db_quote_table_placeholders() in dml.php
The reason for this, is because functions created by create_function()
are never garbage collected. They persist for the lifetime of the
script's execution. Which means that if you put it inside a loop that
gets called thousands of times, it keeps using up more and more memory
with new copies of the function, until the script crashes from running
out of RAM.
There are about a dozen other usages of create_function() in Mahara's
codebase, but this is the only one that's likely to be used in a large
loop.
To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1132370/+subscriptions
References