shimd3d crash

shimd3d crash

imagem de fboivin

Hi, we have 2 serious issue with GPA (using R2012 R1 but we've been having them with previous versions also). Our main process creates satellite processes and it seems the CreateProcess call goes through GPA shim dll. 1. If we don't have GPA running (ie: GPA monitor) it will sometime (not 100%) crash in the satellite process creation before our own code entry point. Note that prior to R2012 R1 if GPAMonitor wasn't running we never had this issue (now it seems that even though it's not running it's going trough the shim dll) > RtlAllocateHeap() + 0x3d bytes 0000000003ea79c1 [Frames below may be incorrect and/or missing, no symbols loaded for shimd3d64.dll] 0000000003e96293 0000000003e923e9 0000000003e924a7 LdrpInitializeThread() + 0x23c bytes _LdrpInitialize() + 0x9f bytes LdrInitializeThunk() + 0xe bytes 2. If GPA Monitor is running, the CreateProcess calls return TRUE but the processes are never created (they don't show up in ProcessExplorer) whereas they show up right away when GPAMonitor isn't running. Here is the CreateProcess code we are using (with inlined comments on the behaviour with GPA):

DWORD const creationflags = NORMAL_PRIORITY_CLASS | CREATE_NO_WINDOW | DETACHED_PROCESS | CREATE_BREAKAWAY_FROM_JOB;
if (::CreateProcess(0, command, NULL, NULL, TRUE, creationflags, NULL, NULL, &si, &pi)) { // The CreateProcess call succeeds but the process seems to be silently killed (no crash, no warning, no nothing) if (!::AssignProcessToJobObject(m_jobObject, pi.hProcess)) { // This will fail and return error code 5 (Access denied) since the process doesn't exist Trace("Failed to attach process to job: %d", GetLastError()); } return true; } Is there any workaround to this? Thanks Francis
6 posts / 0 new
Último post
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.
imagem de Neal P (Intel)

Hello Francis,

Sorry that you are running into these problems.

First of all, can you right-click on the GPA Monitor icon in the notification tray area and copy the "About..." information here? This will provide some info on your specific configuration which we'll need.

Also, are you running Intel GPA with or without the "auto-detect launched applications" option enabled? Would you also run the "other way" and let me know if the symptoms change in any way.

Once I have this info we'll be able to do some analysis and attempt to figure out what might be the cause of the issues you are seeing.

thanks!

Neal

imagem de Neal P (Intel)

Hello,

We've tried reproducing this problem internally, but haven't been able to see the errors you are seeing.

The development team is therefore requesting some additional information from you:

  • Your specific configuration (right-click on the GPA Monitor icon and select "About...").
  • Are you running with "auto-detect launched applications" mode or not?
  • Is tracing enabled?
  • For your target and child processes, are they both graphics / ITT instrumented? Are they 32-bit or 64-bit?
  • Some simple sample code that reproduces the problem (ourattempt to create a sample based on
    the code snippet you provided didn't demonstrate the problem).
  • What anti-virus software are you using, and what modules are enabled? We've seen some issues with McAfee Host Intrusion Prevention that conflicts with
    GPA instrumentation (including the CreateProcess function).

Regards,

Neal

imagem de fboivin
Here is the info I gathered (sorry for the delay).
    • Launching the 64 bits version of our game editor in both "Auto-Detect" and "Manual" modes reproduces the issue I mentionned about the processes being killed.
    • Launching the 32 bits version of our game editor in both "Auto-Detect" and "Manual" modes doesn't reproduce the issue I mentionned about the satellite processes being killed. However, when comes the time to render the first frame, the application seems to be violently killed as it doesn't even break in the debugger and quits.
    • Launching both 32 and 64 bits version of our standalone game (which doesn't create any child processes) works flawlessly.
    • Tracing isn't enabled
    • The child processes aren't graphics (ie: they don't create any 3D device) and are not instrumented
    • Anti-virus software is Microsoft ForeFront
    • I don't have a simple repro sample right now, but I'll try to build one.
Configuration: Windows 7, 64-bit DEP enabled Num Processors: 8 Memory: 12279MB System BIOS: LENOVO 60KT43AUS (04/08/2011) Video BIOS: 12/07/11 Driver 0: Device: AMD Radeon HD 7900 Series Provider: Advanced Micro Devices, Inc. Date: 3-8-2012 Version: 8.951.0.0 VendorId: 1002 ProductId: 6798 Stepping: 0 No support for GPA Instrumentation GPA install directory: C:\Program Files\Intel\GPA\2012 R1\ GPA version: 12.1.166792 Current user is in Administrators group: YES Current GPA 2012 R1 (12.1.166792)

Windows 7, 64-bit DEP enabledNum Processors: 8Memory: 12279MBSystem BIOS: LENOVO 60KT43AUS (04/08/2011)Video BIOS: 12/07/11Driver 0: Device: AMD Radeon HD 7900 Series Provider: Advanced Micro Devices, Inc. Date: 3-8-2012 Version: 8.951.0.0 VendorId: 1002 ProductId: 6798 Stepping: 0 No support for GPA InstrumentationGPA install directory: C:\Program Files\Intel\GPA\2012 R1\GPA version: 12.1.166792Current user is in Administrators group: YESCurrent GPA 2012 R1 (12.1.166792)

imagem de Neal P (Intel)

Hello,

Thanks for the reply -- I've forwarded this info to our Development Team.

Regards,

Neal

imagem de Neal P (Intel)

Hello,

The dev team hasn't been able to construct a testcase that duplicates your problem. If you are able to provide more info (such as access to your game's binaries under NDA), that would be helpful.

Regards,

Neal

Faça login para deixar um comentário.