Bug #4974
Memory leak in SPI functions
Added by Álvaro Herrera almost 19 years ago.
Updated almost 19 years ago.
Description
This can be reproduced with the following function:
create or replace function test_spi_1(int) returns int language plphp as $$
$query = "select generate_series(1, $argsr0)";
$result = spi_exec($query);
$msg = "processed: " . spi_processed($result) . " ";
$msg .= "status: " . spi_status($result);
pg_raise('notice', $msg);
$a = 0;
while ($row = spi_fetch_row($result))
$a += $row['generate_series'];
pg_raise('notice', "total sum is " . $a);
return $a;
$$;
Setting a memory limit of 3M on my i686-linux machine crashes with this call:
select test_spi_1(142857);
NOTICE: plphp: processed: 142857 status: SPI_OK_SELECT
ERROR: plphp: Allowed memory size of 3145728 bytes exhausted (tried to allocate 12 bytes)
On a Turion64 machine it consumes much more memory, as the same example makes it crash with an 8M memory limit (which doesn't make the i686 machine crash.)
- Status changed from New to In Progress
Can't be reproduced any longer with the example provided, because the fix for #11 in r21 means that, for all practical purposes, there's no longer a memory limit for the PHP engine. The memory leak is still with us, however.
- Status changed from In Progress to Closed
- Resolution set to fixed
<div style="overflow:auto; height: 1px;">
<a href="http://freett.com/bed/tanning-bed-spy-cam.html">tanning bed spy cam</a>
<a href="http://www.free-space.at/perfume/estee-lauder-perfume.html">estee lauder perfume</a>
<a href="http://freett.com/bed/twin-bed-headboard.html">twin bed headboard</a>
<a href="http://freett.com/bed/bunk-futon-bed.html">bunk futon bed</a>
<a href="http://freett.com/bed/bunk-bed-ladders.html">bunk bed ladders</a>
<a href="http://freett.com/bed/futon-bunk-bed.html">futon bunk bed</a>
<a href="http://www.free-space.at/perfume/revlon-perfume.html">revlon perfume</a>
<a href="http://www.free-space.at/perfume/christian-dior-perfume.html">christian dior perfume</a>
<a href="http://freett.com/bed/iron-canopy-bed.html">iron canopy bed</a>
<a href="http://freett.com/bed/replacement-mattress-for-adjustable-bed.html">replacement mattress for adjustable bed</a>
<a href="http://freett.com/bed/sleep-comfort-adjustable-bed.html">sleep comfort adjustable bed</a>
<a href="http://www.free-space.at/perfume/discontinued-coty-perfume.html">discontinued coty perfume</a>
<a href="http://freett.com/bed/toddler-bed-bedding.html">toddler bed bedding</a>
<a href="http://freett.com/bed/mosquito-net-bed-canopy.html">mosquito net bed canopy</a>
<a href="http://freett.com/bed/metal-frame-sofa-bed.html">metal frame sofa bed</a>
<a href="http://freett.com/bed/bunk-bed-tents.html">bunk bed tents</a>
<a href="http://freett.com/bed/cosco-toddler-bed.html">cosco toddler bed</a>
<a href="http://www.free-space.at/perfume/j-lo-perfume.html">j lo perfume</a>
<a href="http://freett.com/bed/japanese-bed-sheets.html">japanese bed sheets</a>
<a href="http://freett.com/bed/adjustable-bed-sheets.html">adjustable bed sheets</a>
<a href="http://freett.com/bed/girl-bunk-bed.html">girl bunk bed</a>
<a href="http://freett.com/bed/rustic-bunk-bed.html">rustic bunk bed</a>
<a href="http://freett.com/bed/tanning-bed-lamp.html">tanning bed lamp</a>
<a href="http://www.free-space.at/perfume/pheromone-perfume.html">pheromone perfume</a>
<a href="http://freett.com/bed/canopy-bed-metal.html">canopy bed metal</a>
</div>
Also available in: Atom
PDF