Skip to content

max_allowed_packet=16777216 causes test failure on ext/mysqli/tests/mysqli_real_connect_compression_error.phpt #10063

Open
@grooverdan

Description

@grooverdan

Description

From #6136 / #6144

@nikic, I totally agree with "the protocol is pretty ridiculous".

  • smaller than 16M skips as expected
  • max_allowed_packet=16777216 +1024; (the smallest increment is 1k) passes
  • max_allowed_packet=16777216 generates the test output difference.

16777216 happens to be the MariaDB default: https://mariadb.com/kb/en/server-system-variables/#max_allowed_packet

The following code:

$ sapi/cli/php -d mysqli.allow_local_infile=On run-tests.php -P -q           -j$(/usr/bin/nproc)           -g FAIL,XFAIL,BORK,WARN,LEAK,XLEAK,SKIP           --offline           --show-diff           --show-slow 1000           --set-timeout 120 ext/mysqli/tests/mysqli_real_connect_compression_error.phpt

Resulted in this output:

=====================================================================
PHP         : /home/dan/repos/PHP-8.0/sapi/cli/php 
PHP_SAPI    : cli
PHP_VERSION : 8.1.14-dev
ZEND_VERSION: 4.1.14-dev
PHP_OS      : Linux - Linux localhost.localdomain 6.1.0-0.rc7.51.fc38.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Nov 28 15:47:37 UTC 2022 x86_64
INI actual  : /home/dan/repos/PHP-8.0
More .INIs  :  
---------------------------------------------------------------------
PHP         : /home/dan/repos/PHP-8.0/sapi/cgi/php-cgi 
PHP_SAPI    : cgi-fcgi
PHP_VERSION : 8.1.14-dev
ZEND_VERSION: 4.1.14-dev
PHP_OS      : Linux - Linux localhost.localdomain 6.1.0-0.rc7.51.fc38.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Nov 28 15:47:37 UTC 2022 x86_64
INI actual  : /home/dan/repos/PHP-8.0
More .INIs  : 
--------------------------------------------------------------------- 
---------------------------------------------------------------------
PHP         : /home/dan/repos/PHP-8.0/sapi/phpdbg/phpdbg 
PHP_SAPI    : phpdbg
PHP_VERSION : 8.1.14-dev
ZEND_VERSION: 4.1.14-dev
PHP_OS      : Linux - Linux localhost.localdomain 6.1.0-0.rc7.51.fc38.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Nov 28 15:47:37 UTC 2022 x86_64
INI actual  : /home/dan/repos/PHP-8.0
More .INIs  : 
---------------------------------------------------------------------
CWD         : /home/dan/repos/PHP-8.0
Extra dirs  : 
VALGRIND    : Not used
=====================================================================
Running selected tests.

========DIFF========
001+ array(1) {
002+   [0]=>
003+   array(3) {
004+     ["errno"]=>
005+     int(1153)
006+     ["sqlstate"]=>
007+     string(5) "08S01"
008+     ["error"]=>
009+     string(51) "Got a packet bigger than 'max_allowed_packet' bytes"
010+   }
001- array(0) {
     }
012+ 
013+ Warning: Packets out of order. Expected 3 received 2. Packet size=64 in /home/dan/repos/PHP-8.0/ext/mysqli/tests/mysqli_real_connect_compression_error.php on line 27
003- array(0) {
004- }
014+ array(1) {
015+   [0]=>
016+   array(3) {
017+     ["errno"]=>
018+     int(2006)
019+     ["sqlstate"]=>
020+     string(5) "HY000"
021+     ["error"]=>
022+     string(26) "MySQL server has gone away"
023+   }
024+ }
========DONE========
FAIL Bug #80107 mysqli_query() fails for ~16 MB long query when compression is enabled [ext/mysqli/tests/mysqli_real_connect_compression_error.phpt] 

Tested against MariaDB-10.3.38(in dev), and MySQL 5.7.40.

Blocks #10062.

But I expected this output instead:

test pass.

PHP Version

PHP-8.1-2f6b9e6c639c37405e45094bd9c8f2f3b3f377d3

Operating System

Fedora 36

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions