Bug #75688 [Com]: Assertions firing during mass linting

From: Date: Tue, 19 Dec 2017 01:58:51 +0000
Subject: Bug #75688 [Com]: Assertions firing during mass linting
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-213164@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=75688&edit=1 ID: 75688 Comment by: graham dot chris at gmail dot com Reported by: chris at ocproducts dot com Summary: Assertions firing during mass linting Status: Feedback Type: Bug Package: opcache Operating System: Mac OS High Sierra (fully patche PHP Version: 7.2.0 Block user comment: N Private report: N New Comment: I tested on git HEAD of the day I submitted the bug (much newer than this commit) and PHP 7.2.0. To double check I tried again on both (after a git pull and make)... chriss-mbp:getid3 chrisgraham$ find . -name "*.php" -exec ~/dev/php-src/sapi/cli/php -l {} \; No syntax errors detected in ./extension.cache.dbm.php No syntax errors detected in ./extension.cache.mysql.php No syntax errors detected in ./getid3.lib.php No syntax errors detected in ./getid3.php No syntax errors detected in ./module.archive.gzip.php No syntax errors detected in ./module.archive.rar.php No syntax errors detected in ./module.archive.szip.php No syntax errors detected in ./module.archive.tar.php No syntax errors detected in ./module.archive.zip.php Assertion failed: (op_array->opcodes[def].result_type & ((1<<1)|(1<<2))), function dce_live_ranges, file /Users/chrisgraham/dev/php-src/ext/opcache/Optimizer/dce.c, line 514. No syntax errors detected in ./module.audio-video.bink.php No syntax errors detected in ./module.audio-video.flv.php Assertion failed: (op_array->opcodes[def].result_type & ((1<<1)|(1<<2))), function dce_live_ranges, file /Users/chrisgraham/dev/php-src/ext/opcache/Optimizer/dce.c, line 514. No syntax errors detected in ./module.audio-video.mpeg.php No syntax errors detected in ./module.audio-video.nsv.php No syntax errors detected in ./module.audio-video.quicktime.php No syntax errors detected in ./module.audio-video.real.php No syntax errors detected in ./module.audio-video.riff.php No syntax errors detected in ./module.audio-video.swf.php No syntax errors detected in ./module.audio.aac.php No syntax errors detected in ./module.audio.ac3.php No syntax errors detected in ./module.audio.au.php No syntax errors detected in ./module.audio.avr.php No syntax errors detected in ./module.audio.bonk.php No syntax errors detected in ./module.audio.dss.php No syntax errors detected in ./module.audio.dts.php No syntax errors detected in ./module.audio.flac.php No syntax errors detected in ./module.audio.la.php No syntax errors detected in ./module.audio.lpac.php No syntax errors detected in ./module.audio.midi.php No syntax errors detected in ./module.audio.mod.php No syntax errors detected in ./module.audio.monkey.php Assertion failed: (op_array->opcodes[def].result_type & ((1<<1)|(1<<2))), function dce_live_ranges, file /Users/chrisgraham/dev/php-src/ext/opcache/Optimizer/dce.c, line 514. No syntax errors detected in ./module.audio.mpc.php No syntax errors detected in ./module.audio.ogg.php No syntax errors detected in ./module.audio.optimfrog.php No syntax errors detected in ./module.audio.rkau.php No syntax errors detected in ./module.audio.shorten.php No syntax errors detected in ./module.audio.tta.php No syntax errors detected in ./module.audio.voc.php No syntax errors detected in ./module.audio.vqf.php No syntax errors detected in ./module.audio.wavpack.php ^C chriss-mbp:getid3 chrisgraham$ sudo nano /etc/php.ini chriss-mbp:getid3 chrisgraham$ find . -name "*.php" -exec ~/dev/php-7.2.0/sapi/cli/php -l {} \; No syntax errors detected in ./extension.cache.dbm.php No syntax errors detected in ./extension.cache.mysql.php No syntax errors detected in ./getid3.lib.php No syntax errors detected in ./getid3.php No syntax errors detected in ./module.archive.gzip.php No syntax errors detected in ./module.archive.rar.php No syntax errors detected in ./module.archive.szip.php No syntax errors detected in ./module.archive.tar.php No syntax errors detected in ./module.archive.zip.php Assertion failed: (op_array->opcodes[def].result_type & ((1<<1)|(1<<2))), function dce_live_ranges, file /Users/chrisgraham/dev/php-7.2.0/ext/opcache/Optimizer/dce.c, line 590. No syntax errors detected in ./module.audio-video.bink.php No syntax errors detected in ./module.audio-video.flv.php Assertion failed: (op_array->opcodes[def].result_type & ((1<<1)|(1<<2))), function dce_live_ranges, file /Users/chrisgraham/dev/php-7.2.0/ext/opcache/Optimizer/dce.c, line 590. No syntax errors detected in ./module.audio-video.mpeg.php No syntax errors detected in ./module.audio-video.nsv.php No syntax errors detected in ./module.audio-video.quicktime.php No syntax errors detected in ./module.audio-video.real.php No syntax errors detected in ./module.audio-video.riff.php No syntax errors detected in ./module.audio-video.swf.php No syntax errors detected in ./module.audio.aac.php No syntax errors detected in ./module.audio.ac3.php No syntax errors detected in ./module.audio.au.php No syntax errors detected in ./module.audio.avr.php No syntax errors detected in ./module.audio.bonk.php No syntax errors detected in ./module.audio.dss.php ^C Maybe it is Mac-specific somehow. Previous Comments: ------------------------------------------------------------------------ [2017-12-16 22:31:21] nikic@php.net I can't reproduce this. My guess is that this has already been fixed by https://github.com/php/php-src/commit/b6294bbc6cfc4f8fb23a2c7f2d18cbd85001c056. Can you check whether the current PHP-7.2 resolves this for you as well? ------------------------------------------------------------------------ [2017-12-14 17:37:52] chris at ocproducts dot com Description: ------------ I can trigger the following assertions... Assertion failed: (phi->use_chains[pred_offset] == ((void*)0)), function zend_ssa_remove_phi_source, file /Users/chrisgraham/dev/php-7.2.0/ext/opcache/Optimizer/zend_ssa.c, line 1282. Assertion failed: (op_array->opcodes[def].result_type & ((1<<1)|(1<<2))), function dce_live_ranges, file /Users/chrisgraham/dev/php-7.2.0/ext/opcache/Optimizer/dce.c, line 590. Assertion failed: (op_array->opcodes[b->start].opcode == 70 || op_array->opcodes[b->start].opcode == 127), function zend_ssa_remove_nops, file /Users/chrisgraham/dev/php-7.2.0/ext/opcache/Optimizer/dfa_pass.c, line 165. I can't narrow this down to a test case, but I may be able to help you reproduce it. Download getid3, and do a mass lint operation... find . -name "*.php" -exec php -l {} \; Hopefully you'll reproduce and see assertions scattered in it. Linting the individual files scanned before or after the assertion doesn't seem to cause it, so I guess it is either concurrency related, intermittent, or has some kind of delay effect (but really I don't know!). ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=75688&edit=1

« previous php.bugs (#213164) next »