php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #41404 ODBC makes memory leaks
Submitted: 2007-05-15 21:34 UTC Modified: 2020-10-11 04:22 UTC
Votes:10
Avg. Score:4.5 ± 0.8
Reproduced:9 of 10 (90.0%)
Same Version:4 (44.4%)
Same OS:4 (44.4%)
From: geniuz at geniuz dot cz Assigned: cmb (profile)
Status: No Feedback Package: ODBC related
PHP Version: 5.2.2 OS: XP
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2007-05-15 21:34 UTC] geniuz at geniuz dot cz
Description:
------------
When I select over ODBC from table with any column data type defined as TEXT (detected over odbc_columns function), and I fetch rows, I receive one of following messages or php freeze. I selected more than 100000 rows.
When I replaced selected TEXT data type column for any other column ie. STRING data type column (and with more saved datas), all is ok without errors.
Well, problem must be with TEXT datatype (LONG columns).

Warning: odbc_exec() [function.odbc-exec]: SQL error: Failed to fetch error message, SQL state HY000 in SQLExecDirect in M:\4D\.WebRoot\ctp\eshop\index.php on line 65

Warning: odbc_exec() [function.odbc-exec]: SQL error: [Simba][Simba ODBC Driver]Memory allocation error., SQL state S1001 in SQLExecDirect in M:\4D\.WebRoot\ctp\eshop\index.php on line 65


Reproduce code:
---------------
$sql = "SELECT Col1, Col2, Col3 FROM MYTABLE";
$rs=odbc_exec($conn,$sql);
while( odbc_fetch_row($rs) )
{
	$data1 = odbc_result($rs,'Col1');
	$data2 = odbc_result($rs,'Col2');
	$data3 = odbc_result($rs,'Col3');
}


Expected result:
----------------
no sql error

Actual result:
--------------
sql error

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2008-09-27 05:55 UTC] bmeekhof at umich dot edu
I am able to reproduce this bug using PHP 5.2.6 and Microsoft-IIS/6.0 running on Windows NT (phpinfo says only windows NT, whether it might really be W200X Server I couldn't say).  I am using ADODB with the odbc_oracle driver.   

In my case it is triggered by querying for any CLOB column from an Oracle database.  I get no results and the driver says it cannot retrieve the error message and also gives an error HY000 (same as reported in bug).   The same query is fine if I do not include the only CLOB field in this particular table.  Querying for that field by itself or in combination with the others will produce the error.  I have not seen the memory error also reported in the bug.
 [2020-10-01 12:22 UTC] cmb@php.net
-Status: Open +Status: Feedback -Assigned To: +Assigned To: cmb
 [2020-10-01 12:22 UTC] cmb@php.net
> SQL error: Failed to fetch error message, SQL state HY000

This is likely due to bug #80150 which has recently been fixed. So
please try with a recent Git snapshot of PHP-7.3 or PHP-7.4, or
with PHP 7.3.24 or 7.4.12 (which are scheduled to be released end
of October).
 [2020-10-11 04:22 UTC] php-bugs at lists dot php dot net
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Re-Opened". Thank you.
 
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Sun Jun 13 22:01:24 2021 UTC