General Protection Fault in module WIN87EM.DLL at 0001:02C6

Discussions about using Windows guests in VirtualBox.

Re: General Protection Fault in module WIN87EM.DLL at 0001:0

Postby gleysson » 15. Sep 2014, 15:12

win 7 64 is the host
gleysson
 
Posts: 5
Joined: 12. Sep 2014, 23:02

Re: General Protection Fault in module WIN87EM.DLL at 0001:0

Postby Ramshankar » 15. Sep 2014, 16:51

gleysson wrote:I installed version 4.3.16 and still the same problem I believe has not been resolved yet.


Please attach VBox.log for this.
Oracle Corp.
Ramshankar
Oracle Corporation
 
Posts: 782
Joined: 7. Jan 2008, 16:17

Re: General Protection Fault in module WIN87EM.DLL at 0001:0

Postby gleysson » 15. Sep 2014, 16:59

Four logs are attached and are in winrar.
Attachments
Logs_Vbox.rar
(74.48 KiB) Downloaded 36 times
gleysson
 
Posts: 5
Joined: 12. Sep 2014, 23:02

Re: General Protection Fault in module WIN87EM.DLL at 0001:0

Postby michaln » 16. Sep 2014, 15:31

gleysson wrote:I installed version 4.3.16 and still the same problem I believe has not been resolved yet.

Okay, we looked into this. Unfortunately for you, you actually have a different problem caused by your CPU. Basically your CPU is too new for your old software.

The problem is that Intel decided that they wouldn't store segment information for the last instruction/data pointer that's part of the FPU state. When a floating-point exception occurs, Windows (WIN87EM.DLL) wants to examine the instruction causing the fault, but because the segments are zeroed, it will crash. It is highly likely that if you installed 32-bit Windows on the host system directly, you'd have the same problem (if not, we'd like to hear about it).

It's currently not clear what, if anything, we can do about this. At any rate, it'd require some engineering effort and won't happen immediately.

For your reference, this is indicated by CPUID.(EAX=07H,ECX=0H):EBX[bit 13] = 1. Bit 13 is documented as "Deprecates FPU CS and FPU DS values if 1." in Intel manuals. Details are in Vol. 1 section 8.1.8, "x87 FPU Instruction and Data (Operand) Pointers".

If you want a short-term solution, get a CPU which is compatible with your software. Ivy Bridge or older Intels will do, any AMD probably as well.
michaln
Oracle Corporation
 
Posts: 2962
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all

Re: General Protection Fault in module WIN87EM.DLL at 0001:0

Postby gleysson » 19. Sep 2014, 15:10

michaln,

actually the problem was the processor, tested the program on a core i5 Ivy Bridge and it worked, for now only solution is that we have not only performed the test on 32bit windows in the fourth generation processor but, so I'll post test results. thanks for the support and sorry for the google translator :D
gleysson
 
Posts: 5
Joined: 12. Sep 2014, 23:02

Re: General Protection Fault in module WIN87EM.DLL at 0001:0

Postby Mike_in_Oz » 14. Oct 2014, 00:42

This problem (of legacy 16 bit Windows programs no longer executing on previously reliable virtual machines due to the hardware issues on the new host) ) is going to become huge as more and more folk transition to more modern CPUs. As being able to run some old software was one of the main reasons I use VirtualBox, this is a disaster to me! The idea of disabling the floating point processor seems to work but renders the program I run so slow that it becomes unusable. All I can hope for is that the VirtualBox 'community' will figure out a coding fix for this?

cheers
Mike_in_Oz
Mike_in_Oz
 
Posts: 1
Joined: 14. Oct 2014, 00:34

Re: General Protection Fault in module WIN87EM.DLL at 0001:0

Postby michaln » 14. Oct 2014, 10:02

Mike_in_Oz wrote:This problem (of legacy 16 bit Windows programs no longer executing on previously reliable virtual machines due to the hardware issues on the new host) ) is going to become huge as more and more folk transition to more modern CPUs.

That's something you need to tell Intel... they clearly think it's a non-issue.

We've had a brief look at the problem but it's not at all clear that the new/crippled hardware can be worked around in software.

Note that this is different from a bug in VirtualBox that produced more or less exactly the same symptomps on older CPUs (and which was the original subject of this thread), but that ought to be fixed now.
michaln
Oracle Corporation
 
