COMMAND
MySQL
SYSTEMS AFFECTED
Systems running MySQL
PROBLEM
Jochen Wiedmann posted following. A simple test script that
connects/disconnects in an endless loop makes the MySQL server
freeze after approximately 1100 iterations. To repeat:
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <mysql/mysql.h>
int main(int argc, char* argv[]) {
MYSQL sock;
int i = 0;
while (1) {
if (++i % 100 == 0) {
printf("%d\n", i);
}
mysql_init(&sock);
if (!mysql_real_connect(&sock, NULL, NULL, NULL, NULL,
0, NULL, 0)) {
fprintf(stderr, "Cannot connect: %s\n",
mysql_error(&sock));
exit(10);
}
mysql_close(&sock);
}
}
This problem is present too at Oracle Sql*Net v1 in Dynix
platforms, but not in HPUX or SCO. At Dynix, the problem is OS
related (out of streams of type 64k). In this case, it turned out
to be yet another glibc bug and it will vanish immediately after
recompiled MySQL with glibc-2.0.7-19 or after.
SOLUTION
Yet another glibc bug. This will vanish immediately after
recompiling MySQL with glibc-2.0.7-19 or after.