I would inspect whats going on inside that user loop. It seems like
perhaps in that loop either some objects are growing, or memory is being
lost somehow, OR your database result set when iterating is actually
larger than 500M.
Are you using Zend_Db_Table for this? Are the rows being stored in a
container or rowset or something?
I would try putting memory_get_usage() and set a conditional breakpoint
inside your loop on that, just to see if your memory is growing
consistently per iteration. Ideally, you can keep memory growth inside
this loop to a minimal number by cleaning up at the end of each iteration.
-ralph
Fabio Napoleoni wrote:
Il giorno 06/nov/2009, alle ore 22.59, Kevin McArthur ha scritto:
Ralph, normally you'd be right, but since that allocation is 500 megs
in one-shot. It should be near the code that is the problem. Would
have to see what he's doing but im guessing a massive attachment?
If it was a pecked-to-death-by-ducks thing, you'd see a message saying
"Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to
allocate 16 bytes) in Unknown on line 0" or something similar, with a
low byte count.
Looking at the file at line ~284 it appears thats where the email
finally gets sent, and logged. To debug, check the size of $request at
that point. If its huge, you have your error.
For the records, I run my script with a debugger and I set a conditional
breakpoint in the _send method with strlen($request) > 75 as condition
and the script was never halted...
--
Fabio Napoleoni
[email protected]
"Computer Science is no more about computers than astronomy is
about telescopes"
Edsger W. Dijkstra