The error appears to originate with the assignment of "record" in "doSingleSelect":
record = records.length ? records : records;
After this assignment, "record" is a zero length array, which means that it gets the selectedItemCls "x-boundlist-selected" assigned to it on down the chain. That causes code up and down the line, specifically getXY, to treat it as a non-empty element.
Simply suppressing the exception is not really a great solution, in my view, since we're expecting *no* selection to be returned, and instead the selectionChange events are propagating this object:
We have not been able to find a workaround for this that doesn't involve editing the extjs code itself. I'm reluctant to do that, since a future upgrade that includes a patch from Sencha using a different fix would potentially break this.
The nearest I've been able to come to a workaround is to hack the MultiSelect by:
* Setting the selection mode to "multi"
* Adding a listener to force only the most-recently selected item to remain selected
Is there any other workaround that would be better to consider?