Bug #74980 [Com]: Narrowing occurred during type inference

From: Date: Tue, 28 Nov 2017 09:28:40 +0000
Subject: Bug #74980 [Com]: Narrowing occurred during type inference
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-212765@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=74980&edit=1 ID: 74980 Comment by: matteoipri at gmail dot com Reported by: cschneid@php.net Summary: Narrowing occurred during type inference Status: Closed Type: Bug Package: opcache Operating System: openSUSE 42.2 (x86_64) PHP Version: 7.2.0beta1 Block user comment: N Private report: N New Comment: Hi all, Arch Linux and PHP 7.1.12-1 here running Nextcloud on the server. Since the update to 7.1.12 in the logs I find the following message: Narrowing occurred during type inference. Please file a bug report on bugs.php.net at /usr/share/nginx/nextcloud/lib/composer/composer/ClassLoader.php#444 I am not the only one to have this same error, see Nextcloud forum: https://help.nextcloud.com/t/php-error-narrowing-occurred-during-type-inference/24010 How can I help? Should I open a new bug? Previous Comments: ------------------------------------------------------------------------ [2017-07-26 04:08:48] laruence@php.net Automatic comment on behalf of laruence@gmail.com Revision: http://git.php.net/?p=php-src.git;a=commit;h=3df47c12f77a71f90778ec42e6892c828e702fb2 Log: Fixed bug #74980 (Narrowing occurred during type inference) ------------------------------------------------------------------------ [2017-07-24 15:31:53] cschneid@php.net I managed to produce a test file narrowing.php <?php class A { static function foo() { foreach ([] as $value) $arr["foo"]["bar"] = $value; foreach ($arr as $value) bar($value + []); } } with a php.ini like zend_extension = opcache.so opcache.enable_cli = 1 and then calling it with php -c php.ini narrowing.php results in Warning: Narrowing occurred during type inference. Please file a bug report on bugs.php.net in Unknown on line 0 ------------------------------------------------------------------------ [2017-07-24 13:30:46] nikic@php.net Are you able to determine on which file this is triggered (e.g. by just printing out the file name in the class loader and seeing after which the error occurs)? I'm assuming it's probably not the class loader itself? If you can find the file, can you send it to nikic@php.net? This is one of those cases where a single file should be able to reliably reproduce the problem without context. ------------------------------------------------------------------------ [2017-07-24 12:46:36] cschneid@php.net Description: ------------ Our codebase triggered "E_WARNING: Narrowing occurred during type inference. Please file a bug report on bugs.php.net" in our class loader which is installed using spl_autoload_register(). When trying to fetch the page a second time it reports "Fatal error: Cannot declare class xy, because the name is already in use in xy.class on line 3" Doing sudo apachectl graceful to clear the opcache and reloading bring the Narrowing warning again. I don't have a short reproduction script but I still reported the bug as the warning says so :-) ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=74980&edit=1

« previous php.bugs (#212765) next »