Analyzers
Support for Analyzers (Intel VTune™ Profiler, Intel Advisor, Intel Inspector)

Profiling an application which uses SIGNALS

Wolfgang_K_
Beginner
637 Views

Hello,
we are using Intel VTune 2015 for profiling our application which is running under CentOS 5.11.
Our application uses c++ signals for the control flow. When trying to do a basic hotspots analysis using amplxe-cl command line tool with the following parameters: 
-duration 20 --run-pass-thru=--profiling-signal=1
VTune yields the following error message when detaching after the 20 seconds duration. Alternative to the number 1 I also tried number 4 without any change in results.

amplxe: Error: Assertion failed: handler_ex1445: obj->is_first_class_handler_set[signo] == 1 : BUG! : signo == 1. Please contact the technical support. 

Without using "--run-pass-thru=--profiling-signal=1" as parameter the signal handlers of our application do not work after profiling and the process is ended when receiving a signal.
Please provide guidance on how to use VTune in this scenario.

Best Regards,
Stephan

0 Kudos
28 Replies
Peter_W_Intel
Employee
165 Views

@ Wolfgang K,

We cannot guarantee any exact time for next release to users . Your expectation is about 5-8 weeks from U2 based on my experience...again, it is not the official time, just my estimation. A formal time frame for next release is business confidential...thanks for your understandings.

Regards, Peter 

Peter_W_Intel
Employee
165 Views

Now VTune(TM) Amplifier XE 2015 Update 3 is ready, this version has solved the issue of Ctrl-C handling for TPSS collector.

Wolfgang_K_
Beginner
165 Views

Hello Peter,

we tested VTune(TM) Amplifier XE 2015 Update 4 with the SignalsTest application and confirm that the handling of ctrl-c is fixed.
The real application which we need to profile does not only use Signals for control flow but also for its timing. This was not covered by the SignalsTest application.
When we profile our real application using VTune(TM) Amplifier XE 2015 Update 4 it is still crashing after profiling is finished, most likely because of the broken signal handler which controls the timing in our application. Therefore I extended the SignalsTest application and added the same signal handler which is used for timing to it. The error can be reproduced using this extended application with all of the following commands

./amplxe-cl -collect hotspots -duration 20 -target-process SignalsTest
./amplxe-cl -collect hotspots -duration 20 [-run-pass-thru=-no-altstack] -target-process SignalsTest
> Kills process after collection

./amplxe-cl -collect hotspots -duration 20 --run-pass-thru=--profiling-signal=33 -target-process
./amplxe-runss --data-limit-mb=500 --stack-stitching --follow-child --itt-config=frame --stackwalk=offline -profiling-signal 33 -duration 5 --type=cpu:counters:nostack --type=cpu:stack --target-process SignalsTest
> Kills process immediately

The error message of the application is always 'Real-time signal 4'.
Could you please forward the new application to a developer so that he can have a look into the issue.

Thanks!

Peter_W_Intel
Employee
165 Views

OK, I have escalated your file to developer for re-investigating on timing control.

Wolfgang_K_
Beginner
165 Views

Hi Peter,

do you have an update concerning the re-investigation? Can the issue be reproduced at your side using the new SignalsTest application? 

Thanks and Best Regards,

Stephan

Peter_W_Intel
Employee
165 Views

@ Stephan,

I will verify this with developer and get back to you soon. Sorry for late.

Peter_W_Intel
Employee
165 Views

Yes. I launched SignalsTest, then ran VTune in another console,

# amplxe-cl -collect hotspots -duration 20 --run-pass-thru=--profiling-signal=33 -target-process SignalsTest


It stopped immediately, Elapsed time on VTune's output was "0", that was unexpected since we set duration as "20". This is a bug in 2015 U4.

Peter_W_Intel
Employee
165 Views

Using latest VTune(TM) Amplifier XE 2017 beta update 1 has fixes this issue.

Reply