View Issue Details

IDProjectCategoryView StatusLast Update
0002865PluginsArclitepublic2015-12-18 17:51
ReporterMaximus Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status newResolutionopen 
Product Version3.0 
Summary0002865: Dead lock при попытке запроса Elevation
DescriptionВыделить на панели две папки, во второй есть файл, для открытия на чтение которого требуется elevation. Жмем ShiftF1, результат *.7z на другую панель (где есть доступ на запись). Enter.

В итоге, прогресс побежал (или не побежал, если не успеет) и завис.
Additional InformationMain thread stack
     ntdll.dll!_NtWaitForSingleObject@12() + 0xc bytes
     KernelBase.dll!_WaitForSingleObjectEx@12() + 0x6c bytes
     KernelBase.dll!_WaitForSingleObject@8() + 0x12 bytes
     7z.dll!06ab70d9()
     [Frames below may be incorrect and/or missing, no symbols loaded for 7z.dll]
     arclite.dll!639f2e13()
     arclite.dll!639c2ad5()
     ntdll.dll!_RtlpHeapRemoveListEntry@24() + 0x62 bytes
     ntdll.dll!_RtlpHeapFindListLookupEntry@20() + 0x2e bytes
     Far.exe!std::_Func_impl<std::_Callable_obj<<lambda_7c9043085519267282365f4afbb0e51f>,0>,std::allocator<std::_Func_class<void> >,void>::_Do_call() Line 228 + 0xd bytes C++
     Far.exe!PluginManager::PutFiles(PluginHandle * hPlugin, PluginPanelItem * PanelItem, unsigned int ItemsNumber, bool Move, int OpMode) Line 1364 C++
> Far.exe!FileList::PluginPutFilesToAnother(int Move, Panel * AnotherPanel) Line 6188 + 0x35 bytes C++
     Far.exe!FileList::PluginPutFilesToNew() Line 6123 C++
     Far.exe!FileList::ProcessKey(const Manager::Key & Key) Line 1598 + 0x7 bytes C++
     Far.exe!FilePanels::ProcessKey(const Manager::Key & Key) Line 838 + 0x11 bytes C++


pluginapi::apiCreateFile thread stack
> Far.exe!elevation::ElevationApproveDlg(LNGID Why, const std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > & Object) Line 463 C++
     Far.exe!elevation::fCreateFile(const std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > & Object, unsigned long DesiredAccess, unsigned long ShareMode, _SECURITY_ATTRIBUTES * SecurityAttributes, unsigned long CreationDistribution, unsigned long FlagsAndAttributes, void * TemplateFile) Line 781 + 0x17 bytes C++
     Far.exe!api::CreateFileW(const std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > & Object, unsigned long DesiredAccess, unsigned long ShareMode, _SECURITY_ATTRIBUTES * SecurityAttributes, unsigned long CreationDistribution, unsigned long FlagsAndAttributes, void * TemplateFile, bool ForceElevation) Line 737 + 0x23 bytes C++
     Far.exe!pluginapi::apiCreateFile(const wchar_t * Object, unsigned long DesiredAccess, unsigned long ShareMode, _SECURITY_ATTRIBUTES * SecurityAttributes, unsigned long CreationDistribution, unsigned long FlagsAndAttributes, void * TemplateFile) Line 3314 + 0x24 bytes C++
     arclite.dll!63a13ef3()
     [Frames below may be incorrect and/or missing, no symbols loaded for arclite.dll]
     7z.dll!06a5494f()
TagsNo tags attached.

Activities

Maximus

2014-11-20 12:52

reporter   bugnote:0013261

Даже запуск фара под админом не спасает.
Спрашивается, зачем пытаться показать диалог подтверждения повышения если фар УЖЕ запущен с повышенными привилегиями?

zg

2014-11-20 14:32

developer   bugnote:0013262

> Спрашивается, зачем пытаться показать диалог подтверждения повышения если фар УЖЕ запущен с повышенными привилегиями?
потому что это ещё более повышает привилегии.

Maximus

2014-11-20 14:41

reporter   bugnote:0013263

Это "еще более" не требует запуска процесса с повышенными привилегиями.
Так что это как минимум разные запросы.
И смысл спрашивать?
Если да - то все или сработает молча без гундежа винды, или покажется ошибка доступа.
Если нет - то покажется ошибка доступа.
Имхо - смысл в таком подтверждении отсутствует.

Maximus

2014-11-20 14:42

reporter   bugnote:0013264

Я уже запустил фар под админом, то есть я уже по факту хочу максимум привилегий. Подтверждение не нужно.

DrKnS

2014-11-20 14:44

administrator   bugnote:0013265

Запуск "под админом" не подразумевает игнорирование ACL.
Это, типа, обсуждалось, и вроде как инцидент не об этом.

2useven10

2015-12-18 17:51

developer   bugnote:0014147

У меня сейчас (trunk x64 Win10) просто диалог Access Denied.
Т.е. это исправлено в самом фаре и инцидент не актуален?

Issue History

Date Modified Username Field Change
2014-11-20 12:32 Maximus New Issue
2014-11-20 12:52 Maximus Note Added: 0013261
2014-11-20 14:32 zg Note Added: 0013262
2014-11-20 14:41 Maximus Note Added: 0013263
2014-11-20 14:42 Maximus Note Added: 0013264
2014-11-20 14:44 DrKnS Note Added: 0013265
2015-12-18 17:51 2useven10 Note Added: 0014147