Bug #74320 [Opn->Fbk]: mysqli_fetch_array(): Malformed server packet & Error while reading a row...
| From: | cmb@php.net | Date: | Mon, 09 Aug 2021 10:38:52 +0000 |
| Subject: | Bug #74320 [Opn->Fbk]: mysqli_fetch_array(): Malformed server packet & Error while reading a row... | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-235696@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=74320&edit=1
ID: 74320
Updated by: cmb@php.net
Reported by: kelvin dot middleton at gmail dot com
Summary: mysqli_fetch_array(): Malformed server packet &
Error while reading a row...
-Status: Open
+Status: Feedback
Type: Bug
Package: MySQLi related
Operating System: Ubuntu 16.04
PHP Version: 7.0.17
-Assigned To:
+Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
Does this still happen with any of the actively supported PHP
versions[1]? If so, are you using mysqlnd or libmysqli-client?
[1] <https://www.php.net/supported-versions.php>
Previous Comments:
------------------------------------------------------------------------
[2017-03-28 12:25:38] kelvin dot middleton at gmail dot com
So I think I am likely on the right track with the missing server_uuid value. I span up test slave
container and started replicating to it and disabled my production slave. The error didn't
present here either via the test script or in phpMyAdmin. Looking here
(https://mariadb.com/kb/en/mariadb/system-variable-differences-between-mariadb-100-and-mysql-56/) it
would seem MariaDB doesn't provide a server_uuid function.
Should the mysqli extension be expected to handle is difference?
------------------------------------------------------------------------
[2017-03-27 22:20:03] kelvin dot middleton at gmail dot com
Shot in the dark from my perspective but when I access mysql via the cli and ask it to show slave
hosts; it returns only 3 out of the 4 shown data points i.e. its missing a value for the column
slave uuid. Could it be this missing data that the mysqli error is referring to?
------------------------------------------------------------------------
[2017-03-27 22:15:42] kelvin dot middleton at gmail dot com
I can't technically challenge but am happy to test as instructed to confirm. Further excerpt
below from my testing this evening...
user@xxx-server:~$ /usr/bin/php --version
PHP 7.0.17-0ubuntu0.16.04.1~ppa1 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.17-0ubuntu0.16.04.1~ppa1, Copyright (c) 1999-2017, by Zend Technologies
user@xxx-server:~$ /usr/bin/php php_test.php
PHP Warning: mysqli_fetch_array(): Malformed server packet. Field length pointing 0 bytes after end
of packet in /home/kelvin/php_test.php on line 16
PHP Warning: mysqli_fetch_array(): Error while reading a row in /home/kelvin/php_test.php on line
16
Array
(
[Server_id] => 2
[Host] => xxx
[Port] => 3306
[Master_id] => 1
)
------------------------------------------------------------------------
[2017-03-27 22:06:18] spam2 at rhsoft dot net
https://bugs.php.net/bug.php?id=74021 but this
should be fixed with 7.0.17 / 7.1.3 (and i was able to confirm the fix)
------------------------------------------------------------------------
[2017-03-27 21:57:53] kelvin dot middleton at gmail dot com
Description:
------------
Initially found a problem with phpMyAdmin not returning slave information in a master/slave
replication configuration. Issue raised their concluded the problem likely resided in PHP somewhere
(https://github.com/phpmyadmin/phpmyadmin/issues/13117).
Was using stock php package from ubuntu ppa (ver 7.0.15-0ubuntu0.16.04.4) so I raised a launchpad
bug (https://bugs.launchpad.net/ubuntu/+source/php7.0/+bug/1675117) which progressed to providing me
with a ppa to test php 7.0.17. Testing still has the same errors when using the test script.
Test script:
---------------
Script is included in my bug submission here https://bugs.launchpad.net/ubuntu/+source/php7.0/+bug/1675117
Actual result:
--------------
Two errors return, excerpt below...
kelvin@xxx-server:~$ php php_test.php
PHP Warning: mysqli_fetch_array(): Malformed server packet. Field length pointing 0 bytes after end
of packet in /home/kelvin/php_test.php on line 16
PHP Warning: mysqli_fetch_array(): Error while reading a row in /home/kelvin/php_test.php on line
16
Array
(
[Server_id] => 2
[Host] => xxx
[Port] => 3306
[Master_id] => 1
)
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=74320&edit=1