Tracker doesn't load all poses on folders with thousands of files.
|Reported by:||aldeck||Owned by:||aldeck|
Tracker doesn't load all poses on folders with thousands of files. This problem was first mentioned in #2760's comments, but now it's more clear it's a different bug.
Investigating on #3011 i found some new infos:
I added some debug output to AddPosesTask and apparently GetNextDirents returns 0 although there are still more items in the dir. http://dev.haiku-os.org/browser/haiku/trunk/src/kits/tracker/PoseView.cpp#L1263 . It fails after a few thousand files but it's quite variable.
Interestingly, when i tried commenting "model->CloseNode()" here http://dev.haiku-os.org/browser/haiku/trunk/src/kits/tracker/PoseView.cpp#L1742 for #3011's investigation, i noticed the problem was worse. That is GetNextDirents would fail after a few hundred files.
Closing model nodes "model->CloseNode()" on each model in PoseView::AddPosesTask loop and reopening it in CreatePoses, made the problem disappear, although hitting performance a bit.
There must be something fishy with models not being all closed by seeing the old debug ifdefs in the related methods. Anyone has an idea why GetNextDirents would fail though?
setting tracker component, might be a kernel/fs bug.