[php-src] Issue #10063: max_allowed_packet=16777216 causes test failure on ext/mysqli/tests/mysqli_real_connect_compression_error.phpt
| From: | grooverdan | Date: | Wed, 07 Dec 2022 03:30:38 +0000 |
| Subject: | [php-src] Issue #10063: max_allowed_packet=16777216 causes test failure on ext/mysqli/tests/mysqli_real_connect_compression_error.phpt | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-243062@lists.php.net to get a copy of this message | ||
Issue: https://github.com/php/php-src/issues/10063
Author: 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