Windows error 0x0000008B, 139

Detailed Error Information


MessageThe system tried to substitute a drive to a directory on a substituted drive.
Declared inwinerror.h

This appears to be a raw Win32 error. More information may be available in error 0x8007008B.


This is a Blue Screen of Death stop code. More information is available in the Knowledge Base article Bug Check 0x8B: MBR_CHECKSUM_MISMATCH.

HRESULT analysis[3]

This is probably not the correct interpretation of this error. The Win32 error above is more likely to indicate the actual problem.

This code indicates success, rather than an error. This may not be the correct interpretation of this code, or possibly the program is handling errors incorrectly.

Reserved (R)false
Reserved (X)false
FacilityCode0 (0x000)
DescriptionThe default facility code.[3][1]
Error Code139 (0x008b)

Possible solutions


IL Method Call always return null


The PEVerify output tells you exactly what the problem is. The box instruction at 8B expected Object on the stack, but at the time, Int32 was there. But we want to have Int32 there, that's what we want to box. So why does box expect Object? Because you told it so. The parameter to box tells it from what type to box, not to what type to box.

So, changing your code to:

IL_008b:  box        [mscorlib]System.Int32

should fix your problem.

Although all the instructions between 8B and 95 look like a complicated way to do nothing (box, store, load, unbox) to me. If you don't have any special reason to have them there, you should just remove them.

answered on Stack Overflow Jul 24, 2012 by svick • edited Aug 19, 2012 by svick


Leave a comment

(plain text only)


  1. winerror.h from Windows SDK 10.0.14393.0

User contributions licensed under CC BY-SA 3.0