|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #78682 wrong executed if-else
Submitted: 2019-10-17 22:08 UTC Modified: 2019-12-24 10:38 UTC
From: bugreports at gmail dot com Assigned: cmb (profile)
Status: Closed Package: opcache
PHP Version: master-Git-2019-10-17 (Git) OS: Linux
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
Block user comment
Status: Assign to:
Bug Type:
From: bugreports at gmail dot com
New email:
PHP Version: OS:


 [2019-10-17 22:08 UTC] bugreports at gmail dot com
it's impossiblöe that $ml is undefined in that if-else statement

opcache.jit_buffer_size          = 50000000 
opcache.jit                      = 1235

Warning: Undefined variable: ml in on line 581

      $arr[$row['Field']] = $x_type;
    case 1:
       $rw = mysqli_fetch_row($this->parent->query("select max(length(`{$row['Field']}`)) from `$table`", 1));
       $ml = (int)$rw[0];
       $ml = 0;
      $arr[$row['Field']] = ['type'=>$x_type, 'null'=>$null, 'length'=>$length, 'maxlength'=>$ml]; /** this is line 581 */


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2019-10-17 22:43 UTC] bugreports at gmail dot com
it is for sure the jit

$null is also undefined in the same line no matter if it write it with a swicth or if-else while it's impossible that $null is later in this loop is undefined

comment out that two lines from php.ini and the code works as before

#opcache.jit_buffer_size          = 50000000
#opcache.jit                      = 1235

  foreach($this->parent->query_fetch_all("describe `$table`") as $row)
   $null = 0;
   if(strtolower($row['Null']) === 'yes')
    $null = 1;
 [2019-12-24 09:21 UTC]
-Status: Open +Status: Feedback
 [2019-12-24 09:21 UTC]
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.

 [2019-12-24 09:51 UTC] bugreports at gmail dot com
seems to be fixed in the current PHP 8 HEAD and for i worked around by refcator my database layer to use mysqli in object style

BTW: benchmarks with 100& identical environment thrown against 7.2/7.3/7.4/8.0-jit HEAD

7.2: 3119,30
7.3: 3250,43 - +131,13
7.4: 3294,71 -  +44,28 - versus 7.2: +175,41
8.0: 3347,46 -  +52,75 - versus 7.2: +228,16
 [2019-12-24 10:38 UTC]
-Status: Feedback +Status: Closed -Assigned To: +Assigned To: cmb
 [2019-12-24 10:38 UTC]
> seems to be fixed in the current PHP 8 HEAD

Then this ticket can be closed.  Thanks.
PHP Copyright © 2001-2022 The PHP Group
All rights reserved.
Last updated: Wed Aug 10 05:05:46 2022 UTC