I am trying to solve a problem with a PB program running on Windows 95/98. It works fine on Windows ME to Vista.
The program crashes with an error message:
Stack Fault in User.exe
I have done some research on this and it is very confusing.
First, the program never makes any calls to user.exe.
Second, user.exe appears to be some kind of link between 16 bit Windows and 32 bit (it was the 16 bit version of user32.dll if I understand it correctly).
My impression is that Windows is running something (ie. driver) in 16 bit code and when the API is called, windows reverts to some 16 bit code somewhere and crashes.
I have no idea of where to start.
MSDN is useless. When I search MSDN I get references to a number of bugs in a variety of software (even Visual Basic) which generates the stack fault in user.exe. What is very strange is the solutions for each bug. The solutions for VB apps make absolutely no sense (ie. change a line of code, which is nornally acceptable to something different). In VB things like a combobox in the wrong place (on another control) can cause this error.
The thing is, what does user.exe have to do with all of this ?
It is not user32.dll
It almost appears that Windows does some workarounds internally and is reverting back to 16 bit code and this causes problems. It is as if even Microsoft doesn't really understand what is going wrong. The fixes almost appear to be quesses, rather knowledgable answers.
One example was Windows ME crashing when being installed (stack fault in user.exe) and the cause suggested was "bad memory chips" (or not seated correctly).
I need to understand what this user.exe is really doing in the operating system and why it crashes, even when apps never even call it directly. I used the depends utility to test for dependencies (on XP) and I don't see anywhere user.exe is even referenced.
The program crashes with an error message:
Stack Fault in User.exe
I have done some research on this and it is very confusing.
First, the program never makes any calls to user.exe.
Second, user.exe appears to be some kind of link between 16 bit Windows and 32 bit (it was the 16 bit version of user32.dll if I understand it correctly).
My impression is that Windows is running something (ie. driver) in 16 bit code and when the API is called, windows reverts to some 16 bit code somewhere and crashes.
I have no idea of where to start.
MSDN is useless. When I search MSDN I get references to a number of bugs in a variety of software (even Visual Basic) which generates the stack fault in user.exe. What is very strange is the solutions for each bug. The solutions for VB apps make absolutely no sense (ie. change a line of code, which is nornally acceptable to something different). In VB things like a combobox in the wrong place (on another control) can cause this error.
The thing is, what does user.exe have to do with all of this ?
It is not user32.dll
It almost appears that Windows does some workarounds internally and is reverting back to 16 bit code and this causes problems. It is as if even Microsoft doesn't really understand what is going wrong. The fixes almost appear to be quesses, rather knowledgable answers.
One example was Windows ME crashing when being installed (stack fault in user.exe) and the cause suggested was "bad memory chips" (or not seated correctly).
I need to understand what this user.exe is really doing in the operating system and why it crashes, even when apps never even call it directly. I used the depends utility to test for dependencies (on XP) and I don't see anywhere user.exe is even referenced.
Comment