max_allowed_packet=16777216 causes test failure on ext/mysqli/tests/mysqli_real_connect_compression_error.phpt
Personne n'a encore pris cette issue.
- Langage dominant
- C
- Étoiles
- 40.4k
- Forks
- 8.2k
- Merge moyen
- 2 j 13 h
- PR mergées (30 j)
- 96
Description
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
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par exécuter la commande run-tests.php fournie pour ext/mysqli/tests/mysqli_real_connect_compression_error.phpt avec max_allowed_packet=16777216 sur MariaDB ou MySQL. Consultez la sortie du test avec Bug #80107 et les issues associées #6136, #6144 et #10062. C'est terminé lorsque le test d'erreur de compression produit le résultat attendu "test pass" sans la différence de sortie signalée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- mysql, php
- Domaine
- databases, testing-qa
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100