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
[Frames below may be incorrect and/or missing, no symbols loaded for shimd3d64.dll]
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):
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.
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).
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.