Community
cancel
Showing results for 
Search instead for 
Did you mean: 
opticom25
Beginner
66 Views

Function ippsCrossCorr_64f() crashes

Hi all,

when I invoke the function ippsCrossCorr_64f() (cross correlation) with special arguments, it might crash:
ippsCrossCorr_64f(x, 2593, y, 64000, corrIpp, 16001, 32560);

It seems to me, that the amount of memory allocated on the heap before calling this function has an influence on whether it is crashing or not.

In order for you to reproduce the crash find below a minimal demo program as source code and as binary.

I use IPP version 6.1.6, which was statically linked, have a Pentium 4 3.2GHz and use Windows XP 32 bit.

Any idea what causes the crash, e.g. wrong parameters, bug in the function etc.?

Thank you

---------------------------------------------------------------------------------
#include
#include
#include
#include


// Constants
const int MAX_SIGNAL_LEN = 200000;
const int X_LEN = 66468;
const int Y_LEN = 68868;

double *myMalloc(int length)
{
// return (double*)malloc(length*sizeof(double));
// return (double*)ippsMalloc_8u(length*sizeof(double));
return ippsMalloc_64f(length);
}

void myFree(double *x)
{
// free(x);
ippsFree(x);
}

int main()
{
ippStaticInit();

double *corrIpp = (double*)myMalloc(MAX_SIGNAL_LEN);
memset(corrIpp, 0, MAX_SIGNAL_LEN*sizeof(double));

double *x = (double*)myMalloc(X_LEN);
memset(x, 0, (X_LEN)*sizeof(double));

double *y = (double*)myMalloc(Y_LEN);
memset(y, 0, Y_LEN*sizeof(double));

ippsCrossCorr_64f(x, 2593, y, 64000, corrIpp, 16001, 32560);

myFree(x);
myFree(y);
myFree(corrIpp);

return 0;
}


0 Kudos
1 Reply
Chao_Y_Intel
Employee
66 Views

Hello,

I run the code and reproduced the problem. I escalated it to the function owner for future fix

Thanks,
Chao

Reply