Call stacks: "Result directory does not contain data applicable to this report."

Call stacks: "Result directory does not contain data applicable to this report."

Ritratto di David F.

I'm using the command line interface of Amplifier XE of Parallel Studio XE 2013 under Windows 7 x86_64 with a Xeon W3530 CPU. The problem is I cannot get reports with call stacks when hardware events are used.

amplxe-cl -version Intel(R) VTune(TM) Amplifier XE 2013 Update 4 (build 270817) Command Line Tool Copyright (C) 2009-2013 Intel Corporation. All rights reserved.

When I try to do the following, it complains of missing data and I get no report:

amplxe-cl -collect-with runsa -knob enable-stack-collection=true -knob event-config=CPU_CLK_UNHALTED.THREAD_P:sa=1000000 -inline-mode=on -result-dir=val1_data -- val1.exe [... warnings about unresolved symbols in system dlls ...] amplxe-cl -report top-down -inline-mode=on -result-dir=val1_data -report-output=val1.txt Result directory does not contain data applicable to this report. amplxe: Error: Error 0x40000024 (Reporter error)

At this point I can do the hw-events report type for a flat profile and there are plenty of samples in there but callstacks, hotspots, gprof-cc, or top-down reports all fail.

If I collect data the following way instead, val1.exe crashes on exit (stopped responding, click here to close) but the call stack reports then work as expected:

amplxe-cl -collect hotspots -knob sampling-interval=1 -inline-mode=on -result-dir=val1_data -- val1.exe

Thanks for any suggestions on how to get the call stack reports working with hardware events.

7 post / 0 new
Ultimo contenuto
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione
Ritratto di Peter Wang (Intel)

1. Have you built symbol file with your executable?

2. Is there same problem if you profile other application? Your application ran enough longer than 10ms?

3. Can you see report expectedly if there is no Stack Collection?

Ritratto di David F.

Peter Wang (Intel) posted:
> 1. Have you built symbol file with your executable?

Build is as shown below (apologies if the line breaks go away again).  I don't know if the substitution of /Z7 for /Zi made a difference, but the linker still produces a .pdb file when it's all over.  /Zi fails for unrelated reasons (keeps wanting the pdb lib from VS2010 instead of 2012) and falls back to /Z7 anyway.

icl val1.c /Qstd=c99 /Z7 /link /DEBUG
Intel(R) C++ Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 13.1.0.149 Build 20130118
Copyright (C) 1985-2013 Intel Corporation.  All rights reserved.
val1.c
Microsoft (R) Incremental Linker Version 11.00.51106.1
Copyright (C) Microsoft Corporation.  All rights reserved.
-out:val1.exe 
-debug 
-pdb:val1.pdb 
/DEBUG 
val1.obj

> 2. Is there same problem if you profile other application?

Another application built similarly has the same problem.  I'm not sure what differently built application to try that would have the prerequisites for successful stack collection.  I randomly tried firefox.exe and was unable to get anything more than a sample count for the entire app (apparently not enough debug info to resolve to individual functions).

Would the missing symbols for system dlls somehow prevent stacks from being recorded for samples that are within the application itself?  I expected the unresolved system functions to show up as "unknown" or something but not to kill the data collection entirely, so didn't bother installing the pdbs for all of the system libs.

> Your application ran enough longer than 10ms?

Definitely.  Close to 10 s, thousands of samples collected.

> 3. Can you see report expectedly if there is no Stack Collection?

The hw-events report type gives the expected flat profile results regardless whether stack collection was enabled.  For the other reports that expect call stacks, removing enable-stack-collection=true changes nothing.

Ritratto di David F.

Now this is interesting:  I started the Amplifier XE GUI, opened the result directory that I produced from the command line data collection, navigated to the top-down view, and the call stacks appeared there in the GUI with no problems.  So the problem is not in data collection, only reporting.

Ritratto di Peter Wang (Intel)

Quote:

David F. wrote:

Now this is interesting:  I started the Amplifier XE GUI, opened the result directory that I produced from the command line data collection, navigated to the top-down view, and the call stacks appeared there in the GUI with no problems.  So the problem is not in data collection, only reporting.

I don't know if you go back to command line, can you see this problem again?

If "yes", it should be a defect of tool - please attach result directory for investigaing, the problem should be fixed. Thank you.

If "no", GUI might find associate pdb files, such as do "amlpxe-cl -finalize --search-dir all:rp=pdb-path -r result-directory" in command line (probably you saved different pdb path from executable path?) 

Ritratto di David F.

Something changed in the val1_data directory after every command, so I have included four versions:

  1. Original, immediately after data collection.
  2. After first failed attempt to generate a top-down report from the command line.
  3. After successful viewing of top-down view in the GUI.
  4. After subsequent second failed attempt from the command line.

Allegati: 

AllegatoDimensione
Scarica val1-data.zip7.16 MB
Ritratto di Peter Wang (Intel)

Thank you for result directory.

I can repeat this problem, only "-report hw-events" can be supported.

However if you use "amplxe-cl -collect lightweight-hotspots -- val1.exe " instead of "amplxe-cl -collect runsa -- val1.exe ",

"amplxe-cl -report top-down -r result-dir" should work.

Anyway, I will post the update after investigating. 

Accedere per lasciare un commento.