Apr 17, 2008
Tip and Trick Editorial

Windows XP SP3 BSoD Endless Reboot Loop with Stop c0000139 on GDI32.dll Error

Microsoft spent couple of weeks to fix endless and repetitive system restart loop issue when users attempt to Windows Vista SP1, but the computer cannot startup with continuous reboot loop problem spreads to Windows XP as well. After users installed Windows XP SP3 beta or RC release or a hotfix, and restart the PC, the computer will repetitively and automatically reboot suddenly nonstop, unable to log on to Windows desktop with the infamous BSoD (Blue Screen of Death) with the following error messages.

STOP: c0000139 {Entry Point Not Found}

The procedure entry point GdiGetBitmapBitSize could not be located in the dynamic link library GDI32.dll.

Or,

STOP: c0000139

The procedure entry point SMapLS_IP_EBP_24 could not be located in the daynamic link library Kernel32.dll.

The BSoD reboot loop may happen right after installation of Windows XP SP3 too without computer restarting. The computer cannot even to boot to Safe Mode, and hence has no way to uninstall the Service Pack 3 for Windows XP to try to restore to previous state to resolve the problem.

Shashank Bansal explained in TechNet forums that the issue happens when users install SP3 with build version v.3311 or v.3244 or earlier. A security update KB948590 (MS08-021) which contains updated and newer GDI32.dll stops installation of SP3 version of GDI32.dll on the system due to file version differences. Hence the system encounters conflict and stop halt. If users doesn’t disable the setting to reboot the computer on error, the Windows will force to restart.

The solution is to restore the GDI32.dll from the service pack into Windows system folder with the following steps:

  1. Boot from a Windows CD or BartPE.
  2. At Welcome to Setup screen, press “R” to start repair option and open up a Recovery Console’s command prompt window.
  3. Select the Windows installation to use, normally is C:\Windows and just one option. If so, press “1” and hit Enter.
  4. If prompted for administrator password, enter the password (normally blank) and hit Enter.
  5. Make a backup of existing GDI32.dll in system folder with following command:

    REN C:\Windows\System32\GDI32.dll C:\Windows\System32\GDI32.dll.orig

    Replace “C” of the drive letter of your Windows installation drive if necessary.

  6. Then copy backup GDI32.dll from c:\windows\servicepackfiles\i386\gdi32.dll to the system folder with the following commands:

    copy C:\Windows\ServicePackFiles\i386\GDI32.dll C:\Windows\System32\GDI32.dll

    Replace “C” with your own system drive letter if applicable.

  7. Restart computer.

If you don’t have the original Windows XP CD, or been asked for administrator password which you don’t have or doesn’t set and hence unable to run restore options, try to boot from any other bootable floppy diskette, or bootable CD/DVD. If you’re on dual-boot system, it’s possible to boot from another OS to access the Windows XP installation, but make sure you use the proper path.

To avoid the reboot loop issue cause by GDI32.dll, and ensure that the system doesn’t expose to exploit vulnerability, install Windows XP SP3 RC2 Refresh v.5508, which has latest and updated GDI32.dll version 6.0.2900.3316 installed by KB948590.

Pin It on Pinterest

Share This

Share This

Share this post with your friends!