php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #51220 ext/oci8/tests/lob_043.phpt kills 'make test'
Submitted: 2010-03-06 01:16 UTC Modified: 2010-12-20 12:52 UTC
From: long at ku dot edu Assigned: sixd (profile)
Status: Closed Package: OCI8 related
PHP Version: 5.3.2 OS: Red Hat Enterprise Linux AS rele
Private report: No CVE-ID: None
 [2010-03-06 01:16 UTC] long at ku dot edu
Description:
------------
Trying to run 'make test' leads to:

FAIL Check various LOB error messages [ext/oci8/tests/lob_042.phpt] 
TEST 4281/10735 [ext/oci8/tests/lob_043.phpt]
Fatal error: Out of memory (allocated 1605894144) (tried to allocate 1598922365 bytes) in /apps/home/long/src/php-5.3.2-ap2/run-tests.php on line 1724
make: [test] Error 255 (ignored)
[long@wbtstap php-5.3.2-ap2]$

[long@wbtstap php-5.3.2-ap2]$ cat config.nice
#! /bin/sh
#
# Created by configure

CFLAGS='-O3' \
CXXFLAGS='-O3' \
LIBS='-lssl -lncurses' \
'./configure' \
'--enable-discard-path' \
'--with-openssl=shared' \
'--with-zlib=shared' \
'--enable-bcmath' \
'--with-bz2=shared' \
'--enable-calendar' \
'--with-curl=shared' \
'--enable-dba=shared' \
'--with-gdbm=shared' \
'--with-db4=shared' \
'--enable-dbase' \
'--enable-exif' \
'--enable-ftp' \
'--with-gd=shared' \
'--enable-gd-native-ttf' \
'--enable-gd-jis-conv' \
'--with-gettext=shared' \
'--with-gmp=shared' \
'--with-imap=shared' \
'--with-kerberos' \
'--with-imap-ssl' \
'--with-ldap' \
'--enable-mbstring' \
'--with-mysql=/usr' \
'--with-ncurses=shared' \
'--with-oci8' \
'--with-pspell=shared' \
'--with-readline=shared' \
'--enable-shmop' \
'--with-snmp=shared' \
'--enable-sockets' \
'--with-sqlite=shared' \
'--enable-sysvmsg' \
'--enable-sysvsem' \
'--enable-sysvshm' \
'--enable-wddx' \
'--with-freetype-dir' \
'--with-jpeg-dir' \
'--with-xpm-dir' \
'--with-apxs2=/usr/local/apache/bin/apxs' \
'--with-mysqli' \
'--enable-pdo=shared' \
'--with-pdo-mysql=shared' \
'--with-pdo-oci=shared' \
'--with-pdo-sqlite=shared' \
'--with-tidy' \
'--enable-soap=shared' \
'--enable-zip' \
'--with-pgsql' \
"$@"
[long@wbtstap php-5.3.2-ap2]$ 

[long@wbtstap php-5.3.2-ap2]$ cat /usr/local/lib/php.ini
register_globals = on;

