QAccessibleTableCell uses QModelIndex to store it internally. It causes seldom crashes when such indexes becomes invalid (due to batch delete from model).
In our case app crashes under Microsoft Test Manager after deleting couple of rows from QTreeView with custom data model:
isIndexHidden called with index stored in QAccessibleTableCell and there is no object in model for QModelIndex::internalPointer.
As said in QModelIndex doc:
Note: Model indexes should be used immediately and then discarded. You should not rely on indexes to remain valid after calling model functions that change the structure of the model or delete items. If you need to keep a model index over time use a QPersistentModelIndex.