locked
How can I get latest of Pex and latest of SlimDX to work together?

    Question

  • I am using the June build of Pex from MSDN on an x86 Windows XP box.

    Installing SlimDX SDK from June 2010 causes Pex to no longer run within VS2010. Pex wouldn't run explorations even if there are no references to SlimDX in my C# project.  I reproduced this on a friend's PC.

    Uninstalling SlimDX June 2010 fixes the issue.

    How can I get latest of Pex and latest of SlimDX to work together?

    P.S.  This question also resides on

    http://www.gamedev.net/community/forums/topic.asp?topic_id=577415

     

    Tuesday, July 20, 2010 5:51 PM

Answers

  • SlimDX install ngen profile images which is breaks Pex. This is a limitation of our instrumentation infrastructure. After installing SlimDX, run this command from an elevated VS 2010 command prompt:

         ngen.exe uninstall * /profile


    Jonathan "Peli" de Halleux - Try Pex online at www.pexforfun.com!
    • Marked as answer by GregChernis Friday, August 06, 2010 12:49 AM
    Thursday, August 05, 2010 11:52 PM
    Owner
  • This should not break SlimDX, maybe make it a little bit slower when you are in 'profiling' mode or something related. If you have a x64 OS, you also need to run this command from a VS 2010 x64 command prompt.


    Jonathan "Peli" de Halleux - Try Pex online at www.pexforfun.com!
    • Marked as answer by GregChernis Friday, August 06, 2010 12:49 AM
    Friday, August 06, 2010 12:01 AM
    Owner

