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

From: Date: Tue, 19 Jan 2016 23:28:16 +0000
Subject: Bug #71342 [Fbk->Opn]: Crash in "zend_mm_gc"
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-198780@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 User updated by: michael dot hartmann at refx dot com Reported by: michael dot hartmann at refx dot com Summary: Crash in "zend_mm_gc" -Status: Feedback +Status: Open Type: Bug Package: Reproducible crash Operating System: Windows 10 PHP Version: 7.0.2 Block user comment: N Private report: N New Comment: I've created a full crash-dump. It's 187 MB. Even with simple ZIP compression I get it down to 18 MB. Or is a mini-crash dump enough? How do you want me to submit that file? Previous Comments: ------------------------------------------------------------------------ [2016-01-19 10:00:22] ab@php.net 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. ------------------------------------------------------------------------ [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) ------------------------------------------------------------------------ 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 (#198780) next »