#45497 [Fbk-Opn]: memory leak in select statement for varchar2 above 2000 characters
ID: 45497 User updated by: teju_baba at hotmail dot com Reported By: teju_baba at hotmail dot com -Status: Feedback +Status: Open Bug Type: OCI8 related Operating System: Solaris 10 PHP Version: 5.2.6 Assigned To: sixd New Comment: This is the create statement for the 2 tables. CREATE TABLE NAS.AGENCY ( AGENCY_ID NUMBER(9), AGENCY_NAME VARCHAR2(60) NOT NULL , AGENCY_TYPE VARCHAR2(1) NOT NULL , AGENCY_ABBR VARCHAR2(10), ADMIN_HIST VARCHAR2(2000) NOT NULL , DATE_UPDATED DATE NOT NULL , PRIMARY KEY (AGENCY_ID) VALIDATE ) TABLESPACE USERS PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 128K BUFFER_POOL DEFAULT) LOGGING; CREATE TABLE PIC.PC_CATALOGUE ( CATALOGUE_ID CHAR(10), ACCESSION_NO VARCHAR2(30), NEGATIVE_NO VARCHAR2(30), COLLECTION_TITLE VARCHAR2(1024), SUBJECT VARCHAR2(1024), CAPTION VARCHAR2(1024), MEDIUM VARCHAR2(3), SOURCE VARCHAR2(255), SOURCE_ADDRESS VARCHAR2(255), SOURCE_CONTACT_PERSON VARCHAR2(30), LOCATION VARCHAR2(10), SHELF_NO VARCHAR2(10), IMAGE_NO VARCHAR2(10), ACQUIRED_DATE DATE, ACCESSION_DATE DATE, RECORDING_DATE DATE, ACCESS_CODE VARCHAR2(3), PHOTOCD_ID VARCHAR2(50), PHOTOCD_NO VARCHAR2(50), ACCESSION_CONDITION VARCHAR2(50), REMARK VARCHAR2(255), OWNER VARCHAR2(30), STATUS CHAR(1), CHANGED_BY VARCHAR2(30), CHANGE_DATE DATE, SEARCH_FIELD VARCHAR2(4000), ACCESS_ID VARCHAR2(20), CREATE_DATE DATE, OLD_ACCESSION_NO NUMBER(10), IMAGE_LINK VARCHAR2(1024), EXTERNAL_SOURCE VARCHAR2(255), CAT_REMARKS VARCHAR2(4000), CONSTRAINT PC_CATALOGUE_PK PRIMARY KEY (CATALOGUE_ID) VALIDATE ) TABLESPACE USERS PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 409600K BUFFER_POOL DEFAULT) LOGGING; Environment Variables: MANPATH=:/usr/man:/usr/share/man:/opt/SUNWvts/man:/opt/SUNWexplo/man:/opt/SUNWsneep/man:/opt/CTEact/man TOMCAT_HOME=/otej/sunSparcSol10/tomcat/apache-tomcat-5.5.26 TERM=xterm SHELL=/bin/bash NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 TMPDIR=/var/tmp SSH_CLIENT=10.203.2.27 3622 22 OLDPWD=/ SSH_TTY=/dev/pts/2 USER=root LD_LIBRARY_PATH=:/otej/instantclient:/usr/openwin/lib OPENWINHOME=/usr/openwin WEBLOGIC_HOME=/usr/local/bea/weblogic81/server/bin MAIL=/var/mail//root PATH=/usr/sbin:/usr/bin:/usr/local/bin:/otej/j2sdk1.4.2_16/bin:/bin:/usr/ccs/bin:/usr/openwin/bin:/usr/dt/bin:/usr/platform/SUNW,Sun-Fire-V245/sbin:/opt/sun/bin:/opt/SUNWvts/bin:/opt/SUNWexplo/bin:/opt/SUNWsneep/bin:/opt/CTEact/bin PWD=/otej/project/a2osync JAVA_HOME=/otej/j2sdk1.4.2_16 EDITOR=vi TZ=Singapore [EMAIL PROTECTED] # [EMAIL PROTECTED] SHLVL=1 HOME=/ LOGNAME=root SSH_CONNECTION=10.203.2.27 3622 10.203.2.72 22 _=/usr/bin/env * TNS_ADMIN is not set as i do not use tnsnames.ora setting it to /otej/instantclient does not help either Versions: Machine 1: (Web server with Oracle Instant Client) OS: Solaris 10 PHP: 5.2.6 OCI: 1.3.3 Oracle Instant Client: 10.1.0.3 Machine 2: (Oracle DB) OS: Linux (Redhat Enterprise 3) Oracle: 10g Enterprise Edition: 10.1.0.3 I'll try to send you the sample data soon. Previous Comments: [2008-07-13 17:24:00] [EMAIL PROTECTED] Can you email me CREATE TABLE and example (not real data) INSERT statements so I have the same values as you? Also let me know your NLS_LANG or other globalization settings, and exact DB version. [2008-07-13 07:54:27] teju_baba at hotmail dot com Here is another example: $query=select catalogue_id, accession_no, negative_no, collection_title, subject, caption, medium, source, source_address, source_contact_person, location, shelf_no, image_no, access_code, photocd_id, photocd_no, accession_condition, remark, owner, status, changed_by, search_field, access_id, old_accession_no, image_link, external_source, cat_remarks from PC_CATALOGUE where CATALOGUE_ID='289713'; Actual Result overflows on search_field and results in garbage for the following fields: Array ( [CATALOGUE_ID] = 289713 [ACCESSION_NO] = 0 [NEGATIVE_NO] = S128961 [COLLECTION_TITLE] = [SUBJECT] = CONSTITUENCIES (VISIT, MEET PEOPLE SESSION, ETC) [CAPTION] = COMMUNICATIONS AND LABOUR MINISTER ONG TENG CHEONG TOURING AYER RAJAH CONSTITUENCY [GROUP DESCRIPTION BY EVENT FROM TRANSFERRING AGENCY] [MEDIUM] = PCD [SOURCE] = MINISTRY OF INFORMATION AND THE ARTS (MITA) [SOURCE_ADDRESS] = [SOURCE_CONTACT_PERSON] = [LOCATION] = [SHELF_NO] = [IMAGE_NO] = 0044 [ACCESS_CODE] = B [PHOTOCD_ID] = 8262-3202-1062 [PHOTOCD_NO] = 19980006698 [ACCESSION_CONDITION] = [REMARK] = [OWNER] = CD IMAGING [STATUS] = 0 [CHANGED_BY] = CD IMAGING [SEARCH_FIELD] = C [ACCESS_ID] = MMUNICATIONS AND LAB [OLD_ACCESSION_NO] = -103019221621693332183419282117282223693512 [IMAGE_LINK] = EVENT FROM TRANSFERRING AGENCY] CONSTITUENCIES (VISIT, MEET PEOPLE [EXTERNAL_SOURCE] = SESSION, ETC) MINISTRY OF INFORM [CAT_REMARKS
#45497 [NEW]: memory leak in select statement for varchar2 above 2000 characters
From: teju_baba at hotmail dot com Operating system: Solaris 10 PHP version: 5.2.6 PHP Bug Type: OCI8 related Bug description: memory leak in select statement for varchar2 above 2000 characters Description: Client: Solaris 10 / Sparc PHP 5.2.3 / 5.2.5 / 5.2.6 OCI 1.2.3 / 1.3.3 Instant Client: 10.1 Oracle 10g Enterprise Edition: 10.1.0.3 TABLE AGENCY SCHEMA AGENCY_ID NUMBER, AGENCY_NAME VARCHAR2(60), AGENCY_TYPE VARCHAR2(1) , AGENCY_ABBR VARCHAR2(10) , ADMIN_HIST VARCHAR2(2000), DATE_UPDATED DATE A simple query like select * from agency where agency_id=40 produces an overflow at either oci_execute() or oci_fetch_assoc() Result is garbage for ADMIN_HIST and overflows on to DATE_UPDATED. For similar queries, the query may or may not return a row. Say: select * from agency where agency_id=54 returns NULL when there is valid data. Reproduce code: --- $conn = oci_connect('user', 'pwd', '//10.203.2.14/db'); $query=select * from agency where agency_id=40; $stid = oci_parse($conn, $query); $r = oci_execute($stid, OCI_DEFAULT); while ($row = oci_fetch_assoc($stid)) { print_r($row); } oci_close($conn); Expected result: xl* [DATE_UPDATED] = 00-DECEMBER-00 the words xl * are garbage characters the DATE_UPDATED is invalid (actual date is: 11-APR-08) Actual result: -- Array ( [AGENCY_ID] = 40 [AGENCY_NAME] = City Council [AGENCY_TYPE] = A [AGENCY_ABBR] = CC [ADMIN_HIST] = The Municipal Council became known as the City Council on 22 September 1951. The City Council, the local authority within the city area, consisted of a President appointed by the Governor-in-Council and 27 members of whom 18 were elected. The City Council enjoyed a wide measure of autonomy in matters placed under its control by the Municipal Ordinance and was empowered to make by-laws but was subjected to certain safeguards. The detailed execution of City Council policies was undertaken by specialised departments concerned with health, water, electricity and so forth. Under the Local Government Ordinance of 1957, the administration of the city area for all local government purposes was the responsibility of a City Council of 32 elected Councillors.In July 1959, the government absorbed the City Council into the central government and most of its functions were transferred to the Ministry of National Development.xl* [DATE_UPDATED] = 00-DECEMBER-00 ) -- Edit bug report at http://bugs.php.net/?id=45497edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=45497r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=45497r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=45497r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=45497r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=45497r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=45497r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=45497r=needscript Try newer version:http://bugs.php.net/fix.php?id=45497r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=45497r=support Expected behavior:http://bugs.php.net/fix.php?id=45497r=notwrong Not enough info: http://bugs.php.net/fix.php?id=45497r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=45497r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=45497r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=45497r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=45497r=dst IIS Stability:http://bugs.php.net/fix.php?id=45497r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=45497r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=45497r=float No Zend Extensions: http://bugs.php.net/fix.php?id=45497r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=45497r=mysqlcfg
#45497 [Com]: memory leak in select statement for varchar2 above 2000 characters
ID: 45497 Comment by: teju_baba at hotmail dot com Reported By: teju_baba at hotmail dot com Status: Open Bug Type: OCI8 related Operating System: Solaris 10 PHP Version: 5.2.6 New Comment: Here is another example: $query=select catalogue_id, accession_no, negative_no, collection_title, subject, caption, medium, source, source_address, source_contact_person, location, shelf_no, image_no, access_code, photocd_id, photocd_no, accession_condition, remark, owner, status, changed_by, search_field, access_id, old_accession_no, image_link, external_source, cat_remarks from PC_CATALOGUE where CATALOGUE_ID='289713'; Actual Result overflows on search_field and results in garbage for the following fields: Array ( [CATALOGUE_ID] = 289713 [ACCESSION_NO] = 0 [NEGATIVE_NO] = S128961 [COLLECTION_TITLE] = [SUBJECT] = CONSTITUENCIES (VISIT, MEET PEOPLE SESSION, ETC) [CAPTION] = COMMUNICATIONS AND LABOUR MINISTER ONG TENG CHEONG TOURING AYER RAJAH CONSTITUENCY [GROUP DESCRIPTION BY EVENT FROM TRANSFERRING AGENCY] [MEDIUM] = PCD [SOURCE] = MINISTRY OF INFORMATION AND THE ARTS (MITA) [SOURCE_ADDRESS] = [SOURCE_CONTACT_PERSON] = [LOCATION] = [SHELF_NO] = [IMAGE_NO] = 0044 [ACCESS_CODE] = B [PHOTOCD_ID] = 8262-3202-1062 [PHOTOCD_NO] = 19980006698 [ACCESSION_CONDITION] = [REMARK] = [OWNER] = CD IMAGING [STATUS] = 0 [CHANGED_BY] = CD IMAGING [SEARCH_FIELD] = C [ACCESS_ID] = MMUNICATIONS AND LAB [OLD_ACCESSION_NO] = -103019221621693332183419282117282223693512 [IMAGE_LINK] = EVENT FROM TRANSFERRING AGENCY] CONSTITUENCIES (VISIT, MEET PEOPLE [EXTERNAL_SOURCE] = SESSION, ETC) MINISTRY OF INFORM [CAT_REMARKS] =) Previous Comments: [2008-07-13 07:49:55] teju_baba at hotmail dot com Description: Client: Solaris 10 / Sparc PHP 5.2.3 / 5.2.5 / 5.2.6 OCI 1.2.3 / 1.3.3 Instant Client: 10.1 Oracle 10g Enterprise Edition: 10.1.0.3 TABLE AGENCY SCHEMA AGENCY_ID NUMBER, AGENCY_NAME VARCHAR2(60), AGENCY_TYPE VARCHAR2(1) , AGENCY_ABBR VARCHAR2(10) , ADMIN_HIST VARCHAR2(2000), DATE_UPDATED DATE A simple query like select * from agency where agency_id=40 produces an overflow at either oci_execute() or oci_fetch_assoc() Result is garbage for ADMIN_HIST and overflows on to DATE_UPDATED. For similar queries, the query may or may not return a row. Say: select * from agency where agency_id=54 returns NULL when there is valid data. Reproduce code: --- $conn = oci_connect('user', 'pwd', '//10.203.2.14/db'); $query=select * from agency where agency_id=40; $stid = oci_parse($conn, $query); $r = oci_execute($stid, OCI_DEFAULT); while ($row = oci_fetch_assoc($stid)) { print_r($row); } oci_close($conn); Expected result: xl* [DATE_UPDATED] = 00-DECEMBER-00 the words xl * are garbage characters the DATE_UPDATED is invalid (actual date is: 11-APR-08) Actual result: -- Array ( [AGENCY_ID] = 40 [AGENCY_NAME] = City Council [AGENCY_TYPE] = A [AGENCY_ABBR] = CC [ADMIN_HIST] = The Municipal Council became known as the City Council on 22 September 1951. The City Council, the local authority within the city area, consisted of a President appointed by the Governor-in-Council and 27 members of whom 18 were elected. The City Council enjoyed a wide measure of autonomy in matters placed under its control by the Municipal Ordinance and was empowered to make by-laws but was subjected to certain safeguards. The detailed execution of City Council policies was undertaken by specialised departments concerned with health, water, electricity and so forth. Under the Local Government Ordinance of 1957, the administration of the city area for all local government purposes was the responsibility of a City Council of 32 elected Councillors.In July 1959, the government absorbed the City Council into the central government and most of its functions were transferred to the Ministry of National Development.xl* [DATE_UPDATED] = 00-DECEMBER-00 ) -- Edit this bug report at http://bugs.php.net/?id=45497edit=1