Bug #71342 [Opn->Fbk]: Crash in "zend_mm_gc"

From: Date: Tue, 19 Jan 2016 10:00:25 +0000
Subject: Bug #71342 [Opn->Fbk]: Crash in "zend_mm_gc"
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-198769@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=71342&edit=1 ID: 71342 Updated by: ab@php.net Reported by: michael dot hartmann at refx dot com Summary: Crash in "zend_mm_gc" -Status: Open +Status: Feedback Type: Bug Package: Reproducible crash Operating System: Windows 10 PHP Version: 7.0.2 Block user comment: N Private report: N New Comment: On creating core dumps, an info is here https://bugs.php.net/bugs-generating-backtrace-win32.php or here https://msdn.microsoft.com/en-us/library/windows/desktop/bb787181%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396 . I would see RDP to your machine as not very rational, as you most likely miss all the tools needed to debug and develop the PHP core on Windows. So quite some time would be needed for setups, etc. Please lets see what we have in the dumps (be sure there's no sensitive information in there before posting). Thanks. Previous Comments: ------------------------------------------------------------------------ [2016-01-18 02:53:51] michael dot hartmann at refx dot com I wish I could send you a short script that causes it, but it seems everything "simple" just works. This website uses AltoRouter, Twig and some custom functions (mainly Twig extensions) to render our website. How do I create the core-dump or a complete backtrace? Keep in mind, I can't run this in the command-line. My offer that somebody trustworthy does a remote-desktop session and works on my computer directly still stands. ------------------------------------------------------------------------ [2016-01-17 19:41:48] ab@php.net @michael thanks for the follow up. Were it possible you to extract a small reproduce case? A backtrace or a core dump could be very helpful, too. Please exclude any non core extensions while doing that. Thanks. ------------------------------------------------------------------------ [2016-01-14 22:28:57] michael dot hartmann at refx dot com I've removed YAML from my php.ini and replaced the necessary functions with the Symfony/YAML parser. It is definitely more stable, but still crashes in 10% of the cases at the exact same location. Except Wincache, this PHP 7.0.2 installation is vanilla. Also I can only manage to make it crash if I reload a certain page that does array-value manipulations like this: // Assign specific display parameters to each price foreach ($prices as &$prc) { $price = $prc[$_SESSION['GEO']['CURRENCY']]; $price = $price < 79? ceil($price) : floor($price); $prc['PRICE'] = number_format($price, 0, $prdDisp['DECIMAL'], $prdDisp['THOU']); // Christmas pricing active? if ($this->config['B_CHRISTMAS_PRICES']) { $prc['OLD_PRICE'] = $prc['PRICE']; $price = $prc[$_SESSION['GEO']['CURRENCY'] . '_SPEC']; $price = $price < 79? ceil($price) : floor($price); $prc['PRICE'] = number_format($price, 0, $prdDisp['DECIMAL'], $prdDisp['THOU']); } } // Assign various properties to products foreach ($products as &$prd) { // Slug $prd['SLUG'] = trim(preg_replace('/[^a-z0-9-]+/', '-', strtolower($prd['DISPLAY_NAME'])), "-"); // Price $price = $prices[$prd['PRICE_CATEGORY']]; if ($price['PRICE'] != '0') { $prd['PRICE'] = $price['PRICE']; if ($price['OLD_PRICE']) { $prd['OLD_PRICE'] = $price['OLD_PRICE']; } $prd['CURRENCY'] = $prdDisp['SYMBOL']; } // Age $prd['NEW'] = (time() - strtotime($prd['RELEASEDATE'])) < (90 * 24 * 60 * 60); } As you can see, I add new array-elements in the foreach loop and I work on references instead of the values. If I comment this code out, then (even with the yaml.dll) the website get's a LOT more stable. ------------------------------------------------------------------------ [2016-01-12 03:30:43] laruence@php.net btw, I think it probably relates to YAML, could you try with out it? (like use a pure php implementation of Yaml instead ext) ------------------------------------------------------------------------ [2016-01-12 03:30:05] laruence@php.net Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with <?php and ends with ?>, is max. 10-20 lines long and does not require any external resources such as databases, etc. If the script requires a database to demonstrate the issue, please make sure it creates all necessary tables, stored procedures etc. Please avoid embedding huge scripts into the report. ------------------------------------------------------------------------ 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=71342 -- Edit this bug report at https://bugs.php.net/bug.php?id=71342&edit=1

« previous php.bugs (#198769) next »