Some Windows users are reporting that they are seeing a SmartHeap Library error at every computer startup. In every case, the error message inside there popup is either MEM_BAD_POINTER / MEM_BAD_POINTER. Whether the user clicks on Ok or Cancel, the end result is the same – The computer functions normally, but the error message returns at the next system startup.
What is SmartHeap Library?
Smartheap is an old infrastructure that was previously used as the primary memory management library when certain programs were compiled.
Nowadays, virtually no programs still rely on this memory management component, so most likely it found your way on your computer when you installed a legacy version for Corel Draw, Autocad, Adobe Acrobat, etc.
Now that you are more familiar with the underlying component that’s being responsible for this issue, here’s a list of scenarios that are known to cause the MEM_BAD_POINTER or MEM_BAD_POINTER error message inside a SmartHeap Library prompt:
- Corrupted installation of the legacy program – One of the most common causes that will cause this issue is an instance in which a legacy program that is using the SmartHeap library has become partially corrupted or has undergone some changes that corrupted some of its files. Several users facing the same issue have confirmed that they’ve managed to fix the issue by either repairing or uninstalling the problematic legacy application.
- Partially incompatible legacy app – Depending on the Windows version that you’re using and the version of the legacy app that’s causing these types of issues, you might be able to avoid the popup altogether by configuring the main program executable to run in Compatibility mode with a Windows version that fully supports it.
- Corrupted Registry Values – A remnant registry key can also be responsible for the pop-up that is calling for the SmartHeap Library. In most cases, this will occur because the infrastructure called by the startup registry key is no longer present. In this case, removing the remnant registry key manually or with a utility like CCleaner should fix the issue permanently.
- Recent System Change – An infrastructure Windows update or a new driver installation might also be responsible for this problem. In this case, you should consider using System Restore to revert your PC state back to a point in which the scenarios that are currently causing the problem were not present.
- Unidentified 3rd party conflict – This issue is linked with legacy applications of Adobe, Corel, and AutoCAD, but there are certainly other legacy programs that are using the SmartHeap Library infrastructure and might produce similar issues. In this case, you should clean boot your computer and investigate for the specific process or startup item that might be causing the issue.
Now that we’ve been through the list of potential culprits, here’s a rundown of the most effective methods that affected users have successfully used to prevent the apparition of the annoying startup pop-up:
Method 1: Repairing or Uninstall the Legacy Program (if applicable)
Keep in mind that in most documented cases, this issue is known to be caused by a corrupted installation of a legacy program that is actively using the SmartHeap Library memory management infrastructure. This issue is confirmed to occur on Windows 7, Windows 8.1, and Windows 10.
In most cases, this is reported to occur with legacy versions of Corel Draw and other Corel products, Adobe Acrobat Reader and Autocad. However, this is not a rule as you can also see the MEM_BAD_POINTER or MEM_BAD_POINTER error message due to a lesser-known legacy program.
If you find yourself in this particular scenario, you should start by trying to repair or uninstall the legacy program in order to prevent the pop-up from occurring.
Note: You probably have the right to upgrade to a newer version of the program, so there’s no reason to continue using legacy software that is no longer fully compatible with your Windows installation.
Follow the instructions below to attempt to repair or uninstall the legacy program that is producing the SmartHeap pop-ups at every system startup:
- Press Windows key + R to open up a Run dialog box. Inside the text box, type ‘appwiz.cpl‘ and press Enter to open up the Programs and Features menu.
- Once you’re inside the Programs and Features screen, scroll down through the list of installed programs and locate the legacy program that you suspect might be using the SmartHeap module.
- Right-click on the legacy program and see if you have the option to Repair from the context menu that just appeared. If you have it, click on Repair and follow the on-screen instructions to complete the repair process, then restart your computer and see if the issue is fixed at the next startup.
Note: If repairing the legacy application is out of the question, the only thing you can do is uninstall it. In this case, choose Uninstall from the context menu.
- Once you have enforced the change to the legacy program (repair or uninstall) reboot your computer and see if the error popup returns.
If you are still encountering the MEM_BAD_POINTER or MEM_BAD_POINTER error, move down to the next potential fix below.
Method 2: Running the Program in Compatibility Mode
Depending on the legacy program that you’re having issues with, you might be able to fix the problem by configuring the software to run in compatibility mode with a Windows version that fully supports it.
There are a lot of documented instances where affected users have managed to fix the problem after configuring a legacy version of AutoCAD to run in compatibility mode with Windows 7.
Important: This fix will only be effective in instances where the main executable of the legacy program is being called by a startup item at every system startup.
So whether you’re encountering this issue while having AutoCAD installed or a different program, follow the instructions below to configure the legacy program to run in compatibility mode:
- Right-click on the main executable of the legacy program that you suspect for being responsible for this startup error and choose Properties from the context menu.
- Once you’re inside the Properties screen of the legacy program, click on the Compatibility tab from the menu at the top.
- Next, check the box associated with Compatibility mode, then select Windows 7 or an even older Windows version if necessary before finally clicking Apply to save the changes.
- Restart your computer and see if their issue is fixed at the next computer startup.
In case you are still dealing with the MEM_BAD_POINTER or MEM_BAD_POINTER error, move down to the next potential fix below.
Method 3: Running a Registry Scan
If none of the methods above have allowed you to fix the issue, you should start considering the possibility that you might be dealing with a remnant registry key that is calling for the SmartHeap Library even though the infrastructure is no longer present.
If this scenario is applicable, the issue will only be fixed after you manage to identify the problematic Registry key and remove it from your computer. However, since the manual approach is not recommended since they are a lot of potential different scenarios that might spawn this error, you should use a 3rd party suite that is capable of automatically identify remnant registry keys and remove them from your computer.
In case you’re looking for step-by-step instructions, follow the instructions below to use CCleaner to clean your Registry of remnant entries that are no longer valid:
- Open your default browser and visit the official download page of Ccleaner. Once you’re inside the download page, the download of the latest version of CCleaner should start on its own – In case this doesn’t happen, click on the download hyperlink to start the download manually.
- Once the installer is successfully downloaded, double-click on it and hit Yes when prompted by the UAC (User Account Control) to grant admin access. Next, follow the on-screen prompts to complete the installation.
- When the installation is finally complete, open CCleaner and move over to the left-hand side of the screen and click on Registry.
- Inside the Registry screen, click on Scan for Issues, then wait for the operation to complete.
Note: This operation will ensure that every unused instance of your registry will be removed. This will not cause any damage to your system, as it will only deal with corrupted Registry values and paths that no longer point towards a viable location.
- Once the Registry scan is complete, you can also do a standard clean by clicking on Clean, but this is entirely optional.
- Restart your computer and see if this scan has managed to fix the MEM_BAD_POINTER or MEM_BAD_POINTER error.
If you’re still dealing with the same issue, move down to the next potential fix below.
Method 4: Using a System Restore Point
If you only started to deal with this error recently, chances are a recent OS change has contributed to the apparition of this error. Several affected users dealing with the same kind of issue have confirmed that they’ve managed to fix the issue by using System Restore to revert the computer state back to a state in which this issue was not occurring.
If you haven’t used System Restore before, keep in mind that this utility will allow you to revert your computer back to a healthy state (as long as you have an available system restore a snapshot to choose from)
Note: As long as you didn’t modify the default behavior of System Restore, you should have plenty of restore snapshots to choose from as the utility is configured to create new entries right before important system startups (such as the installation of a new program, a big Windows update, etc.)
If you understand how this tool works and what it can do for you, go ahead and use it to identify the best restore snapshot and deploy it in order to fix the pop up caused by the SmartHeap Library.
Note: Keep in mind that once you go through with this operation, every change you have enforced since the creation of that restore snapshot will be lost.
Once the restore snapshot has been deployed, reboot one final time, and see if they pop up is fixed.
In case you are still seeing the same MEM_BAD_POINTER or MEM_BAD_POINTER startup error, move down to the final fix below.
Method 5: Clean Boot your Computer
If none of the methods above have worked in your case, you have to consider the possibility that some kind of 3rd party interference is causing this startup error. If you have no idea of which potential culprit might be causing the issue, a good place to start is to boot your computer in a clean boot mode and ensure that no 3rd party services and startup items are permitted to run.
This will allow you to confirm if the MEM_BAD_POINTER or MEM_BAD_POINTER startup error is being caused by a 3rd party application or not. If you confirm that a 3rd party app is causing the issue, it’s just a matter of identifying the culprit by systematically re-enable every disabled item until the error pop-up appears again.
Since this process is quite long, we’ve put together a step-by-step guide that will walk you through the whole process:
- Press Windows key + R to open up a Run dialog box. Next, type ‘msconfig’ and press Enter to open up the System Configuration tool.
- Once you’re inside the System Configuration tool, click on the Services tab from the menu at the top. Once you’re inside, enable the checkbox associated with Hide all Microsoft services.
Note: Doing this will ensure that every native Microsoft Service that’s essential to your Windows installation will be hidden so you can’t disable it by mistake.
- Now that you’re only left with the 3rd party services, click on the Disable all button and click Apply to save the changes.
- Next, click on the Startup tab and click on Open Task Manager from the hyperlink below.
- Once you’re inside the Task Manager utility, go ahead and disable every Startup service that is not signed in by Microsoft Corporation by right-clicking on Disable from the newly appeared context menu.
- After you manage to disable every relevant 3rd party startup service, reboot your computer conventionally and wait for the next startup to complete.
- At the next system startup, be on the lookout for the MEM_BAD_POINTER or MEM_BAD_POINTER error. If the issue doesn’t return, you’ve just confirmed that the issue is caused by a 3rd party component. At this point, it’s just a matter of pinpointing the program that’s causing the issue – To do this, go ahead and systematically re-enable every previously disabled startup item and process coupled with regular restarts until you see the error returning.
Note: Once you discover the culprit, either uninstall the parent application or keep the problematic service/startup item disabled to prevent the error from returning.
- Finally, if you manage to fix the issue, go ahead and re-enable every previously disabled item in order to prevent your computer from clean booting at every startup.