Welcome Guest,Register Now
Log In

ANT Forum

Welcome guest, please Login or Register

   

com.dsi.ant.channel.AntCommandFailedException: ANT Adapter responded with failure code: 21

Rank

Total Posts: 4

Joined 2019-04-15

PM

I have several reports of crashes from my devices saying
com.dsi.ant.channel.AntCommandFailedException: ANT Adapter responded with failure code: 21
BasicSearchTask: at com.dsi.ant.channel.AntChannel.checkResult(AntChannel.java:955)
BasicSearchTask: at com.dsi.ant.channel.AntChannel.open(AntChannel.java:592)
BasicSearchTask: at com.dsi.ant.plugins.antplus.utility.search.tasks.BasicSearchTask.doWork(BasicSearchTask.java:158)
BasicSearchTask: at com.dsi.ant.plugins.antplus.utility.executor.AntChannelTask.doWorkInternal(AntChannelTask.java:659)
BasicSearchTask: at com.dsi.ant.plugins.antplus.utility.executor.AntChannelTask.runSubTask(AntChannelTask.java:208)
BasicSearchTask: at com.dsi.ant.plugins.antplus.utility.executor.AntChannelTask.runSubTask(AntChannelTask.java:183)
BasicSearchTask: at com.dsi.ant.plugins.antplus.utility.search.tasks.RepeatingSearchTask.doWork(RepeatingSearchTask.java:69)
BasicSearchTask: at com.dsi.ant.plugins.antplus.utility.executor.AntChannelTask.doWorkInternal(AntChannelTask.java:659)
BasicSearchTask: at com.dsi.ant.plugins.antplus.utility.executor.AntChannelExecutor$2.run(AntChannelExecutor.java:178)
BasicSearchTask: at java.lang.Thread.run(Thread.java:761)
and
Handler (com.dsi.ant.plugins.antplus.utility.search.StandardDiscoverySearch$ResultProcessor) {951ea84} sending message to a Handler on a dead thread
MessageQueue: java.lang.IllegalStateException: Handler (com.dsi.ant.plugins.antplus.utility.search.StandardDiscoverySearch$ResultProcessor) {951ea84} sending message to a Handler on a dead thread
MessageQueue: at android.os.MessageQueue.enqueueMessage(MessageQueue.java:543)
MessageQueue: at android.os.Handler.enqueueMessage(Handler.java:643)
MessageQueue: at android.os.Handler.sendMessageAtTime(Handler.java:612)
MessageQueue: at android.os.Handler.sendMessageDelayed(Handler.java:582)
MessageQueue: at android.os.Handler.post(Handler.java:338)
MessageQueue: at com.dsi.ant.plugins.antplus.utility.search.StandardDiscoverySearch$ResultProcessor.onDiscoveryStopped(StandardDiscoverySearch.java:83)
MessageQueue: at com.dsi.ant.plugins.antplus.utility.search.StandardDiscoverySearch$2.onExecutorDeath(StandardDiscoverySearch.java:169)
MessageQueue: at com.dsi.ant.plugins.antplus.utility.executor.AntChannelExecutor.killExecutor(AntChannelExecutor.java:394)
MessageQueue: at com.dsi.ant.plugins.antplus.utility.executor.AntChannelExecutor.access$000(AntChannelExecutor.java:18)
MessageQueue: at com.dsi.ant.plugins.antplus.utility.executor.AntChannelExecutor$1.onChannelDeath(AntChannelExecutor.java:79)
MessageQueue: at com.dsi.ant.channel.AntChannel$ChannelEventDispatcher.onChannelDeath(AntChannel.java:155)
MessageQueue: at com.dsi.ant.channel.ipc.aidl.AntChannelCommunicatorAidl.onChannelDeathMessage(AntChannelCommunicatorAidl.java:216)
MessageQueue: at com.dsi.ant.channel.ipc.aidl.AntChannelCommunicatorAidl$AntIpcEventReceiver.handleMessage(AntChannelCommunicatorAidl.java:136)
MessageQueue: at android.os.Handler.dispatchMessage(Handler.java:102)
MessageQueue: at android.os.Looper.loop(Looper.java:154)
MessageQueue: at android.os.HandlerThread.run(HandlerThread.java:61)


According to the documentation
antPlusScan.closeScanController() 
is supposed to stop any in-flight scans.

It looks like there are multiple scanners are remained opened or not cleaned up even though I'm calling
antPlusScan.closeScanController() 
before each time I call
antPlusScan AntPlusHeartRatePcc.requestAsyncScanController() 
.

Why would there be handlers still living for these scans?