From:             ryan dot brothers at gmail dot com
Operating system: Linux
PHP version:      5.5.3
Package:          opcache
Bug Type:         Bug
Bug description:Exception not properly caught when opcache enabled

Description:
------------
When running the following script with opcache enabled, the exception is
not caught by the correct catch block.  The exception should be caught by
the 'caught by 1' block, but it is instead caught by the 'caught by 2'
block.  Disabling opcache causes the exception to be caught in the correct
block.

Run the script with:

php -n -d zend_extension=opcache.so -d opcache.enable_cli=1 script.php


Test script:
---------------
<?php
try
{
    switch (1)
    {
        case 0:
            try
            {

            }
            catch (Exception $e)
            {

            }

            break;

        case 1:
            try
            {
                throw new Exception('aaa');
            }
            catch (Exception $e)
            {
                echo 'caught by 1';
                exit;
            }

            break;
    }
}
catch (Exception $e)
{
    echo 'caught by 2';
    exit;
}


Expected result:
----------------
caught by 1

Actual result:
--------------
caught by 2

-- 
Edit bug report at https://bugs.php.net/bug.php?id=65665&edit=1
-- 
Try a snapshot (PHP 5.4):   
https://bugs.php.net/fix.php?id=65665&r=trysnapshot54
Try a snapshot (PHP 5.3):   
https://bugs.php.net/fix.php?id=65665&r=trysnapshot53
Try a snapshot (trunk):     
https://bugs.php.net/fix.php?id=65665&r=trysnapshottrunk
Fixed in SVN:               https://bugs.php.net/fix.php?id=65665&r=fixed
Fixed in release:           https://bugs.php.net/fix.php?id=65665&r=alreadyfixed
Need backtrace:             https://bugs.php.net/fix.php?id=65665&r=needtrace
Need Reproduce Script:      https://bugs.php.net/fix.php?id=65665&r=needscript
Try newer version:          https://bugs.php.net/fix.php?id=65665&r=oldversion
Not developer issue:        https://bugs.php.net/fix.php?id=65665&r=support
Expected behavior:          https://bugs.php.net/fix.php?id=65665&r=notwrong
Not enough info:            
https://bugs.php.net/fix.php?id=65665&r=notenoughinfo
Submitted twice:            
https://bugs.php.net/fix.php?id=65665&r=submittedtwice
register_globals:           https://bugs.php.net/fix.php?id=65665&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=65665&r=php4
Daylight Savings:           https://bugs.php.net/fix.php?id=65665&r=dst
IIS Stability:              https://bugs.php.net/fix.php?id=65665&r=isapi
Install GNU Sed:            https://bugs.php.net/fix.php?id=65665&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=65665&r=float
No Zend Extensions:         https://bugs.php.net/fix.php?id=65665&r=nozend
MySQL Configuration Error:  https://bugs.php.net/fix.php?id=65665&r=mysqlcfg

Reply via email to