Hi
i have one periodic fastrpc function called addSamples() which is called at every 20ms time interval from android Service stub loadable library to DSP skel.
One Random behavior is like after some successfull calls to addSample(), I am getting error message.
"E/adsprpc ( 2578): vendor/qcom/proprietary/adsprpc/src/listener_android.c:121:listener protocol failure -1
E/adsprpc ( 2578): vendor/qcom/proprietary/adsprpc/src/listener_android.c:125::error: -1: 0 == (nErr = __QAIC_HEADER(adsp_listener_next_invoke)( ctx, nErr, 0, 0, &ctx, &handle, &sc, bufs->inbufs, inBufsAllocated, bufs->inbufLenReqs, MAX_BUFS, bufs->outbufLenReqs, MAX_BUFS))"
and return value of that function is -1, and very next time of addSample call it gives error message
"E/adsprpc ( 2578): vendor/qcom/proprietary/adsprpc/src/listener_android.c:182:listener thread exiting with code -1
E/adsprpc ( 2578): vendor/qcom/proprietary/adsprpc/src/listener_android.c:184:listener thread failed to cleanly shutdown. This is ok durring process exit.",
after this every addSapmle call returns with error code -1.
Can please tell me why adsprpc get failed? I also tried with put mutex and all. still, fail occure.
I also checked on DSP side it does not given any error message or log. DSP also running.
Issue is very random. hard to say reproduce steps and again occured everytime. It also not occur with duration or processing load(traffic).
One more observation on this about /dev/adsprpc-smd.
lsmod /dev/adsprpc-smd output when application is not running.
lsmod /dev/adsprpc-smd output when api start to fail with posted errors.
make sure the code running on the DSP doesn't leak, or crash.
You can try removing the contents of your function, to basically do nothing except for 'return 0', and check if you see a similar error. If not, its probably an issue somewhere in your code. you can then selectively enable parts of it to figure out what exactly is causing it.