Bug #71600 [Asn]: oci_fetch_all results in segfault on apache 2.4

From: Date: Tue, 12 Apr 2016 00:48:32 +0000
Subject: Bug #71600 [Asn]: oci_fetch_all results in segfault on apache 2.4
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-200498@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=71600&edit=1 ID: 71600 Updated by: sixd@php.net Reported by: nick dot saraniti at gmail dot com Summary: oci_fetch_all results in segfault on apache 2.4 Status: Assigned Type: Bug Package: OCI8 related Operating System: CentOS 7.2.1511 PHP Version: 7.0.3 Assigned To: sixd Block user comment: N Private report: N New Comment: Issue seems to be when a sym table is reallocated after its initial 8 slots are full. A fix is being reviewed & tested. Previous Comments: ------------------------------------------------------------------------ [2016-04-12 00:46:31] sixd@php.net Related To: Bug #71708 ------------------------------------------------------------------------ [2016-04-12 00:45:53] sixd@php.net Related To: Bug #72005 ------------------------------------------------------------------------ [2016-04-11 14:01:21] clfenton at northeaststate dot edu TRACE START [2016-04-11 13:40:52] 0.0002 360112 +360112 -> {main}() /home/robowman/public_html/view.debug.query.php:0 0.0003 360112 +0 -> session_start() /home/robowman/public_html/view.debug.query.php:20 0.0004 360752 >=> TRUE 0.0005 361040 +928 -> require_once(/home/robowman/public_html/inc/config.php) /home/robowman/public_html/view.debug.query.php:21 0.0005 361040 +0 -> define('SESSION_TIMEOUT', 30) /home/robowman/public_html/inc/config.php:20 0.0006 361072 >=> TRUE 0.0006 361072 +32 -> define('CHECK_BROWSER', TRUE) /home/robowman/public_html/inc/config.php:23 0.0006 361104 >=> TRUE 0.0007 361104 +32 -> define('IP_OCTETS', 2) /home/robowman/public_html/inc/config.php:24 0.0007 361136 >=> TRUE 0.0007 361136 +32 -> define('SALT', 'NeSCC!(*') /home/robowman/public_html/inc/config.php:25 0.0007 361168 >=> TRUE 0.0007 361168 +32 -> define('REGENERATE_ID', TRUE) /home/robowman/public_html/inc/config.php:26 0.0007 361200 >=> TRUE 0.0008 361200 +32 -> define('ROOT_URL', 'https://172.22.1.89/robowman/') /home/robowman/public_html/inc/config.php:28 0.0008 361232 >=> TRUE 0.0008 361320 +120 -> require_once(/home/robowman/public_html/query/debug.query.php) /home/robowman/public_html/view.debug.query.php:23 0.0009 363248 +1928 -> require_once(/home/robowman/public_html/class/ROBDB_Oracle_Connect.php) /home/robowman/public_html/query/debug.query.php:29 0.0010 364552 +1304 -> ROBDB_Query::getInstance() /home/robowman/public_html/query/debug.query.php:99 0.0010 364664 +112 -> ROBDB_Query->__construct() /home/robowman/public_html/class/ROBDB_Oracle_Connect.php:96 0.0010 364664 +0 -> ROBDB_Oracle->__construct() /home/robowman/public_html/class/ROBDB_Oracle_Connect.php:84 0.0010 364664 +0 -> oci_connect('baninst1', 'u_pick_it', 'OIR_BAN8') /home/robowman/public_html/class/ROBDB_Oracle_Connect.php:26 1.5335 365264 >=> resource(2) of type (oci8 connection) 1.5338 365264 >=> class ROBDB_Query { private $statement = NULL; private $error_message = NULL; private $results = NULL; protected $db_connection = resource(2) of type (oci8 connection) } 1.5338 365640 +976 -> ROBDB_Query->set_query('SELECT distinct\r\n\r\n\t\t\tSPRIDEN_ID ID,\r\n\t\t\tSPRIDEN_LAST_NAME || \', \'|| SPRIDEN_FIRST_NAME || \' \' || SPRIDEN_MI AS EMPLOYEE,\r\n\t\t\t\r\n\t\t\tPOSITION_TITLE AS WORKING_TITLE,\r\n\t\t\tpevempl_birth_date as Birthdate,\r\n\t\t\tpevempl_sex as Gender,\r\n\t\t\tpevempl_ethn_code as Ethnicity,\r\n\t\t\tEMPLOYEE_CLASS as e_class,\r\n\t\t\tCURRENT_HIRE_DATE AS HIRE_DT,\r\n\t\t\tseniority_date as seniority,\r\n\t\t\ta.effective_date as effective_date,\r\n\t\t\tposition_begin_date as position_begin_date,\r\n\t\t\ta.assignment_grade as salary_grade,\r\n\t\t\tto_char(ANNUAL_SALARY,\'$999,999.99\') as Salary\r\n\t\t\t\r\n\t\t\tFROM AN_EMPLOYEE_POSITION A,\r\n\t\t\t (SELECT PERSON_UID,\r\n\t\t\t POSITION,\r\n\t\t\t JOB_SUFFIX,\r\n\t\t\t MAX(EFFECTIVE_DATE) AS MAX_DATE\r\n\t\t\t FROM AN_EMPLOYEE_POSITION\r\n\t\t\t GROUP BY PERSON_UID, POSITION, JOB_SUFFIX) E,\r\n\t\t\t\r\n\t\t\tSPRIDEN, AP_EMPLOYEE,--nbrj! lbd\r\n\t\t\tpevempl\r\n\t\t\tWHERE A.PERSON_UID = E.PERSON_UID\r\n\t\t\tand pevempl_pidm = A.Person_uid\r\n\t\t\tAND A.EFFECTIVE_DATE = E.MAX_DATE\r\n\t\t\tAND A.POSITION = E.POSITION\r\n\t\t\tAND A.JOB_SUFFIX = E.JOB_SUFFIX\r\n\t\t\tAND A.PERSON_UID = SPRIDEN_PIDM\t\r\n\t\t\tAND POSITION_CONTRACT_TYPE = \'P\' /*P - primary, S- seconday, O - override*/\r\n\t\t\tAND SPRIDEN_CHANGE_IND IS NULL \r\n\t\t\tAND A.PERSON_UID = AP_EMPLOYEE.PERSON_UID\r\n\t\t\tAND EMPLOYEE_STATUS <> \'T\'\r\n\t\t\tAND POSITION_STATUS <> \'T\'\r\n\t\t\tand pevempl_ethn_code = \'60\'\r\n\t\t\tand pevempl_ecls_code = \'AE\'\r\n\t\t\tand ( pevempl_sex = \'M\' or pevempl_sex = \'F\' )\r\n') /home/robowman/public_html/query/debug.query.php:100 1.5339 365640 +0 -> ROBDB_Query->prepareStatement('SELECT distinct\r\n\r\n\t\t\tSPRIDEN_ID ID,\r\n\t\t\tSPRIDEN_LAST_NAME || \', \'|| SPRIDEN_FIRST_NAME || \' \' || SPRIDEN_MI AS EMPLOYEE,\r\n\t\t\t\r\n\t\t\tPOSITION_TITLE AS WORKING_TITLE,\r\n\t\t\tpevempl_birth_date as Birthdate,\r\n\t\t\tpevempl_sex as Gender,\r\n\t\t\tpevempl_ethn_code as Ethnicity,\r\n\t\t\tEMPLOYEE_CLASS as e_class,\r\n\t\t\tCURRENT_HIRE_DATE AS HIRE_DT,\r\n\t\t\tseniority_date as seniority,\r\n\t\t\ta.effective_date as effective_date,\r\n\t\t\tposition_begin_date as position_begin_date,\r\n\t\t\ta.assignment_grade as salary_grade,\r\n\t\t\tto_char(ANNUAL_SALARY,\'$999,999.99\') as Salary\r\n\t\t\t\r\n\t\t\tFROM AN_EMPLOYEE_POSITION A,\r\n\t\t\t (SELECT PERSON_UID,\r\n\t\t\t POSITION,\r\n\t\t\t JOB_SUFFIX,\r\n\t\t\t MAX(EFFECTIVE_DATE) AS MAX_DATE\r\n\t\t\t FROM AN_EMPLOYEE_POSITION\r\n\t\t\t GROUP BY PERSON_UID, POSITION, JOB_SUFFIX) E,\r\n\t\t\t\r\n\t\t\tSPRIDEN, AP_EMPLOY! EE,--nbrjlbd\r\n\t\t\tpevempl\r\n\t\t\tWHERE A.PERSON_UID = E.PERSON_UID\r\n\t\t\tand pevempl_pidm = A.Person_uid\r\n\t\t\tAND A.EFFECTIVE_DATE = E.MAX_DATE\r\n\t\t\tAND A.POSITION = E.POSITION\r\n\t\t\tAND A.JOB_SUFFIX = E.JOB_SUFFIX\r\n\t\t\tAND A.PERSON_UID = SPRIDEN_PIDM\t\r\n\t\t\tAND POSITION_CONTRACT_TYPE = \'P\' /*P - primary, S- seconday, O - override*/\r\n\t\t\tAND SPRIDEN_CHANGE_IND IS NULL \r\n\t\t\tAND A.PERSON_UID = AP_EMPLOYEE.PERSON_UID\r\n\t\t\tAND EMPLOYEE_STATUS <> \'T\'\r\n\t\t\tAND POSITION_STATUS <> \'T\'\r\n\t\t\tand pevempl_ethn_code = \'60\'\r\n\t\t\tand pevempl_ecls_code = \'AE\'\r\n\t\t\tand ( pevempl_sex = \'M\' or pevempl_sex = \'F\' )\r\n') /home/robowman/public_html/class/ROBDB_Oracle_Connect.php:110 1.5339 365640 +0 -> oci_parse(resource(2) of type (oci8 connection), 'SELECT distinct\r\n\r\n\t\t\tSPRIDEN_ID ID,\r\n\t\t\tSPRIDEN_LAST_NAME || \', \'|| SPRIDEN_FIRST_NAME || \' \' || SPRIDEN_MI AS EMPLOYEE,\r\n\t\t\t\r\n\t\t\tPOSITION_TITLE AS WORKING_TITLE,\r\n\t\t\tpevempl_birth_date as Birthdate,\r\n\t\t\tpevempl_sex as Gender,\r\n\t\t\tpevempl_ethn_code as Ethnicity,\r\n\t\t\tEMPLOYEE_CLASS as e_class,\r\n\t\t\tCURRENT_HIRE_DATE AS HIRE_DT,\r\n\t\t\tseniority_date as seniority,\r\n\t\t\ta.effective_date as effective_date,\r\n\t\t\tposition_begin_date as position_begin_date,\r\n\t\t\ta.assignment_grade as salary_grade,\r\n\t\t\tto_char(ANNUAL_SALARY,\'$999,999.99\') as Salary\r\n\t\t\t\r\n\t\t\tFROM AN_EMPLOYEE_POSITION A,\r\n\t\t\t (SELECT PERSON_UID,\r\n\t\t\t POSITION,\r\n\t\t\t JOB_SUFFIX,\r\n\t\t\t MAX(EFFECTIVE_DATE) AS MAX_DATE\r\n\t\t\t FROM AN_EMPLOYEE_POSITION\r\n\t\t\t GROUP BY PERSON_UID, POSITION, JOB_SUFFIX) E,\r\n\t\t\t\r\n\t\! t\tSPRIDEN, AP_EMPLOYEE,--nbrjlbd\r\n\t\t\tpevempl\r\n\t\t\tWHERE A.PERSON_UID = E.PERSON_UID\r\n\t\t\tand pevempl_pidm = A.Person_uid\r\n\t\t\tAND A.EFFECTIVE_DATE = E.MAX_DATE\r\n\t\t\tAND A.POSITION = E.POSITION\r\n\t\t\tAND A.JOB_SUFFIX = E.JOB_SUFFIX\r\n\t\t\tAND A.PERSON_UID = SPRIDEN_PIDM\t\r\n\t\t\tAND POSITION_CONTRACT_TYPE = \'P\' /*P - primary, S- seconday, O - override*/\r\n\t\t\tAND SPRIDEN_CHANGE_IND IS NULL \r\n\t\t\tAND A.PERSON_UID = AP_EMPLOYEE.PERSON_UID\r\n\t\t\tAND EMPLOYEE_STATUS <> \'T\'\r\n\t\t\tAND POSITION_STATUS <> \'T\'\r\n\t\t\tand pevempl_ethn_code = \'60\'\r\n\t\t\tand pevempl_ecls_code = \'AE\'\r\n\t\t\tand ( pevempl_sex = \'M\' or pevempl_sex = \'F\' )\r\n') /home/robowman/public_html/class/ROBDB_Oracle_Connect.php:133 1.5342 367328 >=> resource(3) of type (oci8 statement) 1.5343 367328 +1688 -> ROBDB_Query->execute_statement() /home/robowman/public_html/query/debug.query.php:106 1.5343 367328 +0 -> oci_execute(resource(3) of type (oci8 statement)) /home/robowman/public_html/class/ROBDB_Oracle_Connect.php:144 1.5526 380784 >=> TRUE 1.5526 380784 +13456 -> ROBDB_Query->fetch_all() /home/robowman/public_html/query/debug.query.php:108 1.5526 380808 +24 -> oci_fetch_all(resource(3) of type (oci8 statement), '') /home/robowman/public_html/class/ROBDB_Oracle_Connect.php:184 The file just ends here with a core dump. version: 1 creator: xdebug 2.4.0 (PHP 7.0.3-5+deb.sury.org~trusty+1) cmd: /home/robowman/public_html/view.debug.query.php part: 1 positions: line events: Time fl=(1) php:internal fn=(1) php::session_start 20 77 fl=(1) fn=(2) php::define 20 10 fl=(1) fn=(2) 23 2 fl=(1) fn=(2) 24 2 fl=(1) fn=(2) 25 1 fl=(1) fn=(2) 26 0 fl=(1) fn=(2) 28 0 fl=(2) /home/robowman/public_html/inc/config.php fn=(3) require_once::/home/robowman/public_html/inc/config.php 1 237 cfl=(1) cfn=(2) calls=1 0 0 20 10 cfl=(1) cfn=(2) calls=1 0 0 23 2 cfl=(1) cfn=(2) calls=1 0 0 24 2 cfl=(1) cfn=(2) calls=1 0 0 25 1 cfl=(1) cfn=(2) calls=1 0 0 26 0 cfl=(1) cfn=(2) calls=1 0 0 28 0 fl=(3) /home/robowman/public_html/class/ROBDB_Oracle_Connect.php fn=(4) require_once::/home/robowman/public_html/class/ROBDB_Oracle_Connect.php 1 1 fl=(1) fn=(5) php::oci_connect 26 1532376 fl=(3) fn=(6) ROBDB_Oracle->__construct 23 128 cfl=(1) cfn=(5) calls=1 0 0 26 1532376 fl=(3) fn=(7) ROBDB_Query->__construct 82 41 cfl=(3) cfn=(6) calls=1 0 0 84 1532504 fl=(3) fn=(8) ROBDB_Query::getInstance 93 207 cfl=(3) cfn=(7) calls=1 0 0 96 1532545 fl=(1) fn=(9) php::oci_parse 133 109 fl=(3) fn=(10) ROBDB_Query->prepareStatement 131 195 cfl=(1) cfn=(9) calls=1 0 0 133 109 fl=(3) fn=(11) ROBDB_Query->set_query 108 58 cfl=(3) cfn=(10) calls=1 0 0 110 305 fl=(1) fn=(12) php::oci_execute 144 18215 fl=(3) fn=(13) ROBDB_Query->execute_statement 142 77 cfl=(1) cfn=(12) calls=1 0 0 144 18215 ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=71600 -- Edit this bug report at https://bugs.php.net/bug.php?id=71600&edit=1

« previous php.bugs (#200498) next »