Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

UMC H264 decoder heap corruption

andrei_m
Beginner
338 Views
Hi,

I'm getting heap corruption message while running simple_player example (release_ascii build configuration). I was playing the same video for 50-100 times in a row and then I've suddenly received a heap corruption message.

[cpp]HEAP[simple_player.exe]: Invalid Address specified to RtlFreeHeap( 010E0000, 010EBA18 )
Windows has triggered a breakpoint in simple_player.exe.

This may be due to a corruption of the heap, and indicates a bug in simple_player.exe or any of the DLLs it has loaded.
[/cpp]

I'm using IPP 6.0 update 2 and a sample package ver. 6.0.0.130.

Is this a known issue? has anyone solved it?

Thanks,
Andrei.
0 Kudos
1 Reply
andrei_m
Beginner
338 Views
Here is a call stack when the corruption is detected by Visual Studio:

ntdll.dll!7c90120e()
[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]
ntdll.dll!7c96c201()
ntdll.dll!7c96c63e()
ntdll.dll!7c96d826()
ntdll.dll!7c949e1c()
simple_player.exe!_w7_ippiInterpolateLuma_H264_8u_C1R@32() + 0x59 bytes
ntdll.dll!7c927553()
> simple_player.exe!UMC::FilterDeblockingLuma_HorEdge(unsigned char * pSrcDst=0x01c0af40, int srcdstStep=192, unsigned char * pAlpha=0x01e8fde8, unsigned char * pBeta=0x01e8fde4, unsigned char * pThresholds=0x01e8fdf8, unsigned char * pBS=0x01e8fe30, int bit_depth=8) Line 36 C++
simple_player.exe!UMC::H264SegmentDecoder::DeblockLuma(unsigned int dir=17694720, UMC::DeblockingParameters * pParams=0x00000000) Line 348 + 0x9 bytes C++
simple_player.exe!free(void * pBlock=0x010e8cc8) Line 110 C
simple_player.exe!UMC::H264StructArray<:EVENT>::Reallocate(unsigned int nCount=4294967295) Line 1579 + 0x9 bytes C++
simple_player.exe!__fpclass() + 0x4f7f bytes C++
simple_player.exe!UMC::TaskBrokerTwoThread::GetNextTaskInternal(UMC::H264Task * pTask=0x01e8ff08) Line 1192 + 0x21 bytes C++
simple_player.exe!UMC::TaskBroker::GetNextTask(UMC::H264Task * pTask=0x01e8ff08) Line 470 C++
simple_player.exe!UMC::H264SegmentDecoderMultiThreaded::ProcessSegment() Line 192 + 0x11 bytes C++
simple_player.exe!UMC::H264Thread::DecodingThreadRoutine(void * p=0x01eb0048) Line 103 C++
simple_player.exe!_callthreadstartex() Line 348 + 0x6 bytes C
simple_player.exe!_threadstartex(void * ptd=0x010e8d70) Line 326 + 0x5 bytes C
kernel32.dll!7c80b713()

0 Kudos
Reply