Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)
4973 Discussions

Amplifier hangs on application start

Popov__Maxim
Beginner
1,619 Views

Amplifier hangs on application start. See screenshot.

It is at the very beginning of SolidWorks 2015 application start.

I tested all kind of analysis (hotspots, adv hotspots, locks & waits). 

I use update 17.

Any ideas?

Скриншот экрана.png

0 Kudos
34 Replies
Peter_W_Intel
Employee
1,228 Views

I have several questions:

1. Do you have same problem if you use VTune(TM) Amplifier XE 2015?

2. Can you do analysis when launching other applications?

3. Can you launch application manually, then use VTune to attach this running process? ("amplxe-cl  -collect hotspots -duration 60 -target-pid pid" )

0 Kudos
Bernard
Valued Contributor I
1,228 Views

@Maxim

It seems that you are running on Windows so I will advise you to check event viewer logs and serach for application hang entry.

0 Kudos
Bernard
Valued Contributor I
1,228 Views

From the technical point of view I suppose that attempt to inject remote thread into address space of SolidWorks fails.

0 Kudos
Popov__Maxim
Beginner
1,228 Views

1. Do you have same problem if you use VTune(TM) Amplifier XE 2015?

- we don't have 2015 version. I can't test it

2. Can you do analysis when launching other applications?

- yes. I tried simple non-GUI app. It works

3. Can you launch application manually, then use VTune to attach this running process? ("amplxe-cl  -collect hotspots -duration 60 -target-pid pid" )

- yes it works. Though it doesn't solve my problem (at least analysis will be much more complicated for me)

 

4. It seems that you are running on Windows so I will advise you to check event viewer logs and serach for application hang entry.

- Windows event viewer? It seems that no useful info there

5. From the technical point of view I suppose that attempt to inject remote thread into address space of SolidWorks fails.

- may be, I don't know. We do not inject any thread at that early stage. SolidWorks writes at that moment: "Reading registry". May be it is some licensing stuff do some tricks at that point. I don't know

0 Kudos
Peter_W_Intel
Employee
1,228 Views

> - we don't have 2015 version. I can't test it

If you already registered the product & license file is valid, please download frrom https://registrationcenter.intel.com/RegCenter/Download.aspx?productid=2212 ;

If your license file is expired, you apply a trial license, visit http://software.intel.com/en-us/intel-vtune-amplifier-xe/

- yes. I tried simple non-GUI app. It works

Thank you. It seems this is your application specific issue. There may be a bug if use VTune to launch target application. If SolidWorks 2015 application is tool to build executable, is it possible that you can submit an issue to https://premier.intel.com with application/pdb files?

>3. Can you launch application manually, then use VTune to attach this running process? ("amplxe-cl  -collect hotspots -duration 60 -target-pid pid" )

>- yes it works. Though it doesn't solve my problem (at least analysis will be much more complicated for me)

No. Analysis has no any complex if you use attach mode instead of launching mode. Almost same result! 

0 Kudos
Bernard
Valued Contributor I
1,228 Views

>>>4. It seems that you are running on Windows so I will advise you to check event viewer logs and serach for application hang entry.

- Windows event viewer? It seems that no useful info there>>>

I expected that.

>>>5. From the technical point of view I suppose that attempt to inject remote thread into address space of SolidWorks fails.

- may be, I don't know. We do not inject any thread at that early stage. SolidWorks writes at that moment: "Reading registry". May be it is some licensing stuff do some tricks at that point. I don't know>>>

If you would like to troubleshoot it further you can run ProcMon with registry calls interception enabled. Try to look for registry failure during the startup of SolidWorks.

0 Kudos
Robert_L_Intel1
Employee
1,228 Views

Hi Peter, Maxim - We have had a couple similar issues, one of which has a possible workaround:

Could you please try this, or check to see if it applies:

Change the application output destination in the VTune options dialog to the product output window.

 

0 Kudos
Peter_W_Intel
Employee
1,228 Views

Bob L. HUD (Intel) wrote:

Hi Peter, Maxim - We have had a couple similar issues, one of which has a possible workaround:

Could you please try this, or check to see if it applies:

Change the application output destination in the VTune options dialog to the product output window.

 

Bob,  thanks for your inputs!

Did you have similar problem when using VTune(TM) Amplifier XE 2015? If changing application's output window in VTune's option can avoid the this problem, it is an integration issue in Visual Studio*. Can you try to run VTune standalone app (amplxe-gui) to launch your application?

As I said before, another workaround is to run application manually then use VTune to profile with attach mode. 

0 Kudos
Popov__Maxim
Beginner
1,228 Views

Hello!

I switched to VTune(TM) Amplifier XE 2015

I still have similar problems. Now SolidWroks fails to load some dll if run under Amplifier. I tried both command-line and MSVS-gui version.

