Too Many Forms Open in Dynamics AX 2012
In addition to RAM and CPU needs, Windows applications typically consume two types of limited system resources, USER and GDI objects. Windows limits the number of each object type that a process can own to 10,000. If that limit is reached, attempts to create new objects will fail and your application will likely crash.
To prevent Dynamics Ax 2012 from crashing when opening a form it checks the current number of objects it owns against the number of objects it is allowed to own. If it determines that the current usage is low enough it proceeds with opening the form, but if the number of available handles is too low the operation is canceled and the user is presented with this dialog.
What happens though if you see this dialog and you have no open forms? You could restart the application before proceeding, but where did those resources go? The answer lies in the address bar’s back button. The back button keeps track of the last 20 opened forms and allows you to navigate back to them either by clicking the back button or by choosing an entry from the drop down. The problem is that in order to navigate to a previous form, the Args object that was used to open that form must be preserved, and the caller value typically references the calling form. This means that the calling form is kept open by the navigation history even though it is no longer visible.
In CU9, the size of this history was reduced to 5 to help mitigate the issue. If you are on a prior version you can manually clear the history by choosing the bottom entry from the drop down and then navigating to an area or list page via the navigation pane. This will clear the history list, releasing those resources.