Синий экран с ClearCase

Здесь можно сообщить о найденных багах в Far.
Post Reply
yms
Posts: 209
Joined: Sun 14 Jun, 2009 10:38
Been thanked: 2 times
Contact:

Синий экран с ClearCase

Post by yms » Tue 19 Apr, 2016 14:33

При попытке выполнить команду cd на диске ClearCase (на таком диске работает виртуальная файловая система со своим драйвером), если в качестве параметра по ошибке указано имя файла вместо имени каталога, винда (7 sp1) валится в синий экран.

Крэш происходит в функции FindFirstFileInternal, когда выполняется NtQueryDirectoryFile с параметром FileName = L"*" на "каталоге" (напомню, это на самом деле файл), открытом перед этим через CreateFile. Уж не знаю, зачем эти телодвижения делаются именно так, но вот если бы этой операции можно было избежать...

Писать багрепорт IBM'у не предлагать: никакое действие штатными средствами винды, никакая команда из cmd систему не валит. А даже если допустить, что они исправят - нынешняя версия у меня на работе есть корпоративная данность, не факт, что новую дадут скоро установить.

User avatar
DrKnS
Posts: 5426
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 6 times
Been thanked: 249 times

Синий экран с ClearCase

Post by DrKnS » Tue 19 Apr, 2016 21:03

Что-то вы не договариваете.

Ок, cd c:\windows\explorer.exe
Far дописал \* и передал c:\windows\explorer.exe\* в FindFirstFileInternal.
FindFirstFileInternal извлёк из переданного пути папку методом обрезания * и передал c:\windows\explorer.exe\ (в конце слеш) в CreateFile.
CreateFile не умеет открывать файлы со слешем на конце, поэтому често вернул INVALID_HANDLE_VALUE и поставил last error в 0x0000007b - ERROR_INVALID_NAME : The filename, directory name, or volume label syntax is incorrect.
На этом всё и завершилось, до NtQueryDirectoryFile не дошло.

yms
Posts: 209
Joined: Sun 14 Jun, 2009 10:38
Been thanked: 2 times
Contact:

Синий экран с ClearCase

Post by yms » Wed 20 Apr, 2016 09:15

DrKnS wrote:Что-то вы не договариваете.

CreateFile не умеет открывать файлы со слешем на конце,
Возможно, под ClearCase CreateFile умеет "открывать" такие папки, я завтра на работе проверю.
Last edited by yms on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Спрятан оверквотинг

Karagy
Posts: 57
Joined: Tue 02 May, 2006 08:43
Location: Питер
Been thanked: 3 times

Синий экран с ClearCase

Post by Karagy » Wed 20 Apr, 2016 11:22

Емнип, CreateFile вообще мало чего "умеет" сама. Это, по сути, диспетчер запросов к низлежащим слоям OS FS API. Это я к тому что таки да - пишите репорт в IBM. Раньше напишете - раньше пофиксят. А не через десять лет, как обычно.

Post Reply

Return to “Глюки и баги”