strange "invalid configuration argument" error

I found a strange error.
there is a kernel: global void formula(float* dataout, float* datain, float a, float epislon) where dataout and datain are in the device memory, a and epislon are two variables in the mian() function. it run OK when no fscanf() function is used. But, if fscanf() is used before the kernel launched, the error “invalid configuration argument” came out using cudaGetLastError().
But how does this happens, does the fscanf() function have anything to do with the kernel?

Can you give the exact fscanf() call you use?

(double post, sorry)