#105 OpenProcessToken could not be located in KERNEL32.dll

pending
emergeCore (9)
5
2012-07-18
2010-08-28
jetole
No

Windows on this laptop automatically logs in when it starts (I use Ubuntu Linux almost exclusively and this is a dual boot laptop hence why I don't mind windows auto logging in). When it starts and logs in, I see a pop up that has the title "emergeCore.exe - Entry Point Not Found"

The content of the pop up is:
The procedure entry point OpenProcessToken could not be located in the dynamic link library KERNEL32.dll

The shell then ceases to start. I am begining to debug this now since I can ctrl+alt+del and bring up the task manager which allows me to run other programs but the extent of my debugging will probably be finding out how to recover my system.

I am using the 64 bit version of emerge and Windows Vista Home Premium 64 bit edition. I may try the 32 bit edition if I can recover windows to explorer.exe and uninstall the failed version I have now.

Discussion

  • jetole
    jetole
    2010-08-28

    After uninstalling it, I re installed it to make sure I double clicked the 64 bit version the first time and the same thing happened. The installer is EmergeDesktop64-5.1.exe

     
  • jetole
    jetole
    2010-08-29

    32 bit version doesn't work entirely but was far more effective the the 64 bit version. I seemed to have the desktop but the start menu would not open.

     
  • I've worked with the mingw64 developers and know what the issue is. It will be fixed in the upcoming 5.2.1 release.

     
  • I have a potential fix for the issue, would you be willing to test it for me?

     
  • jetole
    jetole
    2010-09-02

    Nope. I wanted to try out emerge on windows to see if it was worth the switch and when I did, aside from this bug, there was another bug which caused the start menu to fail. Since the start menu doesn't work, I am disinclined to acquiesce to your request. ...on second though, being a FOSS zealot, I feel I am responsible to test. Send me the test and I will take a look,

     
  • The source is unchanged. The issue is a result of MinGW GCC compiler's built in link order including kernel32 before advapi32. As of Windows 7, Microsoft exports OpenProcessToken from both kernel32 and advadpi32 and the MinGW-w64 folks updated their library definition files based on Win7. A result of this change means that binaries using the OpenProcessToken on Windows OSs prior to Win7 are broken by default. A workaround is to manually specify advapi32 in the link command so that it's linked to before kernel32, which is what I've done in the test build.

    I can upload the updated source that contains the updated Code::Blocks project files and Makefiles if you like.

     
  • Does this issue still occur? When I've tested recently with the 6.0 Dev builds they have started fine on Vista.

     


Anonymous


Cancel   Add attachments