Page 1 of 1

Strangest Problem of the Year

Posted: Mon 07 Apr 2008 15:25
by norfintork
Strangest Problem of the Year
Here’s a really strange one. An application that has been running for nearly three years has just died after some additions to the code and MySQL tables. The catch is that it only dies on some clients. In fact the only common thread so far is that it only dies on AMD-based clients. The further twist is that not ALL of the AMD boxes die. On two identical boxes, one runs and one aborts at application load. It runs fine on a number of Dell desktops and Toshiba notebooks (all Intel-based). Here are the client stats for the identical boxes:

Both systems have the following:
• Manufacturer: Shuttle
• Model: SK22V10
• CPU: 2.40 GHz AMD Athlon 64X2
• RAM: 2GB
• BIOS: Phoenix, LTD 6.00 PG 07/11/2006
• XP SP2

All of the drivers are the same on both boxes.
All current patches are applied on both boxes.
They are the same damn color! (black)


Development and Operating Environment:
• Delphi 7
• MyDac 3.55.0.26
• MySQL 5.0.45
• Various VCL’s
• Lightly loaded Win 2003 server
• Lightly loaded 1 GB/s network (no chance of latency causing this)
• MyConnection.timeout=15


I never see the crash on my development box. I suspected that it was database related so I decided to get a debugger (EurekaLog) to try and identify the failing code line. It dies even before EurekaLog is able to trap it – I’m sure that’s significant for some reason. At first I thought EurekaLog was not working as advertised, so I made a quick little program that failed after a button click and that trapped just fine on all my test boxes.

Next I created an ultra simple database app using the same two tables that fail in the production application. That worked just fine on ALL of the clients. Arrgh!

I did some further testing with the production app on another AMD box and finally got some messages at fail time (but of course not EVERY time):

Exception EMyerror in module Board.exe 000DA514
Host DC113.SJH is blocked because of many connection errors;
Unblock with ‘mysqladmin flush-hosts’.


And another dialog box with:

Runtime error 216 004038B2

What am I missing? The previously compiled version of the production application runs fine on ALL boxes, it just can’t get to the new tables.

I’ve already trimmed a month off my life with this problem - HELP!

Scott

Re: Strangest Problem of the Year

Posted: Mon 07 Apr 2008 18:45
by eduardosic

Posted: Tue 08 Apr 2008 13:01
by norfintork
Unfortunately, it does not appear to be related Max_Error_Connections. After changing the value and restarting the server, the same behavior is present. The problem is still only noted on specific stations as noted above.

Scott

Posted: Wed 09 Apr 2008 13:11
by Dimon
Try to determine what changes result in this problem, and why the application creates many error connections. Maybe you have specified incorrect connection parameters to MySQL server or the application executes error query many times.
Check if connection breaks for some reason with the help of any utility (e.g. Tcpview).

Please to try create a complete small sample to demonstrate the problem and send it to dmitryg*crlab*com, with an included script to create and fill table.