[9.0rc5x86] Search with Everything sometimes finds nothing

The behaviour described in the bug report is either by design, or would be far too complex/time-consuming to be changed

Moderators: Hacker, petermad, Stefan2, white

Post Reply
User avatar
MVV
Power Member
Power Member
Posts: 8711
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

[9.0rc5x86] Search with Everything sometimes finds nothing

Post by *MVV »

I don't understand quite how to reproduce it but I've come into a situation when Everything finds nothing and TC thinks that all is OK.

When I've searched for any files with Everything, results bar was empty, and all was OK without Everything.

I can suspect that it might be because my Windows was out of memory from yesterday because I've seen Windows message when I've logged in today. It was Process Monitor who have eaten all free memory (and some applications have closed as a result), so perhaps it may be used in order to reproduce the problem: its event record size is about 400 bytes and default history depth value is 200mln so it may use up to ~80GB of RAM, you only need to forget to close it for a while. :)


Maybe it is an Everything bug (service problem or whatever else) but it is a pity that TC is unable to detect such problem.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50550
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Hmm, I never had that problem - what were you searching? Something very specific which would return just a few files, or *.* on all drives which would returns 100'000s of files? In the latter case, it may indeed be an out of memory condition.
Author of Total Commander
https://www.ghisler.com
User avatar
MVV
Power Member
Power Member
Posts: 8711
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

I've tried searching in a folder with just one file test.txt with foo bar contents, and I've searched with empty search string (all files), with *.*, with test etc. Also I've tried to search for text foo. Most probably Everything have stopped working so it returned no results on every query. The main question is can we detect such conditions or not...
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50550
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Difficult to say. Everything uses WM_COPYDATA for communication. TC sends it with SendMessage, and detects an error when it returns 0.

TC first tries an Everything 1.4.x search with file details, which gets return value 0 (error) from Everything 1.3.x. Then TC sends an Everything 1.3.x request. If that fails too, TC does a normal search.

However, it's not guaranteed that Everything always returns an error code, because the actual results are sent at a later time via WM_COPYDATA by Everything. It should send a EVERYTHING_IPC_LISTW structure, which doesn't have any field for error codes.
Author of Total Commander
https://www.ghisler.com
User avatar
MVV
Power Member
Power Member
Posts: 8711
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

I've tried to reproduce this bug in VM but with no luck, even after night of running Process Monitor all worked.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50550
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

OK, I will move this to "Will not be changed" for now.
Author of Total Commander
https://www.ghisler.com
Post Reply