From: tobias dot barth at web-arts dot com
Operating system: SuSE Linux 10.1
PHP version: 4.4.4
PHP Bug Type: ODBC related
Bug description: Crashes in fetching resultsets with LONG ASCII columns from
MaxDB
Description:
------------
I got SuSE 10.1, a self-compiled php 4.4.4 (also tried the
php5-5.1.2-29.22 from SuSE and php 5.1.4 from the php website with the
same result), unixODBC, apache 2.2 and MaxDB 7.6 on an AMD X2 x86_64
platform with the following table:
CREATE TABLE "PRESSESTIMMEN"
(
"ID" Fixed (18,0) NOT NULL,
"TITLE" Varchar (100) ASCII,
"HEADLINE" Varchar (250) ASCII,
"DATUM" Date,
"TEXT" Long ASCII,
"BILD_NAME" Varchar (100) ASCII,
"BILD_TYPE" Varchar (120) ASCII,
"BILD_SIZE" Fixed (18,0),
"BILD" Char (2) ASCII,
"ARCHIVDATUM" Date,
PRIMARY KEY ("ID")
)
doing a
$a = odbc_exec ($dbcon, select id,title,headline,datum from
pressestimmen");
while (odbc_fetch_into ($a, $row)) {
...
}
works well. But if I modify the select statement:
$a = odbc_exec ($dbcon, select * from pressestimmen");
only reads out the first line. The second call to "odbc_fetch_into"
crashes. in the error_log of apache, I see
*** glibc detected *** /usr/sbin/httpd2-prefork: free(): invalid pointer:
0x0000
555555c2df40 ***
If I modify the select statement to
$a = odbc_exec ($dbcon, "select id,title,headline,datum,text from
pressestimmen");
I get the same problems. I think it is because of the data type "long
ascii" of the "text" column. I had this software running on php3 and php4
since the days of SuSE 7.0 on 32 bit platforms until SuSE 10.0 and SuSE
10.1 on a dual XEON 32 bit platform without problems, but now on the 64
bit machine, it crashes. So I think, it is an 64 Bit problem with the Long
Ascii data type.
--
Edit bug report at http://bugs.php.net/?id=39756&edit=1
--
Try a CVS snapshot (PHP 4.4):
http://bugs.php.net/fix.php?id=39756&r=trysnapshot44
Try a CVS snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=39756&r=trysnapshot52
Try a CVS snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=39756&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=39756&r=fixedcvs
Fixed in release:
http://bugs.php.net/fix.php?id=39756&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=39756&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=39756&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=39756&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=39756&r=support
Expected behavior: http://bugs.php.net/fix.php?id=39756&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=39756&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=39756&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=39756&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=39756&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=39756&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=39756&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=39756&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=39756&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=39756&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=39756&r=mysqlcfg