If attach to already run SolidWorks - it works. But I can't collect user tasks in attach mode. And pause-resume also doesn't work.

One thing: SolidWorks is managed code application. But it has portions of native code. I try to profile native portion of code (our application is SolidWorks plug-in)

0 Kudos
Peter_W_Intel
Employee
1,228 Views

I don't know why attach mode doesn't support user task & pause/resume, was it due to "native/managed code" mixed application?

I assume that you ran basic hotspots, can you try advanced hotspots? I have escalated this problem to our developer, and will get back to you soon.

0 Kudos
Peter_W_Intel
Employee
1,228 Views

@Maxim

Our developer wants to know if you can profile the application in native mode? You need to change this setting in project properties (default setting is "Auto"). Can VTune launch application? If you profile with attach mode, can you use user task & pause/resume? Thank you.

0 Kudos
Popov__Maxim
Beginner
1,228 Views

Here are two screenshots. Both for "start paused" and "Advanced hotspots"

First screenshot for the case of runnig SolidWorks. You see SolidWorks fails in that case (it crashes after OK button).

2014-09-26 16-48-35 Скриншот экрана.png

Second screenshot for attach to process:

It seems that profiling starts from first native code. And profiler doesn't see any __itt_pause & __itt_resume

2014-09-26 16-50-13 Скриншот экрана.png

 

0 Kudos
Popov__Maxim
Beginner
1,228 Views

Switched to "Native".

Process start is still the same: fails to load dll and crash.

I haven't tested attach in that mode yet.

0 Kudos
Bernard
Valued Contributor I
1,228 Views

Can you check sldsearchu.dll binding with the help of dependency walker or dumpbin.exe.

0 Kudos
Robert_L_Intel1
Employee
1,228 Views

Hi Peter - It was not I who had the problem, but another, and I've been trying to reproduce it on 2015 with no luck.  However, I think the current issue may well not be the same as that originally reported at the beginning with the failed assertion.

So, following iliyapolak's train of thought most recently, I think the easiest might be to get the "handle" utility from sysinternals and see who might have an open handle to the DLL.  Run the utility while the Solid Works modal dialog is still open and waiting for you to click "ok"  That might give a clue as to who is holding on to it (Visual Studio maybe).  And, it would also tell you whether or not that is why it can't be loaded.

http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx

 

0 Kudos
Peter_W_Intel
Employee
1,228 Views

Thank you all for inputs.

I want to clarify/verify more, please confirm.

1. The issue is for both basic-hotspots and advanced-hotspots. Result will be same if specifying "native" mode, instead of "auto" mode.

2. Use VTune to launch Solid Works will hang, and seems some dll(s) of SOLIDWORKS are not loaded.

3. If attaching to profile running process, it can work but pause-resume & user task don't work. 

I have more thoughts: assume that VTune loads native code first from SOLIDWORKS application, then run managed code, and call native code again. I guess that VTune has limitation to profile code with pause/resume after running managed code. So, you have to remove pause-resume after it enters manage code, even you used them in native code but manage code already ran then. On other hand, it interpreted if you use VTune to profile running process - assume that your native code was monitored but managed code was executed, and pause-resume was not supported.

I need more information from developer, will update later. 

 

0 Kudos
Bernard
Valued Contributor I
1,228 Views

>>>So, following iliyapolak's train of thought most recently, I think the easiest might be to get the "handle" utility from sysinternals and see who might have an open handle to the DLL.  Run the utility while the Solid Works modal dialog is still open and waiting for you to click "ok"  That might give a clue as to who is holding on to it (Visual Studio maybe).  And, it would also tell you whether or not that is why it can't be loaded>>>

Very good approach. There is another slightly more advanced method  for DLL loading failure. It is based on Windows debugger and its option to track DLL's loading proces with the help of loader snaps settings.

http://msdn.microsoft.com/en-us/library/windows/hardware/ff556886(v=vs.85).aspx

http://blogs.msdn.com/b/junfeng/archive/2006/11/20/debugging-loadlibrary-failures.aspx

0 Kudos
Popov__Maxim
Beginner
1,228 Views

dumpbin of sldsearchu.dll

2014-09-29 12-29-56 Скриншот экрана.png

0 Kudos
Popov__Maxim
Beginner
1,228 Views

search of sldsearchu.dll gives 0 handles

2014-09-29 13-03-19 Скриншот экрана.png

0 Kudos
Popov__Maxim
Beginner
1,163 Views

Peter Wang :

1. yes. basic & advanced hotspost as well as native-auto mode gives the same results (dll load failure)

2. no, Vtune doesn't hangs. It still works and even give some results. But dll is not loaded and SolidWorks craches.

3. Yes, exactly.

 

I need pause-resume in my native code. I don't want to profile SolidWorks (it is a third party software for us. Our product is SolidWorks plug-in)

0 Kudos
Reply