Bug #71600 [Asn]: oci_fetch_all results in segfault on apache 2.4
| From: | sixd@php.net | 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