Strangest Problem of the Year
Posted: Mon 07 Apr 2008 15:25
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
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