╔══════════════════ Предупреждение ═══════════════════╗
║ Невозможно создать папку ║
║ d:\1\1\ ║
║ Невозможно создать файл, так как он уже существует. ║
╟─────────────────────────────────────────────────────╢
║ { Повторить } [ Пропустить ] [ Отменить ] ║
╚═════════════════════════════════════════════════════╝
Ваш плагин ближе всех подошёл к тому, что я искал. Создавать образы папок с чексуммами, которые можно потом сравнивать удаленно с другими папками. На хотите немного расширить плагин такой фичей? Спасибо.
(2750.48c): Stack overflow - code c00000fd (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
*** WARNING: Unable to verify checksum for AdvCmpEx.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for AdvCmpEx.dll -
AdvCmpEx!ExitFARW+0x12d27:
74136197 8500 test dword ptr [eax],eax ds:002b:00652000=00000000
Обновил 34 AdvCmp на 36 AdvCmpEx (в хелпе указан билд 35) - как крашилось в некоторых случаях, так и крашится. Поставил WinDbg, думал смогу найти проблему... не смог. Надеюсь, разберешься чего это он выпендривается.
eax=00008001 ebx=00000000 ecx=d7420000 edx=055ce418 esi=0000000b edi=050fa628
eip=767e338d esp=08c9e950 ebp=08c9e9b0 iopl=0 nv up ei pl nz na po nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000202
KERNELBASE!DebugBreak+0x2:
767e338d cc int 3
0:021> !analyze -v
ERROR: FindPlugIns 8007007b
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************
*** WARNING: Unable to verify checksum for NetWatch.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for NetWatch.dll -
*** ERROR: Symbol file could not be found. Defaulted to export symbols for ConEmuHk.dll -
*** ERROR: Symbol file could not be found. Defaulted to export symbols for ConEmuCD.dll -
*** ERROR: Symbol file could not be found. Defaulted to export symbols for ConEmu.dll -
*** WARNING: Unable to verify checksum for MoreHistory.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for MoreHistory.dll -
*** WARNING: Unable to verify checksum for PortaDev.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for PortaDev.dll -
*** WARNING: Unable to verify checksum for FarTray.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for FarTray.dll -
*** WARNING: Unable to verify timestamp for crtdll.dll
*** WARNING: Unable to verify checksum for FarHints.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for FarHints.dll -
The call to LoadLibrary(exts) failed, Win32 error 0n2
"Не удается найти указанный файл."
Please check your debugger configuration and/or network access.
The call to LoadLibrary(ntsdexts) failed, Win32 error 0n2
"Не удается найти указанный файл."
Please check your debugger configuration and/or network access.
The call to LoadLibrary(exts) failed, Win32 error 0n2
"Не удается найти указанный файл."
Please check your debugger configuration and/or network access.
The call to LoadLibrary(ntsdexts) failed, Win32 error 0n2
"Не удается найти указанный файл."
Please check your debugger configuration and/or network access.
The call to LoadLibrary(exts) failed, Win32 error 0n2
"Не удается найти указанный файл."
Please check your debugger configuration and/or network access.
The call to LoadLibrary(ntsdexts) failed, Win32 error 0n2
"Не удается найти указанный файл."
Please check your debugger configuration and/or network access.
The call to LoadLibrary(exts) failed, Win32 error 0n2
"Не удается найти указанный файл."
Please check your debugger configuration and/or network access.
The call to LoadLibrary(ntsdexts) failed, Win32 error 0n2
"Не удается найти указанный файл."
Please check your debugger configuration and/or network access.
Failed calling InternetOpenUrl, GLE=12007
FAULTING_IP:
KERNELBASE!DebugBreak+2
767e338d cc int 3
EXCEPTION_RECORD: 00c9f2dc -- (.exr 0xc9f2dc)
Cannot read Exception record @ 00c9f2dc
DEFAULT_BUCKET_ID: APPLICATION_FAULT
PROCESS_NAME: Far.exe
ERROR_CODE: (NTSTATUS) 0x4000001f - <Unable to get error code text>
EXCEPTION_CODE: (Win32) 0x4000001f (1073741855) - <Unable to get error code text>
EXCEPTION_PARAMETER1: 00000000
MOD_LIST: <ANALYSIS/>
NTGLOBALFLAG: 0
APPLICATION_VERIFIER_FLAGS: 0
CONTEXT: 08c9f32c -- (.cxr 0x8c9f32c)
eax=00008003 ebx=00000000 ecx=d7420000 edx=055ce418 esi=0000000b edi=050fa4f0
eip=767e338d esp=08c9f790 ebp=08c9f7f0 iopl=0 nv up ei pl nz na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000206
KERNELBASE!DebugBreak+0x2:
767e338d cc int 3
Resetting default scope
ADDITIONAL_DEBUG_TEXT: Followup set based on attribute [Is_ChosenCrashFollowupThread] from Frame:[0] on thread:[PSEUDO_THREAD]
LAST_CONTROL_TRANSFER: from 00e382cb to 767e338d
FAULTING_THREAD: ffffffff
PRIMARY_PROBLEM_CLASS: APPLICATION_FAULT
BUGCHECK_STR: APPLICATION_FAULT_APPLICATION_FAULT
STACK_TEXT:
08c9f790 767e338d kernelbase!DebugBreak+0x2
08c9f794 00e382cb far+0x1482cb
08c9f7f8 00ddae4c far+0xeae4c
08c9f810 00df2084 far+0x102084
08c9f864 00df1a30 far+0x101a30
08c9f8a4 00dee981 far+0xfe981
08c9f974 00eea6b1 far+0x1fa6b1
08c9f9b4 00eea00b far+0x1fa00b
08c9fa28 00ee8de7 far+0x1f8de7
08c9fa50 00df18ee far+0x1018ee
08c9fa90 00e371f2 far+0x1471f2
08c9fe8c 00e38170 far+0x148170
08c9ff54 00e384ef far+0x1484ef
08c9ff5c 76a4338a kernel32!BaseThreadInitThunk+0xe
08c9ff68 77009902 ntdll!__RtlUserThreadStart+0x70
08c9ffa8 770098d5 ntdll!_RtlUserThreadStart+0x1b
STACK_COMMAND: .cxr 0000000008C9F32C ; kb ; dds 8c9f790 ; kb
FOLLOWUP_IP:
KERNELBASE!DebugBreak+0
767e338b 8bff mov edi,edi
SYMBOL_NAME: kernelbase!DebugBreak+0
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: KERNELBASE
IMAGE_NAME: KERNELBASE.dll
DEBUG_FLR_IMAGE_TIMESTAMP: 56a1c78b
FAILURE_BUCKET_ID: APPLICATION_FAULT_4000001f_KERNELBASE.dll!DebugBreak
BUCKET_ID: APPLICATION_FAULT_APPLICATION_FAULT_kernelbase!DebugBreak+0
WATSON_STAGEONE_URL: http://watson.microsoft.com/StageOne/Far_exe/3_0_4545_0/56ba55ac/KERNELBASE_dll/6_1_7601_23338/56a1c78b/4000001f/0001338d.htm?Retriage=1
Followup: MachineOwner
---------
Last edited by dest on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason:[code], поименованы [spoiler]
Alexey Samlyukov, всё-таки с завидной периодичностью крашится при сравнении каталогов.
Как-то могу сузить круг проверяемого или что-то сделать, чтобы ты смог найти, где же глюк?
Сдаётся мне, проблема в какой-то последовательности байт, имеющейся в каких-то файлах. Падение с очень высокой вероятностью, если сравниваю относительно глубокое дерево директорий и с более-менее приличным количеством файлов.
Если не ошибаюсь, то проявляется при сравнении по содержимому.
Вот прямо сейчас решил провести эксперимент. Сравнить содержимое C:\ с C:\ - креш.
Debug session time: Thu Aug 4 22:24:06.000 2016 (UTC + 3:00)
System Uptime: 27 days 11:28:08.206
Process Uptime: 0 days 0:11:11.000
....................WARNING: srvcli overlaps netutils
.WARNING: wkscli overlaps srvcli
.WARNING: samcli overlaps wkscli
.......................WARNING: duser overlaps explorerframe
.WARNING: dui70 overlaps duser
WARNING: dui70 overlaps explorerframe
................WARNING: PortableDeviceTypes overlaps PortableDeviceApi
..
WARNING: rsaenh overlaps cryptsp
...........WARNING: webio overlaps winhttp
........................WARNING: IPHLPAPI overlaps secur32
......................WARNING: msvcr100 overlaps fltLib
...
Loading unloaded module list
......
The call to LoadLibrary(exts) failed, Win32 error 0n2
"Не удается найти указанный файл."
Please check your debugger configuration and/or network access.
The call to LoadLibrary(ntsdexts) failed, Win32 error 0n2
"Не удается найти указанный файл."
Please check your debugger configuration and/or network access.
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(2fe0.2af4): Stack overflow - code c00000fd (first/second chance not available)
eax=00000000 ebx=05feac08 ecx=00000000 edx=00000000 esi=05feabc8 edi=08d5f35c
eip=77630c52 esp=08d5f01c ebp=08d5f02c iopl=0 nv up ei pl zr na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000246
ntdll!NtGetContextThread+0x12:
77630c52 83c404 add esp,4
0:022> !analyze -v
ERROR: FindPlugIns 8007007b
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************
*** ERROR: Symbol file could not be found. Defaulted to export symbols for luafar3.dll -
*** ERROR: Symbol file could not be found. Defaulted to export symbols for lua51.dll -
*** ERROR: Symbol file could not be found. Defaulted to export symbols for LuaMacro.dll -
*** ERROR: Module load completed but symbols could not be loaded for Far.exe
*** ERROR: Symbol file could not be found. Defaulted to export symbols for ConEmuHk.dll -
*** ERROR: Symbol file could not be found. Defaulted to export symbols for ConEmuCD.dll -
*** ERROR: Symbol file could not be found. Defaulted to export symbols for ConEmu.dll -
*** WARNING: Unable to verify checksum for MoreHistory.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for MoreHistory.dll -
*** WARNING: Unable to verify checksum for PortaDev.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for PortaDev.dll -
*** WARNING: Unable to verify checksum for FarTray.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for FarTray.dll -
*** ERROR: Symbol file could not be found. Defaulted to export symbols for crtdll.dll -
*** WARNING: Unable to verify checksum for FarHints.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for FarHints.dll -
The call to LoadLibrary(exts) failed, Win32 error 0n2
"Не удается найти указанный файл."
Please check your debugger configuration and/or network access.
The call to LoadLibrary(ntsdexts) failed, Win32 error 0n2
"Не удается найти указанный файл."
Please check your debugger configuration and/or network access.
The call to LoadLibrary(exts) failed, Win32 error 0n2
"Не удается найти указанный файл."
Please check your debugger configuration and/or network access.
The call to LoadLibrary(ntsdexts) failed, Win32 error 0n2
"Не удается найти указанный файл."
Please check your debugger configuration and/or network access.
Failed calling InternetOpenUrl, GLE=12007
FAULTING_IP:
AdvCmpEx!ExitFARW+12d27
0f066197 8500 test dword ptr [eax],eax
EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 0f066197 (AdvCmpEx!ExitFARW+0x00012d27)
ExceptionCode: c00000fd (Stack overflow)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 00000000
Parameter[1]: 00102000
PROCESS_NAME: Far.exe
OVERLAPPED_MODULE: Address regions for 'msvcr100' and 'fltLib' overlap
ERROR_CODE: (NTSTATUS) 0xc00000fd - <Unable to get error code text>
EXCEPTION_CODE: (NTSTATUS) 0xc00000fd - <Unable to get error code text>
EXCEPTION_PARAMETER1: 00000000
EXCEPTION_PARAMETER2: 00102000
MOD_LIST: <ANALYSIS/>
NTGLOBALFLAG: 0
APPLICATION_VERIFIER_FLAGS: 0
ADDITIONAL_DEBUG_TEXT: Followup set based on attribute [POWERPNT_IdleSleepTime] from Frame:[1] on thread:[2af4] ; Followup set based on attribute [Is_ChosenCrashFollowupThread] from Frame:[0] on thread:[PSEUDO_THREAD]
LAST_CONTROL_TRANSFER: from 0f06134a to 0f066197
FAULTING_THREAD: ffffffff
BUGCHECK_STR: APPLICATION_FAULT_STACK_OVERFLOW_INVALID_POINTER_READ_DATA
PRIMARY_PROBLEM_CLASS: STACK_OVERFLOW_DATA
DEFAULT_BUCKET_ID: STACK_OVERFLOW_DATA
STACK_TEXT:
00000000 00000000 advcmpex!ExitFARW+0x0
STACK_COMMAND: .ecxr ; ~~[2af4] ; .frame 1 ; ** Pseudo Context ** ; kb
FOLLOWUP_IP:
AdvCmpEx!ExitFARW+0
0f053470 a19c83070f mov eax,dword ptr [AdvCmpEx!ExitFARW+0x24f2c (0f07839c)]
SYMBOL_NAME: advcmpex!ExitFARW+0
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: AdvCmpEx
IMAGE_NAME: AdvCmpEx.dll
DEBUG_FLR_IMAGE_TIMESTAMP: 56dd2f0f
FAILURE_BUCKET_ID: STACK_OVERFLOW_DATA_c00000fd_AdvCmpEx.dll!ExitFARW
BUCKET_ID: APPLICATION_FAULT_STACK_OVERFLOW_INVALID_POINTER_READ_DATA_advcmpex!ExitFARW+0
WATSON_STAGEONE_URL: http://watson.microsoft.com/StageOne/Far_exe/3_0_4748_0/57a14300/AdvCmpEx_dll/3_0_0_36/56dd2f0f/c00000fd/00016197.htm?Retriage=1
Followup: MachineOwner
---------
Alexey Samlyukov
Нужно как-то указать на наличие WinMerge? Почему-то сам не находит. Или какие-то требования есть для установки WinMerge, чтоб плагин его "подхватил"? Например, установлен в тот же каталог... Пункт меню "Text (WinMerge)" неактивен.
FAR 3.0.4748,
Windows XP SP3.
При установке WinMerge запретил создание ярлыка на QuickPanel, разрешил на рабочем столе, ассоциация с "Проводником" разрешена была, пункт появился. Путь к WinMerge в Path добавлен.
Кстати, а не планируете добавить настройку для своей программы сравнения? Я привык к ExamDiff, например.
В связи с организационными вопросами переместил все плагины в %FarProfile%\Plugins. Выяснилась неприятная проблема: перестал обнаруживаться VisualCompare (синхронизация файлов, ShiftEnter в списке). Экспериментальным путём выяснилось, что AdvCmpEx находит VisualCompare только, если VC лежит в %FarHome%\Plugins. Хотелось бы, чтобы местоположение VisualCompare не было так жёстко ограничено.
Дополнительная хотелка: если WinMerge нет, а VisualCompare есть, то по Enter в списке синхронизации запускать VisualCompare.
Если в процессе длительного сравнения файлов с панелей нажать Esc, а потом продолжить сравнение (выбрать Нет на вопрос о прерывании сравнения), то перерисовывается только внутренняя "рабочая зона" диалога прогресса сравнения, а "рамочка" диалога исчезает.
AdvCmpEx 3.0 Build 036, FAR 3.0.5221 x86.
Долгое время не мог пользоваться этим плагином, т.к. он не находил установленную программу WinMerge. Наконец, решил почитать hlf ... И там:
2. Текстовый - с помощью WinMerge, ищется в "%ProgramFiles%\WinMerge\WinMergeU.exe".
А на самом деле:
(а) на 64-разрядной ОС WinMerge ставится в %ProgramFiles(x86)%\WinMerge\
(б) а никто не запрещает ставить в другое место.
Отсюда явно требуется доработка плагина: настройка либо пути к WinMerge, либо (что, по-моему, и проще, и гибче) настройка команды сравнения. Например, чтоб можно было указать командную строки вида