php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #25623 Memory leak in function load()
Submitted: 2003-09-21 22:38 UTC Modified: 2003-12-06 07:06 UTC
Votes:2
Avg. Score:5.0 ± 0.0
Reproduced:2 of 2 (100.0%)
Same Version:2 (100.0%)
Same OS:2 (100.0%)
From: maoy at fjii dot com Assigned:
Status: Closed Package: OCI8 related
PHP Version: 4.3.3 OS: Windows XP
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: maoy at fjii dot com
New email:
PHP Version: OS:

 

 [2003-09-21 22:38 UTC] maoy at fjii dot com
Description:
------------
Web Server: Apache 1.3.26
When I get value of a field as Clob type, it always cause memory leak.

Reproduce code:
---------------
<?php

$conn = ocilogon("username","password");
$query = "SELECT clob_fldname FROM tablename";
$stmt = OCIParse ($conn, $query);
OCIExecute($stmt, OCI_DEFAULT);
$result = OCIResult($stmt, "clob_fldname");
if (is_object ($result)) $result = $result->load();

?>


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2003-09-21 22:55 UTC] maoy at fjii dot com
memory leak size relate with value of the field, it also increase along with running times
 [2003-09-22 05:09 UTC] thies@php.net
could you plz replace  
$result = OCIResult($stmt, "clob_fldname"); 
if (is_object ($result)) $result = $result->load(); 
against: 
ocifetchinto($stmt, $arr,OCI_ASSOC); 
$result = $arr["CLOB_FLDNAME"]->load(); 
 
as this is the code i use all the time and it doesn't 
(seem) to leak for me. 
 
 [2003-09-22 06:04 UTC] maoy at fjii dot com
In fact, I tried to use following codes:

ocifetchinto($stmt, $arr,OCI_ASSOC); 
$result = $arr["CLOB_FLDNAME"]->load(); 

but it always cause memory leak on Windows system. It doesn't cause memory leak on Linux system.

By the way, running environment is:
Windows XP
Apache 1.3.26
PHP 4.3.3
Oracle 8.1.7

I am looking forward to reply.
 [2003-09-24 05:41 UTC] thies@php.net
sorry, if the leak does not show on unix there's not much 
i can do as i don't run windows. 
 
can you compile a debug-build and see if php actually 
complains about mem-leaks? 
 
 [2003-10-09 20:08 UTC] maoy at fjii dot com
I'm not able to compile a debug-build, but it's undoubted that the function cause memory leak. Please help me as soon as possible.

I am looking forward to reply. Thank you very much.
 [2003-10-23 23:03 UTC] maoy at fjii dot com
I had a try to run the following code on windows and linux, it cause memory leak on both platform. The size of memory leak depends on the size of CLOB-field's value and record count.
<?php

$conn = ocilogon("username","password","sid");
$query = "SELECT CLOB_FldName FROM tablename";
$stmt = OCIParse ($conn, $query);
OCIExecute($stmt);
while(ocifetchinto($stmt, $arr,OCI_ASSOC)){ 
  $result = $arr["CLOB_FldName"]->load(); 
  ecco $result;
}
?>
 [2003-11-17 21:49 UTC] sniper@php.net
You can find debug enabled win32 builds here:

   http://www.thebrainroom.net/php-snaps

 [2003-11-17 21:50 UTC] sniper@php.net
And do answer Thies' question: Does _PHP_ report any leaks when compiled with --enable-debug (on linux)

 [2003-11-18 03:31 UTC] maoy at fjii dot com
when I replaced ORACLE 8.1.7 against ORACLE 9.2, the situation disappeared.
 [2003-12-06 07:06 UTC] thies@php.net
fixed by upgradeing oracle (see last comment of 
reporter)

 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Sun May 11 12:01:27 2025 UTC