01-12-2012 05:36 AM
One of my customers recently upgraded to ACT! 2012 Premium with SP1, and when they use the Documents tab in their contact records, they're seeing the number of GDI objects in use swell up (and never decrease) until ACT! eventually gives error messages and becomes unstable. The customer experiences the issue in their production environment where it's particularly bad because they have many attached Documents for some contacts, but we're able to reproduce the issue straight out of the box on a fresh install on a fresh system with a local database.
Is anyone else seeing this, and are there any suggested workarounds? Thanks for any help you can offer!
Some reproduction details below:
"When using the documents tab in Sage ACT! Premium 2012 Version 126.96.36.199 we get the error “Screen-compatible bitmap cannot be created. The screen bitmap format cannot be determined.” followed by “Insufficient memory to continue execution of the program.” This causes ACT! to lock up and we have to restart to get things going again. We have experienced the problem on machines running Windows XP, Windows 7, and Windows Server 2008 R2. We are NOT using terminal services. It is causing 1 to 10 crashes per day one EACH of our systems depending on level of ACT! document tab use.
Here is how I was able to recognize and duplicate the problem on a Windows XP machine. The problem seems to be caused by ACT! opening too many GDI Objects.
1. Open Task Manager so the number of GDI Objects can be monitored
Hit [Ctrl-Alt-Del] to start Windows Task Manager
Choose processes Tab.
Click View -> Select Columns . . . -> Check GDI Objects
Monitor the number of GDI Objects for “ActSage.exe” while continuing.
2. Open and log into ACT! 2012.
3. Select the “Documents” tab.
4. Link a minimum of five documents or shortcuts (more will make the problem happen much faster).
5. Press F5 to refresh the record multiple times.
6. Each time you press F5 the number of GDI Objects will increase (more linked documents increases GDI Objects much faster).
Note: Each time F5 is pressed on “Documents” tab the GDI Objects increase by ~30 with 5 documents on tab, ~500 with 100 documents on tab, and ~2500 with 500 documents on tab.
7. Once the number of GDI Objects exceeds 10,000, ACT! will crash for most systems.
Other things I tried to troubleshoot the problem:
- Tried the same action with the same result on multiple machines running Windows XP, Windows 7, and Windows Server 2008 R2
- Created a new database with the same results, run on my local C: drive (not shared) with only one contact record.
- Modified the registry to allow 30,000 GDI Objects and the system simply crashes at 30,000 GDI objects instead of 10,000 GDI Objects.
- Tried the same action with the “History” tab selected and GDI Objects stay stable.
- Scrolling through documents, adding documents, and removing documents on the “Documents” tab also causes problem but F5 is an easier way to duplicate.
- Changing to a different record does NOT reduce GDI Objects.
- Restarting ACT! resets GDI Objects down to below 2,000."
01-14-2012 02:15 PM
I have commented and asked about this a number of times with no fix since ACT 2009 from Sage so I would not hold your breath waiting for a response.
The only method I found was to highlight and drag the document to the documents TAB seemed to all further documents but eventually the record stops. I have never received a valid workaround from Sage on this so good luck.
01-16-2012 02:13 PM
Let me add my name to the pile. I can't drag more than five documents to various client documents tab without getting the same "Insufficient memory ..." error. I'm using the same 188.8.131.52 version. I hope someone can figure this out.
01-16-2012 04:31 PM
I just hung up with tech support and learned:
1) My database is too large. When I right-click on the "... database files" folder properties, I get 57,610 files, 4.7GB. Tech said that 2008 SQL Express doesn't like databases > 4GB. The full SQL can handle bigger but I would need a license.
2) Don't drag/drop multiple files to Documents tab. He suggested adding one file at a time, which obviously will take much more time than I want. ACT! needs to refresh so the GDI Objects value doesn't spike higher. He said eventually GDI will reduce if I stop adding files and do something else.
3) Too many attachments will spike GDI > 10,000. I have one client with many attached documents. As soon as I open the tab, GDI goes vertical and I'm locked up. Somehow I must delete some attachments before the record is usable again.
Sounds like my only option is to create another database, export active records, then archive this file.
01-16-2012 06:02 PM
The SQL 2008 R2 express database size limit is 10 gigs
So your database size is fine, you dont need to upgrade to SQL standard.
01-16-2012 08:24 PM - edited 01-16-2012 08:25 PM
Thanks Kurt, I did confirm 10 GB on Microsoft's website here:
To solve my locked up client, I increased the GDI limit to 65,000 with regedit:
When I clicked on Documents tab, GDI shot up to 11,500, but ACT! still worked I deleted approx. 40 MS Outlook style emails that were stored as attachments. Now when I open the Documents tab, GDI increases to 3300.
Should I leave GDI at 65k, or drop it back to 10k? I don't know if this helps the original post by jlaux42, but I'm at least operational on single user database now.
01-16-2012 08:44 PM
Glad you found the work around, if the system is stable, I would leave it the way it is.
I am pretty sure your not going to hurt anything by having it 65k, I think this is the highest you can set it to
04-01-2012 05:45 PM
The OP is spot on.
My client uses ACT extensively and is running face-first into this GDI issue. Some of his records have over a hundred documents, so when he clicks the Documents tab, ACT hangs then pukes up an error. I tweaked the registry to allow 60k GDI objects (why not? 60k is no more absurd than 10k when no other process rarely exceeds 300) and that helped ACT not crash as soon. But after it racked up about 25k objects, it still crashed and puked up the familiar error message.
This is inexcusable. How can a simple table grid chew through so many handles? Perhaps it's not ACT's code, but a display library that ACT uses. Whatever it is, Sage must FIX IT and NOW. I've been reading complaints of this back to ACT 2009. My client is on Act 2012 with all the patches.
So, in addition to the registry tweak to allow more GDI objects, I will also warn my client to go easy on the Documents -- keep it under 50 or so per record The records with a couple of hundred documents are the ones creating the probem. That is beyond pathetic. These are the limitations one would expect in a Win 3.1 program! It's mightly difficult explaining to my client, an insurance agent with well over 1,000 clients, why he has to be careful with how many documents he associates with a record -- especially when the limits are so absurdly low. 30,000 documents? Maybe. 200? Inexcusable.
Sage, please FIX THIS NOW!
11-14-2012 05:00 PM
Thanks All. The GDI registry fix helped me get Act to be stable enough to at least go in and delete documents.
Act, please fix this.