All replies

  • From the description of your problem, it seems that the problem lies in the SlimDX framework. Have they answered this question?


    Jonathan "Peli" de Halleux - Try Pex online at www.pexforfun.com!
    Wednesday, July 28, 2010 12:51 PM
    Owner
  • Hi Peli,

    Josh Petrie kept the topic alive on StackOverflow

    I am wondering about details of what I'd need to supply in order for this problem to be looked at or resolved.

    In VS2010, I see two instances of Pex trying to start up when i run explorations, but both quit right away.  Like I said, uninstalling SlimDX cures the problem.

    Please let me know what I can capture or do on my end to clarify the issue.

    Please reply,

    -Greg

     

    Wednesday, July 28, 2010 10:23 PM
  • I could not reproduce this issue. I installed SlimDX_SDK_(June_2010).exe, then ran Pex (right click, Run Pex) on a little method and things worked fine. Do you have a precise list of repro steps?
    Jonathan "Peli" de Halleux - Try Pex online at www.pexforfun.com!
    Thursday, July 29, 2010 12:31 PM
    Owner
  • Peli,

    I have to be able to capture some crash logs or similar.

    To be more specific, I was using a truly tiny project in C# on VS2010 Premium RTM (ver. 10.0.30319.1), Windows XP, and 0.92 build of Pex from downloaded with my MSDN subscription (ver 0.92.50603.1).

    I will try it again on another developer's box, just to be 100% sure, and capture the steps.

     

    Thursday, July 29, 2010 3:06 PM
  • Go to 'TOols -> Options -> Pex -> General' set Diagnostic=true.
    Run Pex
    Open the 'Pex' output window and copy the content


    Jonathan "Peli" de Halleux - Try Pex online at www.pexforfun.com!
    Thursday, July 29, 2010 10:58 PM
    Owner
  • Peli,

    Each of two runners throw and unhandled System.ExecutionEngineException...  I tried to attach with debugger, but it does not get very far.  Let me try and turn on Symbol Server in VS2010 debugger.

    Here's what I get in Pex output window

    launching pex
    starting...
    DTE_MainWindow=984372
    COMPUTERNAME=SUDYAVAR01
    SystemRoot=C:\WINDOWS
    NDDSHome=F:\Develop\FF_trunk\RTI\ndds\ndds.4.3e
    INTEL_LICENSE_FILE=C:\Program Files\Common Files\Intel\Licenses
    CPATH=C:\Program Files\Intel\MKL\10.0.3.021\include
    QTJAVA=C:\Program Files\Java\jre6\lib\ext\QTJava.zip
    CLASSPATH=.;C:\Program Files\Java\jre6\lib\ext\QTJava.zip
    FTP_PASSIVE=1
    PROCESSOR_REVISION=0f0b
    VS100COMNTOOLS=C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\
    PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.PSC1;.PSC1
    VS80COMNTOOLS=C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\
    TMP=C:\DOCUME~1\gchernis\LOCALS~1\Temp
    include=C:\Program Files\Intel\MKL\10.0.3.021\include
    TERM=dumb
    USERDNSDOMAIN=IOINC.IOROOT.TLD
    USERDOMAIN=IOINC
    ACE_ROOT=C:\ACE_5_4
    PROCESSOR_LEVEL=6
    PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 11, GenuineIntel
    lib=C:\Program Files\Intel\MKL\10.0.3.021\ia32\lib
    Path=c:\Program Files\NVIDIA Corporation\PhysX\Common;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin;C:\WINDOWS\Microsoft.NET\Framework\v3.5;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\Microsoft SQL Server\90\DTS\Binn\;C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\;C:\PsTools;C:\Program Files\Intel\MKL\10.0.3.021\ia32\bin;C:\ACE_5_4\lib;C:\io\bin\common;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\strawberry\c\bin;C:\strawberry\perl\bin;C:\nant-0.85\bin;C:\Program Files\GnuWin32\bin;C:\Program Files\Debugging Tools for Windows;C:\Program Files\TortoiseSVN\bin;C:\Program Files\SlikSvn\bin\;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\QuickTime\QTSystem\;C:\WINDOWS\system32\WindowsPowerShell\v1.0;F:\Program Files\Microsoft Pex\bin\;C:\Program Files\Microsoft Moles\bin\;C:\Program Files\Common Files\Microsoft Shared\Windows Live;F:\Develop\FF_trunk\RTI\ndds\ndds.4.3e\Lib\i86Win32dotnet2.0
    DXROOT=C:\Program Files\Sandcastle\
    PSModulePath=C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\
    CommonProgramFiles=C:\Program Files\Common Files
    HOMEPATH=\Documents and Settings\gchernis
    PDDIR=\\HOU2UTIL02\PACKAGES$\PACKAGES
    SESSIONNAME=Console
    VisualStudioDir=C:\Documents and Settings\gchernis\My Documents\Visual Studio 2010
    ProgramFiles=C:\Program Files
    FP_NO_HOST_CHECK=NO
    NUMBER_OF_PROCESSORS=2
    ALLUSERSPROFILE=C:\Documents and Settings\All Users
    FPATH=C:\Program Files\Intel\MKL\10.0.3.021\include
    LOGONSERVER=\\HOU2DC90
    POSTSHARP10=C:\Program Files\PostSharp 1.0\
    USERPROFILE=C:\Documents and Settings\gchernis
    APPDATA=C:\Documents and Settings\gchernis\Application Data
    HOMEDRIVE=C:
    TEMP=C:\DOCUME~1\gchernis\LOCALS~1\Temp
    USERNAME=gchernis
    DXSDK_DIR=C:\Program Files\Microsoft DirectX SDK (August 2009)\
    PROCESSOR_ARCHITECTURE=x86
    pex_server_channel=pex2912
    OS=Windows_NT
    ComSpec=C:\WINDOWS\system32\cmd.exe
    SystemDrive=C:
    windir=C:\WINDOWS
    LIBRARY_PATH=C:\Program Files\Intel\MKL\10.0.3.021\ia32\lib
    F:\Develop\FF_trunk\Common.NET\BaseFireflyReportBL\bin\x86\Debug\BaseFireflyReportBL.dll
    application directory: 
    binaries directory: F:\Program Files\Microsoft Pex\bin
    command line arguments: F:\Develop\FF_trunk\Common.NET\BaseFireflyReportBL\bin\x86\Debug\BaseFireflyReportBL.dll /diagnostic /explorationreflectionmode:LazyWizard /settingsassembly:F:\Develop\FF_trunk\Common.NET\BaseFireflyReportBL.Tests\bin\x86\Debug\BaseFireflyReportBL.Tests.dll /clrversion:v4.0.30319 /symbolpath:SRV*F:\Symbols*http://msdl.microsoft.com/download/symbols;F:\Symbols\MicrosoftPublicSymbols*http://msdl.microsoft.com/download/symbols /donotopenreport /reportlevel:None /reportrootpath:F:\Develop\FF_trunk\Common.NET\BaseFireflyReportBL\bin\x86\Debug\reports /testassemblyname:BaseFireflyReportBL.Tests /testframework:VisualStudioUnitTest /testlanguage:cs /testprojectfile:F:\Develop\FF_trunk\Common.NET\BaseFireflyReportBL\BaseFireflyReportBL.csproj /testprojectnotupdate /testprojectskip
    "F:\Program Files\Microsoft Pex\bin\Microsoft.Pex.exe" F:\Develop\FF_trunk\Common.NET\BaseFireflyReportBL\bin\x86\Debug\BaseFireflyReportBL.dll /diagnostic /explorationreflectionmode:LazyWizard /settingsassembly:F:\Develop\FF_trunk\Common.NET\BaseFireflyReportBL.Tests\bin\x86\Debug\BaseFireflyReportBL.Tests.dll /x64failsilently /clrversion:v4.0.30319 /symbolpath:SRV*F:\Symbols*http://msdl.microsoft.com/download/symbols;F:\Symbols\MicrosoftPublicSymbols*http://msdl.microsoft.com/download/symbols /donotopenreport /reportlevel:None /reportrootpath:F:\Develop\FF_trunk\Common.NET\BaseFireflyReportBL\bin\x86\Debug\reports /testassemblyname:BaseFireflyReportBL.Tests /testframework:VisualStudioUnitTest /testlanguage:cs /testprojectfile:F:\Develop\FF_trunk\Common.NET\BaseFireflyReportBL\BaseFireflyReportBL.csproj /testprojectnotupdate /testprojectskip
    launching new pex process
    "F:\Program Files\Microsoft Pex\bin\Microsoft.Pex.exe" F:\Develop\FF_trunk\Common.NET\BaseFireflyReportBL\bin\x86\Debug\BaseFireflyReportBL.dll /diagnostic /explorationreflectionmode:LazyWizard /settingsassembly:F:\Develop\FF_trunk\Common.NET\BaseFireflyReportBL.Tests\bin\x86\Debug\BaseFireflyReportBL.Tests.dll /x64failsilently /clrversion:v4.0.30319 /symbolpath:SRV*F:\Symbols*http://msdl.microsoft.com/download/symbols;F:\Symbols\MicrosoftPublicSymbols*http://msdl.microsoft.com/download/symbols /donotopenreport /reportlevel:None /reportrootpath:F:\Develop\FF_trunk\Common.NET\BaseFireflyReportBL\bin\x86\Debug\reports /testassemblyname:BaseFireflyReportBL.Tests /testframework:VisualStudioUnitTest /testlanguage:cs /testprojectfile:F:\Develop\FF_trunk\Common.NET\BaseFireflyReportBL\BaseFireflyReportBL.csproj /testprojectnotupdate /testprojectskip
    starting monitored process
    listening to monitored process (cold start) - diagnostic
    
    
    monitored process exited with FatalExecutionEngineError (-2146233082 - 0x80131506)
    finished
    

    Thursday, July 29, 2010 11:18 PM
  • In the diagnostic option page, you can set 'Driver' option to point to windbg.exe. Pex will launch the worker process under the windbg debugger and you should get a better experience while debugging. We have not published our symbols to symbol server so that won't help.


    Jonathan "Peli" de Halleux - Try Pex online at www.pexforfun.com!
    Thursday, July 29, 2010 11:53 PM
    Owner
  • Peli,

    Thank you for taking the time to answer my question.  I think we've gone as far as we can in troubleshooting this compatibility issue.  What kind of experience would I get without symbols?

    For future reference, can you please review all ways in which this exception can escape from Pex Runner without being properly logged.  Could you also take time to publish symbols for the current and future builds of Pex and Moles, so developers can provide you with meaningful crash logs, call stacks, thread lists, state, etc.

    Imagine that my workstation had SlimDX installed all along.  I go to install Pex and Moles.  When trying to use them, they reproducibly crash but give you an equivalent of a BSOD.  I don't know what to do about the error, or how to report it.

    Thank you,

    -Greg

     

    Friday, July 30, 2010 6:36 PM
  • Hi Peli,

    My boss got a chance to try the scenario on his Windows Server 2003 Ent box with SP2.  He reproduces the problem too.

    Sincerely,

    -Greg

     

    Friday, July 30, 2010 8:53 PM
  • Hi Peli,

    Initially reporting on XP SP3 32-bit, now observing on Windows 7 64-bit.  Do you have anything for me to try?

    Sincerely,

    -Greg

    Wednesday, August 04, 2010 12:38 AM
  • The OS is most likely not the issue. It might be a combination of CRT libraries installed by SlimDX and our profiler that is not for sure. Once we have stable builds of 0.93, I will investigate again this issue.
    Jonathan "Peli" de Halleux - Try Pex online at www.pexforfun.com!
    Wednesday, August 04, 2010 1:01 AM
    Owner
  • SlimDX install ngen profile images which is breaks Pex. This is a limitation of our instrumentation infrastructure. After installing SlimDX, run this command from an elevated VS 2010 command prompt:

         ngen.exe uninstall * /profile


    Jonathan "Peli" de Halleux - Try Pex online at www.pexforfun.com!
    • Marked as answer by GregChernis Friday, August 06, 2010 12:49 AM
    Thursday, August 05, 2010 11:52 PM
    Owner
  • This should not break SlimDX, maybe make it a little bit slower when you are in 'profiling' mode or something related. If you have a x64 OS, you also need to run this command from a VS 2010 x64 command prompt.


    Jonathan "Peli" de Halleux - Try Pex online at www.pexforfun.com!
    • Marked as answer by GregChernis Friday, August 06, 2010 12:49 AM
    Friday, August 06, 2010 12:01 AM
    Owner