Bug #80374 [Com]: Mysqli warning Packets out of order. Expected 1 received 0

From: Date: Mon, 09 Aug 2021 13:24:25 +0000
Subject: Bug #80374 [Com]: Mysqli warning Packets out of order. Expected 1 received 0
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-235710@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=80374&edit=1 ID: 80374 Comment by: w2kzx80 at gmail dot com Reported by: w2kzx80 at gmail dot com Summary: Mysqli warning Packets out of order. Expected 1 received 0 Status: Feedback Type: Bug Package: MySQLi related Operating System: CentOs PHP Version: 7.4.12 Assigned To: cmb Block user comment: N Private report: N New Comment: How can i know if it is bug of MariaDB or php? I didnt develop nor php nor mysql - i just reported which is issue - i guess its something with bytes in compression algorythm between php and mariadb but how can i know if it is php bug or mariadb bug? Most looks like php because i used console mysql utility with same request and didnt receive any error but I dont know how all this works - i think developers of php language must know isnt it?.. Previous Comments: ------------------------------------------------------------------------ [2021-08-09 11:02:20] cmb@php.net > But i cant wait till it will be fixed in mysql server so... So is this a bug in MariaDB? Is there a related bug report? ------------------------------------------------------------------------ [2021-07-19 13:47:26] w2kzx80 at gmail dot com Thats my "solution" in php - but OF COURSE - it is bad solution. But i cant wait till it will be fixed in mysql server so... maybe it will be useful for somebody $res = $db->query($query); if (!$res) $res=$db->query(preg_replace('/^([ ]*[^ ]+) (.+)$/uis','$1 $2',$query)); Thats it... It adds one additional space between first word of request and next part Like "SELECT * FROM table" -> "SELECT * FROM table" Unfortunately i cant detect some logical indications that some query will not be successful. Only this method with retry... ------------------------------------------------------------------------ [2021-07-19 07:30:32] info at 4ws-netdesign dot de We discover the same problem: Ubuntu 18.04 - PHP 7.4.3 FPM/FastCGI MySQL: 8.0.25-0ubuntu0.20.04.1 - (Ubuntu) Yes it's reproducible: if you have a query producing this error you can repeat as often you want: the warning appears. We have simple queries produding this error. By adding useless whitespaces in the query you can fix this query - but the problem still exists at other places. Increasing max_allowed_packet to 2G in my.cnf fixes the problem partially but it still occurs on some places. Scripts worked fine with PHP 7.2 before. And it's really simple queries like SELECT * FROM tablename producing this error (small tables => 0-10 entries) ------------------------------------------------------------------------ [2020-12-13 08:44:39] w2kzx80 at gmail dot com guys - I wrote You enough. Didnt You read? - Platform Linux - MySQL = MariaDB [(none)]> STATUS; -------------- mysql Ver 15.1 Distrib 5.5.65-MariaDB, for Linux (x86_64) using readline 5.1 SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server: MariaDB Server version: 5.5.65-MariaDB MariaDB Server Protocol version: 10 Server characterset: latin1 Db characterset: latin1 Client characterset: utf8 Conn. characterset: utf8 TCP port: 3306 - i use mysqli library. Phpinfo shows mysqli Client API library version mysqlnd 5.0.12-dev - 20150407 - $Id: b5c5906d452ec590732a93b051f3827e02749b83 $ Compression supported Command buffer size 4096 Read buffer size 32768 Read timeout 31536000 Collecting statistics Yes Collecting memory statistics No Tracing n/a Loaded plugins mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_sha256_password API Extensions mysqli,pdo_mysql - Which connection method was used = TCP/IP - Your table schema. (SHOW CREATE TABLE tbl_name) including charset used for connection and table storage. CREATE TABLE labels_auto ( id int(10) unsigned NOT NULL AUTO_INCREMENT, label_id int(11) DEFAULT NULL, atype char(1) DEFAULT NULL, did varchar(20) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8" - The character encoding of your file. Are you using UTF-8? Yes - Are you using utf8mb4 charset? Did you set the charset via set_charset() method? yes i used utf8 in set_charset - HEX dump of the query string producing the error. (There could be a hidden character there) I dont understand what You want from me... this query returns HEX("SELECT * FROM voipe_481.labels_auto") 53454C454354202A2046524F4D2060766F6970655F343831602E606C6162656C735F6175746F60 - HEX dump of the sample data causing the error. I dont understand.. query doesnt execute - something happen while query is compressed and sent to server and server doesnt recognize it - Self contained reproducible example. http://sscce.org/ should help you make such an example. Sorry - i dont have time for it I get You all the info ------------------------------------------------------------------------ [2020-12-13 04:22:08] php-bugs at lists dot php dot net No feedback was provided. The bug is being suspended because we assume that you are no longer experiencing the problem. If this is not the case and you are able to provide the information that was requested earlier, please do so and change the status of the bug back to "Re-Opened". Thank you. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=80374 -- Edit this bug report at https://bugs.php.net/bug.php?id=80374&edit=1

« previous php.bugs (#235710) next »