Help… I Crashed My Site!

If you experiment as much as I do with Acumatica code that you know nothing about, this is certain to happen to you sooner or later. In my case, today I installed Google Cloud Translation to experiment, and it upgraded Newtonsoft.Json as well as a number of other unplanned changes. Assuming the cause of the site crash is something similar, the screen will look something like this:

Getting back to normal is not “easy” on the code side, but getting the site to work again can be pretty straight-forward in many cases. So don’t panic, just take a breath and focus.

Step 1: Delete, carefully

Something has been applied to the site that doesn’t jive with what the Acumatica code needs. We need to delete everything in the site’s bin folder. If you added NuGet packages that caused this, which is my most common cause, then you might want to go BACK UP THE FILES and then delete the contents of your packages folder in your project. Hopefully, you have been using Git to make it easy to restore your project from a safe point. If you have other projects installed, including ISV solutions, you will need to identify those additional .dll files to leave behind or copy back over from your backup so that those customizations still work.

Step 2: Upgrade the website

Upgrade, you say? Why, yes. From the version you are on to the SAME VERSION. It looks like Upgrade in the menu, but it simply copies over the original files for that version of Acumatica to replace any delete or corrupted files. The reason we deleted first is so that any extra files that shouldn’t be there are gone. If a .DLL file is in the bin folder, it will try to load into memory, so we want those files “outta there”.

Like the picture below, open the Acumatica ERP Configuration Wizard, and perform Application Maintenance. Locate your instance and make sure the version of the instance matches the version of the configuration wizard you are using. Click on Upgrade under the grid and select Upgrade Only Website.

Once this step completes, the website should come back up. Proceed with caution. If you made it to this point and don’t have a good snapshot of your tenants, this might be a good time to get them just in case you find yourself in need of wiping the slate clean to start over.

Step 3: Fix the code

Now that the site is back up and running, check the customization project extension library for anything that needs to be undone. That would be whatever you happened to do that caused the crash in the first place. If you are using a Git repository, that should be pretty easy. If not… let’s just say that I’ve been there and feel your pain.

This approach has worked for me on multiple occasions. However, that does not mean it will work for everyone every time. Each time, I get a little more comfortable with recovery. Don’t miss the lesson in the activity to remember about being really careful backups and to “play around” in a sandbox where everything can be deleted and you can easily start over.

Happy Coding!

Leave a Reply