Infinite loop on 1.4.1.809b (x86)

Found a bug in "Everything"? report it here
Post Reply
kanenas
Posts: 10
Joined: Tue Sep 13, 2011 6:08 pm

Infinite loop on 1.4.1.809b (x86)

Post by kanenas »

Hello.
Last night I left the computer on (no user applications running) and this morning I found Everything running at full CPU speed. That was the task with the -startup flag, not the service.

I did some checking before killing this process:

-- I activated its debug log and it only showed:

Code: Select all

Everything
Version 1.4.1.809b (x86)
Windows NT 6.1
Processors 2
IsAdmin 1
AppData 1
Service 1
cmdline "C:\Program Files (x86)\Everything\Everything.exe" -startup
WM_ACTIVATE 00000000 00000000, lastfocus 00052298, current focus 00052298
After I did some searches, it would add more data to the log.

-- It would respond to searches but would't record any new files I created.

-- Process Monitor didn't show any activities from it (most probably it was in a loop that didn't involve any external accesses).

-- I created a -hang mode dump with adplus (a part of Windows Debugging Tools).
I checked it with Windbg and its IP at the moment of the dump was at offset 0x9aa9b

Code: Select all

Everything+0x9aa9b:
00000000`0049aa9b 8b06            mov     eax,dword ptr [rsi] ds:00000000`04a1a254=00000000
This is part of the routine sub_49A950 (as per IDA) that starts at offset 0x99D50 (some device I/O on NTFS volume data and whatever it does with it).

The stack log is a bit useless. This is its beginning:

Code: Select all

00 00000000`03b8fb54 00a200a0`00a4d640 Everything+0x9aa9b
01 00000000`03b8fb5c 00a4d640`00a4d640 0x00a200a0`00a4d640
02 00000000`03b8fb64 00000001`04a1a098 0x00a4d640`00a4d640
03 00000000`03b8fb6c 00000001`04a1a4a4 0x00000001`04a1a098
04 00000000`03b8fb74 03b8fc90`00000000 0x00000001`04a1a4a4
05 00000000`03b8fb7c 0000040f`00000028 0x03b8fc90`00000000
06 00000000`03b8fb84 00000000`0001ec65 0x0000040f`00000028
07 00000000`03b8fb8c 000900bb`0000040c 0x1ec65
08 00000000`03b8fb94 00000000`00a4d640 0x000900bb`0000040c
And that was the end of my investigation. I shut the task down before my computer burned up :)

I kept the adplus output with the dump file. Compressed, it's about 120 MB. I can upload it somewhere if you need it to check something else.

Cheers.
void
Developer
Posts: 15096
Joined: Fri Oct 16, 2009 11:31 pm

Re: Infinite loop on 1.4.1.809b (x86)

Post by void »

Thanks for the stack info.

The infinite loop is most likely caused by a zero lengthed NTFS attribute.

I've added detection for zero lengthed NTFS attributes in Everything 1.4.1.814b
kanenas
Posts: 10
Joined: Tue Sep 13, 2011 6:08 pm

Re: Infinite loop on 1.4.1.809b (x86)

Post by kanenas »

You're quick on the job, aren't you? :). Congrats.

Is that possible zero-length attribute a valid case or something I should worry about and start checking the hard disk?

Thank you for the updated installer.
void
Developer
Posts: 15096
Joined: Fri Oct 16, 2009 11:31 pm

Re: Infinite loop on 1.4.1.809b (x86)

Post by void »

Is that possible zero-length attribute a valid case or something I should worry about and start checking the hard disk?
Nothing to worry about.
Everything reads the attributes out of sync with the NTFS driver, so Everything may end up reading an invalid attribute if an update occurred, which is fine because it will detect the update and re-read the new attribute.
Post Reply