MySQL Forums
Forum List  »  Performance

Service Keeps Crashing - Got An Error Reading Communication Packets
Posted by: Connor Brannigan
Date: September 23, 2010 06:02AM

HI,

I am running MySQL 4.1.25 on a Windows Server 2003 SP2 64-Bit machine. The machine is hosting a large(ish) database which is constantly being manipulated by software at remote locations.

What I have run into recently is that the MySQL service keeps stopping - it can go for days and be absolutly fine and then for several days in a row I will get various warning messages and then find the service has stopped.

On screen warning messages often include the following:

'Key Violation.
[MySQ:\[ODBC 3.51 Driver][mysqld-4.1.25-pro-gpl-nt-log]Out of memory (Needed 524254 bytes)'

or

'MySQL Error Code: (1135)
Can't create a new thread (errno12); if you are out of available memory, you can consult the manual for a possible OS-dependent bug'

Its odd as, checking the MySQL Error log, there is nothing to show why the service ran into an error, however, the Windows Event Viewer does show this:

'Aborted connection 81 to db: 'xxxxxxx' user: 'xxxxxxx' host: `xxx.xxx.xxx.xxx' (Got an error reading communication packets)'

And also, since I increased what the MySQL error logs log, I saw this this morning:

'100922 22:23:00 [Warning] Aborted connection 81 to db: 'xxxxxxx' user: 'xxxxxxx' host: `xxx.xxx.xxx.xxx' (Got an error reading communication packets)'

I can't find any reference to this in the forums - we'll, any that I did find there was no solution on.

Would upgrading my MySQL to 5.1.40 (64-Bit) help resolve the memory issues?
Could the 3.51.19 ODBC driver be an issue? (I've found that the 3.51.27 driver does not agree with our programs)
Could the fact that each application uses the same connection strings - should each workstation have its own connection string?

Any and all help that anyone out there can give would be greatly appreciated.

Thanks!

PS - This is the servers my.ini file:

# Example mysql config file.
# Copy this file to c:my.cnf to set global options
#
# One can use all long options that the program supports.
# Run the program with --help to get a list of available options

# This will be passed to all mysql clients
[client]
#password=my_password
port=3306
#socket=MySQL

[mysql]
default-character-set=latin1
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
prompt=u@h:d>

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# The MySQL server
[mysqld]
port=3306
#socket=MySQL
skip-locking
key_buffer_size=256M
max_allowed_packet=4M
table_cache=64
sort_buffer_size=8M
net_buffer_length=32K
myisam_sort_buffer_size=32M
myisam_recover=FORCE,BACKUP
query_cache_limit=128M
query_cache_size=128M
server-id= 1
default-character-set=latin1
default-storage-engine=myisam

# Uncomment the following if you want to log updates
log-bin=

# Uncomment the following rows if you move the MySQL distribution to another
# location
basedir = E:/MySQL/MySQL Server 4.1.25
datadir = E:\MySQL\MySQL Server 4.1.25\data


# Uncomment the following if you are NOT using BDB tables
skip-bdb
skip-innodb

# Uncomment the following if you are using BDB tables
#set-variable = bdb_cache_size=4M
#set-variable = bdb_max_lock=10000

# Uncomment the following if you are using Innobase tables
#innodb_data_file_path = ibdata1:400M
#innodb_data_home_dir = c:ibdata
#innodb_log_group_home_dir = c:iblogs
#innodb_log_arch_dir = c:iblogs
#set-variable = innodb_mirrored_log_groups=1
#set-variable = innodb_log_files_in_group=3
#set-variable = innodb_log_file_size=5M
#set-variable = innodb_log_buffer_size=8M
#innodb_flush_log_at_trx_commit=1
#innodb_log_archive=0
#set-variable = innodb_buffer_pool_size=16M
#set-variable = innodb_additional_mem_pool_size=2M
#set-variable = innodb_file_io_threads=4
#set-variable = innodb_lock_wait_timeout=50

#The number of seconds the server waits for activity on a connection before closing it
wait_timeout=604800
#The number of simultaneous clients allowed.
max_connections=500
#Use old password encryption method (needed for 4.0 and older clients).
old-passwords
#Persistent buffer for query parsing and execution
query_prealloc_size=12M

#Don't resolve hostnames. All hostnames are IP's or 'localhost'.
skip-name-resolve

#Log some not critical warnings to the log file.
log-warnings


[mysqldump]
quick
set-variable = max_allowed_packet=16M

[isamchk]
set-variable = key_buffer=20M
set-variable = sort_buffer=20M
set-variable = read_buffer=2M
set-variable = write_buffer=2M

[myisamchk]
set-variable = key_buffer=20M
set-variable = sort_buffer=20M
set-variable = read_buffer=2M
set-variable = write_buffer=2M

[mysqlhotcopy]
interactive-timeout



Edited 2 time(s). Last edit at 09/23/2010 07:25AM by Connor Brannigan.

Options: ReplyQuote


Subject
Views
Written By
Posted
Service Keeps Crashing - Got An Error Reading Communication Packets
5462
September 23, 2010 06:02AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.