Open Dental Crashing after Database Selection - OpenGL Related

For complex topics that regular users would not be interested in. For power users and database administrators.
Post Reply
ajhalls
Posts: 36
Joined: Fri Jan 10, 2014 1:41 pm
Location: Utah
Contact:

Open Dental Crashing after Database Selection - OpenGL Related

Post by ajhalls » Thu Dec 29, 2022 9:30 am

I had a customer that couldn't open Open Dental on their server and after several hours troubleshooting with tech support, it was blamed on my software, ReminderDental. The reason was because there was a failed MySQL query in the system event logs with our software's name on it. Anyway, it worked on all the other computers in the office, just not the server, so probably not database related, but we weren't getting much extra info about why it was crashing, so I went to work.

After selecting the database, the application would crash, offer to debug, but still there wasn't any good info. This was all I had to go on:
Unhandled exception at 0x776C7073 (ntdll.dll) in OpenDental.exe: 0xC0000374: A heap has been corrupted (parameters: 0x77703960).
[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]

I ended up installing Visual Studio on the server, downloading and configuring the build environment and stepping through the application line by line till it failed. Sounds worse that it was, took maybe 10-15 minutes after the initial Visual Studio install.

Anyway, what I found was that it failed at this line:

Code: Select all

ControlChart.cs 4650:
toothChartWrapper.DrawMode=ComputerPrefs.LocalComputer.GraphicsSimple;
The current value of GraphicSimple was OpenGL. Hardware acceleration was turned off. I enabled it, installed the new Nvidia GTX 1080 drivers and after rebooting, it worked just fine.

For what it is worth, I assume it had something to do with a recent .NET security update, or other Windows update, and so I had originally started uninstalling the updates that had been installed at the time it stopped working. Some updates weren't able to be uninstalled, so I had to go through debugging it through source code.

From what I understand, they had worked with tech support for around 2-3 hours, but once the development environment was setup, it wasn't too hard to figure out what was going on. Might be worth creating a small console application that automates setting up the development environment, or think about a portable dev environment.
Dr. Alan Halls DMD
alan@reminderdental.com
ReminderDental.com - A new way to save

Post Reply