Hi,
i was using valgrind / callgrind to analyse the performance of the functions
in intel H264 decoder. I was using valgrind / callgrind for this purpose. when
i use valgrind and run the h264 decoder the process terminating with default
action of signal 4 (SIGILL)
==16008== Illegal opcode at address 0x9F4F04A
==16008== at 0x9F4F04A: ??? (in
/home/amehrotra/views/amehrotra_brody_DCA-ENG-2.1_NSNTweaks_11_2/dca/build/inst/gstreamer/lib/gstreamer-0.10/libdcadec_h264.so)
==16008== by 0x9E7944E: y8_ippiFilterDeblockingChroma_VerEdge_H264_8u_C1IR
(in
/home/amehrotra/views/amehrotra_brody_DCA-ENG-2.1_NSNTweaks_11_2/dca/build/inst/gstreamer/lib/gstreamer-0.10/libdcadec_h264.so)
Attaching the full trace for reference. Although the problem looks very
specific to my intel ipp libraries Any help would be appreciated :
regards
Abhishek
.................................................................................................................................................................
Running gst-launch under Valgrind/callgrind!
==16008== Callgrind, a call-graph generating cache profiler
==16008== Copyright (C) 2002-2010, and GNU GPL'd, by Josef Weidendorfer et al.
==16008== Using Valgrind-3.6.0 and LibVEX; rerun with -h for copyright info
==16008== Command: ./inst/gstreamer/bin/gst-launch-0.10 --gst-debug=*:0 filesrc
location=/home/amehrotra/2_22712.ts ! mpegtsdemux ! dcadec_h264 iNumThreads=1 !
fakesink
==16008==
==16008== For interactive control, run 'callgrind_control -h'.
(gst-launch-0.10:16009): GStreamer-WARNING **: Failed to load plugin
'/home/amehrotra/views/amehrotra_brody_DCA-ENG-2.1_NSNTweaks_11_2/dca/../dca/build/inst/gstreamer/lib//libintlc.so':
/home/amehrotra/views/amehrotra_brody_DCA-ENG-2.1_NSNTweaks_11_2/dca/../dca/build/inst/gstreamer/lib//libintlc.so:
file too short
(gst-launch-0.10:16009): GStreamer-WARNING **: Failed to load plugin
'/home/amehrotra/views/amehrotra_brody_DCA-ENG-2.1_NSNTweaks_11_2/dca/../dca/build/inst/gstreamer/lib//libsvml.so':
/home/amehrotra/views/amehrotra_brody_DCA-ENG-2.1_NSNTweaks_11_2/dca/../dca/build/inst/gstreamer/lib//libsvml.so:
undefined symbol: __intel_cpu_indicator
==16009==
==16009== Events : Ir
==16009== Collected : 158904319
==16009==
==16009== I refs: 158,904,319
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
vex amd64->IR: unhandled instruction bytes: 0x49 0xF 0xFC 0x6B 0x10 0xF
==16008== valgrind: Unrecognised instruction at address 0x9f4f04a.
==16008== Your program just tried to execute an instruction that Valgrind
==16008== did not recognise. There are two possible reasons for this.
==16008== 1. Your program has a bug and erroneously jumped to a non-code
==16008== location. If you are running Memcheck and you just saw a
==16008== warning about a bad jump, it's probably your program's fault.
==16008== 2. The instruction is legitimate but Valgrind doesn't handle it,
==16008== i.e. it's Valgrind's fault. If you think this is the case or
==16008== you are not sure, please let us know and we'll try to fix it.
==16008== Either way, Valgrind will now raise a SIGILL signal which will
==16008== probably kill your program.
==16008==
==16008== Process terminating with default action of signal 4 (SIGILL)
==16008== Illegal opcode at address 0x9F4F04A
==16008== at 0x9F4F04A: ??? (in
/home/amehrotra/views/amehrotra_brody_DCA-ENG-2.1_NSNTweaks_11_2/dca/build/inst/gstreamer/lib/gstreamer-0.10/libdcadec_h264.so)
==16008== by 0x9E7944E: y8_ippiFilterDeblockingChroma_VerEdge_H264_8u_C1IR
(in
/home/amehrotra/views/amehrotra_brody_DCA-ENG-2.1_NSNTweaks_11_2/dca/build/inst/gstreamer/lib/gstreamer-0.10/libdcadec_h264.so)
==16008== by 0x9CDE5D7: UMC::H264SegmentDecoder::DeblockChroma420(unsigned
int, UMC::DeblockingParameters*) (umc_h264_segment_decoder_deblocking.cpp:446)
==16008== by 0x9CDFAA1:
UMC::H264SegmentDecoder::DeblockMacroblockISlice(int)
(umc_h264_segment_decoder_deblocking.cpp:186)
==16008== by 0x9CDFDA4: UMC::H264SegmentDecoder::DeblockSegment(int, int)
(umc_h264_segment_decoder_deblocking.cpp:121)
==16008== by 0x9C2D8D5: UMC::H264SegmentDecoder::DeblockSlice(int, int&)
(umc_h264_segment_decoder.cpp:81)
==16008== by 0x9C1D529:
UMC::H264SegmentDecoderMultiThreaded::ProcessSegment()
(umc_h264_segment_decoder_mt.cpp:210)
==16008== by 0x9C00F45: UMC::TaskSupplier::RunDecoding(UMC::MediaData*,
UMC::MediaData*, bool) (umc_h264_task_supplier.cpp:3175)
==16008== by 0x9C02669: UMC::TaskSupplier::AddSource(UMC::MediaData*&,
UMC::MediaData*) (umc_h264_task_supplier.cpp:2334)
==16008== by 0x9BFB074: UMC::H264VideoDecoder::ParseFrame(UMC::MediaData*,
UMC::MediaData*) (umc_h264_dec_decode_pic.cpp:268)
==16008== by 0x9BFB16B: UMC::H264VideoDecoder::GetFrame(UMC::MediaData*,
UMC::MediaData*) (umc_h264_dec_decode_pic.cpp:216)
==16008== by 0x9BF9428: dcah264_dec_chain (in
/home/amehrotra/views/amehrotra_brody_DCA-ENG-2.1_NSNTweaks_11_2/dca/build/inst/gstreamer/lib/gstreamer-0.10/libdcadec_h264.so)
==16008==
==16008== Events : Ir
==16008== Collected : 257134093
==16008==
==16008== I refs: 257,134,093
./runGSTCallGrind.sh: line 14: 16008 Killed valgrind
--tool=callgrind --separate-threads=no --compress-strings=no
--callgrind-out-file=gst_callgrind_eai_false_%p.out
./inst/gstreamer/bin/gst-launch-0.10 --gst-debug=*:0 filesrc
location=/home/amehrotra/2_22712.ts ! mpegtsdemux ! dcadec_h264 iNumThreads=1 !
fakesink
-rwxr--r-- 1 amehrotra clearusr 1408588 Apr 3 23:16
gst_callgrind_eai_false_25680.out
-rwxr--r-- 1 amehrotra clearusr 322598 Apr 3 23:16
gst_callgrind_eai_false_25677.out
-rwxr--r-- 1 amehrotra clearusr 3321857 Apr 3 23:18
gst_callgrind_eai_false_25749.out
-rwxr--r-- 1 amehrotra clearusr 714650 Apr 3 23:18
gst_callgrind_eai_false_25748.out
-rwxr--r-- 1 amehrotra clearusr 489636 Apr 3 23:18
gst_callgrind_eai_false_25755.out
-rwxr--r-- 1 amehrotra clearusr 1515272 Apr 4 00:07
gst_callgrind_eai_false_25754.out
-rw------- 1 amehrotra clearusr 439716 Jun 19 21:14
gst_callgrind_eai_false_15990.out
-rw------- 1 amehrotra clearusr 889884 Jun 19 21:14
gst_callgrind_eai_false_15988.out
-rw------- 1 amehrotra clearusr 438328 Jun 19 21:16
gst_callgrind_eai_false_16009.out
-rw------- 1 amehrotra clearusr 1553565 Jun 19 21:16
gst_callgrind_eai_false_16008.out
________________________________
DISCLAIMER: The information in this message is confidential and may be legally
privileged. It is intended solely for the addressee. Access to this message by
anyone else is unauthorized. If you are not the intended recipient, any
disclosure, copying, or distribution of the message, or any action or omission
taken by you in reliance on it, is prohibited and may be unlawful. Please
immediately contact the sender if you have received this message in error.
Further, this e-mail may contain viruses and all reasonable precaution to
minimize the risk arising there from is taken by OnMobile. OnMobile is not
liable for any damage sustained by you as a result of any virus in this e-mail.
All applicable virus checks should be carried out by you before opening this
e-mail or any attachment thereto.
Thank you - OnMobile Global Limited.
------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users