Bug #77468 [Asn]: zend_mm_heap corrupted
| From: | thomas dot wiedmann at laek-bw dot de | Date: | Mon, 21 Jan 2019 09:40:35 +0000 |
| Subject: | Bug #77468 [Asn]: zend_mm_heap corrupted | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-219103@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=77468&edit=1
ID: 77468
User updated by: thomas dot wiedmann at laek-bw dot de
Reported by: thomas dot wiedmann at laek-bw dot de
Summary: zend_mm_heap corrupted
Status: Assigned
Type: Bug
Package: PDO OCI
Operating System: Windows 7 (Win64)
PHP Version: 7.3.1
Assigned To: sixd
Block user comment: N
Private report: N
New Comment:
Second piece
After the second stmt=null apache crashed
----[php PL/SQL call]---
$sQuery = '';
$sQuery = $sQuery . 'BEGIN ';
$sQuery = $sQuery . ' tw_pkg_bearbeiter.Read(:df_nBearbeiter,:df_sArt); ';
$sQuery = $sQuery . ' tw_pkg_bearbeiter.GetnBearbeiter(:df_nBearbeiter);';
$sQuery = $sQuery . ' tw_pkg_bearbeiter.GetsArt(:df_sArt);';
$sQuery = $sQuery . ' tw_pkg_bearbeiter.GetnZahl(:df_nZahl);';
$sQuery = $sQuery . ' tw_pkg_bearbeiter.GetsText(:df_sText);';
$sQuery = $sQuery . ' tw_pkg_bearbeiter.GetdtZahl(:df_dtZahl);';
$sQuery = $sQuery . ' tw_pkg_bearbeiter.GetnStatus(:nStatus); ';
$sQuery = $sQuery . 'END; ';
$stmt = $dbh->prepare($sQuery);
if ($stmt) {
error_log('bearbeiter read() - prepared', 0);
$stmt->bindParam(':df_nBearbeiter', $df_nBearbeiter, PDO::PARAM_INT |
PDO::PARAM_INPUT_OUTPUT, 22 );
$stmt->bindParam(':df_sArt', $df_sArt, PDO::PARAM_STR | PDO::PARAM_INPUT_OUTPUT, 15 );
$stmt->bindParam(':df_nZahl', $df_nZahl, PDO::PARAM_INT | PDO::PARAM_INPUT_OUTPUT, 22
);
$stmt->bindParam(':df_sText', $df_sText, PDO::PARAM_STR | PDO::PARAM_INPUT_OUTPUT, 40
);
$stmt->bindParam(':df_dtZahl', $df_dtZahl, PDO::PARAM_STR | PDO::PARAM_INPUT_OUTPUT,
10 );
$stmt->bindParam(':nStatus', $nStatus, PDO::PARAM_INT | PDO::PARAM_INPUT_OUTPUT, 22 );
$stmt->execute();
error_log('bearbeiter read() - executed', 0);
$stmt->closeCursor();
error_log('bearbeiter read() - closeCursor', 0);
$stmt = null;
error_log('bearbeiter read() - stmt=null', 0);
if ($nStatus) {
// ok
} else {
// nicht gefunden @todo - Fehlermeldung?
}
}
----[php PL/SQL call]---
Previous Comments:
------------------------------------------------------------------------
[2019-01-21 09:38:43] thomas dot wiedmann at laek-bw dot de
I get the restart after doing the same PL/SQL more then two times. Logging same
"error_log" notes. It's look like this
-----[Process]---
read() - start
read() - prepared
read() - executed
read() - closeCursor
read() - stmt=null
read() - start
read() - prepared
read() - executed
read() - closeCursor
read() - stmt=null
zend_mm_heap corrupted
restarting
-----[Process]---
Sorry: get message: Your comment looks like SPAM by its content. Please consider rewording.
So I will send more then one feedback
------------------------------------------------------------------------
[2019-01-18 21:48:28] sixd@php.net
I'll need your SQL to create the table data and minimal PHP file that shows the issue. Thanks.
------------------------------------------------------------------------
[2019-01-18 14:55:52] cmb@php.net
This looks like an PDO Core or PDO_OCI issue; Christopher,
could you please have a look at this?
------------------------------------------------------------------------
[2019-01-18 13:00:21] thomas dot wiedmann at laek-bw dot de
Apache Version - httpd-2.4.37-win64-VC15.zip (14.12.2018 11:52)
------------------------------------------------------------------------
[2019-01-18 11:58:30] thomas dot wiedmann at laek-bw dot de
Microsoft DebugDiag Analysis tools are different now
- need .NET 4.0 Framework
- Analyse is a separated tool
I get a .dump (145 MB) , but the analyse tool show:
---[Error]---
Please follow up with the vendor The PHP Group for [...]\php-7.3.1-Win32-VC15-x64\php7ts.dll
WARNING - DebugDiag was not able to locate debug symbols for \php7ts.dll, so the information below
may be incomplete.
In httpd__PID__4240__Date__01_18_2019__Time_11_58_27AM__375__Second_Chance_Exception_C0000005.dmp
the assembly instruction at php7ts!efree+61 in [...]\php-7.3.1-Win32-VC15-x64\php7ts.dll from The
PHP Group has caused an access violation exception (0xC0000005) when trying to read from memory
location 0x04000838 on thread 6
Thread 6 - System ID 4180
Entry point libhttpd!ap_run_generate_log_id+3b10
Create time 18.01.2019 11:57:39
Time spent in user mode 0 Days 00:00:00.218
Time spent in kernel mode 0 Days 00:00:00.140
This thread is not fully resolved and may or may not be a problem. Further analysis of these threads
may be required.
php7ts!efree+61
php_pdo_oci+30cf
php7ts!php_pdo_free_statement+d8c
php7ts!php_pdo_free_statement+1731
php7ts!zend_cleanup_unfinished_execution+50b
php7ts!execute_ex+5f
php7ts!zend_execute+1a8
php7ts!zend_execute_scripts+b9
php7ts!php_execute_script+261
php7apache2_4+3df1
libhttpd!ap_run_handler+35
libhttpd!ap_invoke_handler+10f
libhttpd!ap_internal_redirect_handler+29a
libhttpd!ap_process_request+f
libhttpd!ap_byterange_filter+1581
libhttpd!ap_run_process_connection+35
libhttpd!ap_process_connection+45
libhttpd!ap_run_generate_log_id+3da0
kernel32!BaseThreadInitThunk+d
ntdll!RtlUserThreadStart+1d
-------------
------------------------------------------------------------------------
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=77468
--
Edit this bug report at https://bugs.php.net/bug.php?id=77468&edit=1