Posts: 2962
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all

Re: General Protection Fault in module WIN87EM.DLL at 0001:0

Postby DMDiegom » 20. Mar 2015, 22:09

Hi im having problems with an old software called CAD ESTIMATOR works on the old machine on XP, But through "Virtual box on macbook pro 2014" it works until I Click on generate reports which is similar to spreadsheets that brings all the calculations on the program and this is what I get

"CADEST caused a general protection fault in module WIN87EM.DLL at 0001:02C9" I read through the posts, in some it says it has been fixed but I don't see how to fix it, maybe I don't understand it please help thank you.
DMDiegom
 
Posts: 1
Joined: 20. Mar 2015, 21:47

Re: General Protection Fault in module WIN87EM.DLL at 0001:0

Postby michaln » 21. Mar 2015, 00:07

A VBox.log would help. If you have one of the affected Intel CPUs then nothing will help you, short of using a different computer with a fully functioning CPU. VBox.log will tell for certain if your CPU is problematic or not (98% chance it is).
michaln
Oracle Corporation
 
Posts: 2962
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all

Re: General Protection Fault in module WIN87EM.DLL at 0001:0

Postby dukbilt » 22. Sep 2015, 09:38

I'm experiencing this issue too (using VB 5.0.0 on MacBook Pro running Yosemite).

Any options to resolve this?
dukbilt
 
Posts: 4
Joined: 22. Sep 2015, 09:33

Re: General Protection Fault in module WIN87EM.DLL at 0001:0

Postby mpack » 22. Sep 2015, 10:32

dukbilt wrote:Any options to resolve this?

Depends what "this" is. The original (OP) problem was fixed, as you can see if you check the bug ticket.

If you have the latter (CPU) problem then you need new software or an older CPU.
mpack
Site Moderator
 
Posts: 30014
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: General Protection Fault in module WIN87EM.DLL at 0001:0

Postby dukbilt » 22. Sep 2015, 13:07

My Macbook Pro uses an Intel Core i5 processor - does that mean my current hardware limits the virtualisation options? That seems to be completely against what virtualisation is meant to provide...
dukbilt
 
Posts: 4
Joined: 22. Sep 2015, 09:33

Re: General Protection Fault in module WIN87EM.DLL at 0001:0

Postby mpack » 22. Sep 2015, 13:30

You think that virtualization doesn't care about the host hardware? If so then that would be incorrect. Have you actually read the posts in this topic? I would think the explanations were quite clear.
mpack
Site Moderator
 
Posts: 30014
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: General Protection Fault in module WIN87EM.DLL at 0001:0

Postby michaln » 22. Sep 2015, 16:38

dukbilt wrote:My Macbook Pro uses an Intel Core i5 processor - does that mean my current hardware limits the virtualisation options?

This problem has nothing to do with virtualization. The CPU simply behaves differently, but virtualization isn't emulation so the different behavior is visible in a VM just as much as it's visible on the host.

That seems to be completely against what virtualisation is meant to provide...

Not at all. Virtualization was never about exactly emulating a specific CPU, it was (and is) intended for resource sharing and management.

Basically if you think your Intel CPU is broken, you need to take that up with Intel. Although I'm sure they have some sense of how many of their customers are affected and decided that they didn't care.
michaln
Oracle Corporation
 
Posts: 2962
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all

Re: General Protection Fault in module WIN87EM.DLL at 0001:0

Postby dukbilt » 29. Sep 2015, 01:31

A possible solution:

1. Download "Winfloat.exe" (http://www.conradshome.com/win31/archiv ... nfloat.exe) to your VM.
2. Double-click on "Winfloat.exe" to extract files to C: drive.
3. Copy “HIDE87.com” to the c:\windows\system32 directory.
4. Open the “autoexec.nt” file (c:\windows\system32\autoexec.nt) with a text editor.
5. Add “lh c:\windows\system32\HIDE87.com” to the “autoexec.nt” file.
6. Save the file, and exit.
7. Reboot the Virtual Machine.
8. Done!
dukbilt
 
Posts: 4
Joined: 22. Sep 2015, 09:33

PreviousNext

Return to Windows Guests

Who is online

Users browsing this forum: Baidu [Spider], bobby001, Kurt_Aust and 16 guests