; Output buffering allows you to send header lines (including cookies) even
; after you send body content, at the price of slowing PHP's output layer a
; bit.  You can enable output buffering during runtime by calling the output
; buffering functions.  You can also enable output buffering for all files by
; setting this directive to On.  If you wish to limit the size of the buffer
; to a certain size - you can use a maximum number of bytes instead of 'On', as
; a value for this directive (e.g., output_buffering=4096).
output_buffering = 4096


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; error_reporting is a bit-field.  Or each number up to get desired error
; reporting level
; E_ALL             - All errors and warnings
; E_ERROR           - fatal run-time errors
; E_WARNING         - run-time warnings (non-fatal errors)
; E_PARSE           - compile-time parse errors
; E_NOTICE          - run-time notices (these are warnings which often result
;                     from a bug in your code, but it's possible that it was
;                     intentional (e.g., using an uninitialized variable and
;                     relying on the fact it's automatically initialized to an
;                     empty string)
; E_STRICT          - run-time notices, enable to have PHP suggest changes
;                     to your code which will ensure the best interoperability
;                     and forward compatibility of your code
; E_CORE_ERROR      - fatal errors that occur during PHP's initial startup
; E_CORE_WARNING    - warnings (non-fatal errors) that occur during PHP's
;                     initial startup
; E_COMPILE_ERROR   - fatal compile-time errors
; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
; E_USER_ERROR      - user-generated error message
; E_USER_WARNING    - user-generated warning message
; E_USER_NOTICE     - user-generated notice message
;
; Examples:
;
;   - Show all errors, except for notices and coding standards warnings
;
;error_reporting = E_ALL & ~E_NOTICE
;
;   - Show all errors, except for notices
;
;error_reporting = E_ALL & ~E_NOTICE | E_STRICT
;
;   - Show only errors, except coding standards warnings
;
;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
;
;   - Show all errors
;
;error_reporting  =  E_ALL
; We only leave error_reporting on for robin, users on other systems
; can enable this using error_reporting()
error_reporting = 0

; PHP 4.2 and less have an undocumented feature/bug that allows you to
; to initialize a session variable in the global scope, albeit register_globals
; is disabled.  PHP 4.3 and later will warn you, if this feature is used.
; You can disable the feature and the warning separately. At this time,
; the warning is only displayed, if bug_compat_42 is enabled.

session.bug_compat_42 = 0
session.bug_compat_warn = 1

upload_max_filesize = 20M

display_startup_errors = On
track_errors = On
html_errors = Off


extension=bz2.so
extension=curl.so
extension=dba.so
extension=gd.so
extension=gettext.so
extension=gmp.so
extension=imap.so
extension=ncurses.so
extension=openssl.so
;extension=pgsql.so
extension=pspell.so
extension=readline.so
; causes a bunch of apache error_log junk
;extension=snmp.so
;extension=xsl.so
extension=zlib.so

;memory_limit="128M"
memory_limit="256M"

;zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20050922/xdebug.so

allow_url_include="1"

open_basedir = /home:/tmp:/usr/local/lib/php


extension=pdo.so
extension=pdo_sqlite.so
extension=pdo_mysql.so
; does not work with suexec due to initializing before ORACLE_HOME can be set, use dl()
;extension=pdo_oci.so

extension=sqlite.so



lob_043.out is 

Expected result:
----------------
I expect 'make test' to not die in the middle.


Actual result:
--------------
...
FAIL lob buffering - 2 [ext/oci8/tests/lob_034.phpt] 
FAIL oci_lob_copy() - 2 [ext/oci8/tests/lob_035.phpt] 
FAIL Exercise cleanup code when LOB buffering is on [ext/oci8/tests/lob_036.phpt] 
FAIL Fetching two different lobs and using them after fetch [ext/oci8/tests/lob_037.phpt] 
FAIL Array fetch CLOB and BLOB [ext/oci8/tests/lob_038.phpt] 
FAIL Test CLOB->write() for multiple inserts [ext/oci8/tests/lob_039.phpt] 
FAIL Bug #37706 (Test LOB locator reuse. Extends simple test of lob_037.phpt) [ext/oci8/tests/lob_040.phpt] 
FAIL Check LOBS are valid after statement free [ext/oci8/tests/lob_041.phpt] 
FAIL Check various LOB error messages [ext/oci8/tests/lob_042.phpt] 
TEST 4281/10735 [ext/oci8/tests/lob_043.phpt]
Fatal error: Out of memory (allocated 1605894144) (tried to allocate 1598922365 bytes) in /apps/home/long/src/php-5.3.2-ap2/run-tests.php on line 1724
make: [test] Error 255 (ignored)
[long@wbtstap php-5.3.2-ap2]$

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2010-03-06 02:25 UTC] johannes@php.net
-Status: Open +Status: Assigned
 [2010-03-06 02:25 UTC] johannes@php.net
blind guess: The test creates way too much output. Can you check it, Chris?
 [2010-03-26 20:38 UTC] sixd@php.net
Automatic comment from SVN on behalf of sixd
Revision: http://svn.php.net/viewvc/?view=revision&revision=296893
Log: Fix #51220 by adding . Also improve reliability for tests using undefined behavior.
 [2010-03-26 20:41 UTC] sixd@php.net
-Status: Assigned +Status: Closed
 [2010-03-26 20:41 UTC] sixd@php.net
This bug has been fixed in SVN.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.

This test can sometimes timeout but I've not seen the memory issue.

I've added a flag to details.inc in the OCI8 test suite to
enable/disable some "stress" tests.  By default this flag is
disabled and lob_043.phpt won't run.
 [2010-12-20 12:52 UTC] jani@php.net
-Package: Tidy +Package: OCI8 related
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 17:01:58 2024 UTC