Bug #6712 | 4.1 Client drivers Segfault - or malformed packets | ||
---|---|---|---|
Submitted: | 19 Nov 2004 1:49 | Modified: | 29 Dec 2004 6:37 |
Reporter: | Jacques Amar | Email Updates: | |
Status: | No Feedback | Impact on me: | |
Category: | MySQL Server | Severity: | S1 (Critical) |
Version: | 4.1.7 | OS: | Linux (Linux) |
Assigned to: | CPU Architecture: | Any |
[19 Nov 2004 1:49]
Jacques Amar
[19 Nov 2004 21:33]
Hartmut Holzgraefe
Can you please add a little more information to this report? E.g. are you using FULLTEXT indexes in the tables you insert to?
[19 Nov 2004 21:41]
Jacques Amar
The tables did not have anything in particualr. The first one to go was: CREATE TABLE `site` ( `site_id` int(11) NOT NULL auto_increment, `name` varchar(255) default NULL, `image` varchar(255) default NULL, `status` enum('active','deleted','pending') NOT NULL default 'pending', `url` varchar(255) default NULL, `old_id` char(2) default NULL, `created` int(11) unsigned NOT NULL default '0', `feature` int(1) NOT NULL default '0', `category_id` int(11) default NULL, `height` int(11) default NULL, `width` int(11) default NULL, `phrase` text, `homepage` varchar(255) default NULL, `second` varchar(255) default NULL, `third` varchar(255) default NULL, `fourth` varchar(255) default NULL, `fifth` varchar(255) default NULL, `urlext` enum('com','net') NOT NULL default 'com', `phrase1` varchar(255) default NULL, `phrase2` varchar(255) default NULL, `phrase3` varchar(255) default NULL, `phrase4` varchar(255) default NULL, `joinpage` varchar(255) default NULL, `long_description` text, `phrase5` varchar(255) default NULL, `phrase6` varchar(255) default NULL, `hg` int(1) unsigned NOT NULL default '0', `site_type` enum('standard','exclusive') default 'standard', `access_type` char(1) default 'B', `access_id` tinyint(1) unsigned default NULL, `site_alias` varchar(64) default NULL, PRIMARY KEY (`site_id`), UNIQUE KEY `old_id` (`old_id`), KEY `category_id` (`category_id`) ) ; After an INSERT select * from site would segfault - where as select * from site limit 10000000; would work fine Other tables got packet errors. Tried with 4.0 client AND 4.1 clients. Major software interface uses perl. Tried the latest DBD::mysql and older versions. The problem seems to be at the server side. I simply reinstalled 4.0.22 and ALL problems went away, with all clients. This was a production system, so I couldn't afford to keep it alive to test more
[20 Nov 2004 14:47]
MySQL Verification Team
I have tried with empty table and it works for me just fine. Can you upload a table that crashes a connection to the 'Files' category of this bug record ?????
[25 Nov 2004 9:57]
Jose Miguel Pérez Ruiz
Please, I want to comment on this bug. I also had this packet corruption issues either with Linux or Windows clients. I have come to a solution, though I don't know if this is the real solution. ;-) Either way, I think this problem is related to the compressed protocol. When I excluded the CLIENT_COMPRESS flag on the "mysql_real_connect" call, the problem go away! I will explain my problem further: Seen on: MySQL server 4.1.4-gamma and 4.1.7-standard (LINUX, RedHat 9.0) Linux client: libmysqlclient_r.so.14 Windows clients: - libmySQL.DLL (249.856 KBytes as shipped with 4.0 server, I think). - libmySQL.DLL (1.069.056 KBytes as shipped with 4.1.7 server). As I'm using Windows and Linux clients and both showed this bug, I concluded this was related to the Database server, not the client libraries. This is what happened: I'm using InnoDB with extensive use of foreign keys. I'm linking the client libraries with my propietary C++ software. A) Malformed packets: Query: "SELECT * FROM my_table WHERE id=1" Result: With a fresh mySql server started, all was fine. After doing some INSERT statements, this query returned with error "Malformed packet". I have to say, a MySQL-Front end program returned the correct result. B) Corrupted column names in result: Query: "SELECT * FROM my_table" Result: Corrupted column names in "mysql_fetch_fields(__result);" call. This was extremelly weird since doing "SELECT id, name FROM..." returned the correct column names. I though this problem is related to the A) above, since this could be also a corruption in the packets, though on a different position. I hope this could be of any help.
[25 Nov 2004 10:23]
Jose Miguel Pérez Ruiz
Forget about my previous quote on the compressed client protocol: The problem persisted shortly after I posted the above message. The only way to get the clients working again (after a "malformed packet" error) is restarting the full server. I apologize for the "false positive", although the comments on the behaviour is still correct.
[14 Feb 2005 22:54]
Bugs System
No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".