Всем привет.

Периодически, при 3х стороннем сравнении при обновлении конфигурации, kdiff3 зависает, и снять процесс можно только в диспетчере задач. Зависнуть может на сравнении как больших, так и маленьких модулей.

Чтобы он не зависал, временно помогает только перезагрузка.
Уже второй комп, другая винда - была win7, сейчас win10, а проблема так и остается.
Пробовал как 32 битную версию ставить, так и 64, разницы какой-то не заметил.
kdiff версии 0.9.98.

Кто-нибудь сталкивался?
И самое главное - кто-нибудь смог исправить это?

Зависает на этапе как на скрине.
---
Полезная информация по вопросу https://telegra.ph/kdiff-bug-12-27
Там же есть внешняя обработка с вариантами исправления.
---
kdiff версии 0.9.98.
Прочтите внимательно о чем написано на странице скачивания:

This repository is no longer maintained and is kept for archival purposes. See https://invent.kde.org/sdk/kdiff3 for the newest code and https://download.kde.org/stable/kdiff3/ for release bundles.

Версия 0.9.98 является устаревшей. По адресу https://download.kde.org/stable/kdiff3/ уже есть версия 1.9.2. К сожалению последние релизы у меня тоже периодически зависают. С версией 1.8.5 проблем с зависанием пока не обнаружил.
---
Есть способ обхода проблем с зависанием kdiff3. Как минимум на версии 1.8.5.

Если зависло, то следует:
1) скопировать сравниваемые файлы (они обычно находятся в каталоге %TMP%\mrg) в сторонний каталог
2) принудительно завершить процесс kdiff3
3) вернуть скопированные файлы обратно
4) запустить kdiff3 интерактивно и в нем выбрать для сравнения эти файлы и сравнить
5) закрыть kdiff3
6) запустить сравнение в 1С - зависать не будет

https://partners.v8.1c.ru/forum/t/2048527/m/2049016
https://partners.v8.1c.ru/forum/t/2048527/m/2048828
---
Спешу поделиться решением зависания:
Открываете что-нибудь, типа блокнота, вносите изменения, после чего нажимаете на перезагрузку винды, она не происходит, тк открыт блокнот, после чего жмете отмену, и kdiff отвисает)

В общем костылек, но помогает быстро.
---
путь к конфигурациям без кириллицы ?
---
База в которой выполняется обновление - с кириллицей.
---
https://github.com/KDE/kdiff3/blob/master/README

попробуйте из консоли

  kdiff3 file1 file2 file3 -o outputfile

и да, не знаю , как окажется наличие питона python 3.6 or later

On Windows 10 this will be the default shell.
Run the following:
1)Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
2)iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/KDE/craft/master/setup/install_craft.ps1'))

больше вариантов нет

хотя нет, - есть - для супер пользователя инфостарт :)
starik-2005
дать файлы
и попросить проверить на линуксе

или сами, если кеды установлены
---
Как снова начнет зависать при обновлении, попробую в консоли.
Недавно перезагрузил комп, поэтому пока проблема не воспроизводится, и при обновлении сравнение выполняется корректно.
---
kdiff версии 0.9.98.
Прочтите внимательно о чем написано на странице скачивания:

This repository is no longer maintained and is kept for archival purposes. See https://invent.kde.org/sdk/kdiff3 for the newest code and https://download.kde.org/stable/kdiff3/ for release bundles.

Версия 0.9.98 является устаревшей. По адресу https://download.kde.org/stable/kdiff3/ уже есть версия 1.9.2. К сожалению последние релизы у меня тоже периодически зависают. С версией 1.8.5 проблем с зависанием пока не обнаружил.
---
Спасибо! Слона то я и не заметил. Попробую 1.8.5.
---
Пользуюсь вот этой программой perforce p4merge проблем не обнаружено
---
По умолчанию платформа не задает параметры для автоматического 3х стороннего объединения для p4merge. См.файл.
У kidff3 как для меня огромный плюс как раз в этой возможности - из 3х текстов модулей (старая конфигурация поставщика - А, основная конфигурация - Б, новая конфигурация поставщика - С) автоматически выберет изменения каких строк модулей (из А, Б или С) надо брать.
То есть, если А и Б совпадают, а изменения в С - берет из С.
Если А и С совпадают, а Б отличается - берет из Б.

И для простых случаев она все делает сама. Вникать нужно только когда А, Б и С одновременно отличаются.
---
Действительно этот параметр не заполнен, но объединение как раз 3х стороннее, по принципу описаному вами
---
Попробую perforce p4merge, спасибо.
---
Это Вы не пробовали роли в нем объединять, когда изменились шаблоны и состав метаданных и количество конфликтов за тысячу. Например выбираете синий ромб, чтобы без объединения оставить свою локальную копию и получаете зависание с нагрузкой процессора. Час ждал, не дождался.
---
https://infostart.ru/1c/articles/1296026/
---
Спасибо, видел, но ничего полезного по основному вопросу не нашел.
---
Как успехи с KDiff 1.8.5? Наблюдаются ли проблемы?
---
Спасибо, на 1.8.5 пока все ок, да и работает пошустрее =)
---
Не завалялось ли у вас дистрибутив 1.8.5?
1.9 все попробовал - зависают :-(
---
Во вложении, но через некоторое время тоже стал зависать при 3х стороннем сравнении =(
---
Использую версию kDiff3 1.9.5 (последняя на текущий момент). Отключил в настройках kDiff3 ("Настройка" - "Настроить kDiff3", вкладка "Merge") опцию "Отображать информационные окна". Проблем стало значительно меньше.
---
О! это работает и в других версиях KDiff
---
ненадолго помогло(, только способ из (19) пока стабильно работает
---
Есть способ обхода проблем с зависанием kdiff3. Как минимум на версии 1.8.5.

Если зависло, то следует:
1) скопировать сравниваемые файлы (они обычно находятся в каталоге %TMP%\mrg) в сторонний каталог
2) принудительно завершить процесс kdiff3
3) вернуть скопированные файлы обратно
4) запустить kdiff3 интерактивно и в нем выбрать для сравнения эти файлы и сравнить
5) закрыть kdiff3
6) запустить сравнение в 1С - зависать не будет

https://partners.v8.1c.ru/forum/t/2048527/m/2049016
https://partners.v8.1c.ru/forum/t/2048527/m/2048828
---
помогает к сожалению только на один раз. при сравнении следующих модулей зависает опять.
---
%TMP%\mrg
Хотел поделиться опытом как проще, но оказалось заново пришлось грузить поставщика и потеря 2 часа.
Я удалил содержимое %TMP%\mrg - После этого Kdiff3 зашевелился, но потом при завершении обновлении основной, вылетела ошибка что нет файла из этой папки и вылетел из конфигуратора.
Т.Е. отрицательный опыт)))
---
Еще немного оптимизировал алгоритм)) Просто запускаю рядом с зависшим кдифом еще одну копию, сравниваю в ней файлы из папки из п.1. Закрываю второй кдиф, завершаю из диспетчера зависший кдиф и перезапускаю из 1С сравнение
---
А можно для тех кто не имеет доступа к партнерскому форму хотя бы в 2 словах - это проблема платформы или kdiff? Если платформы - планируется ли какое-либо исправление? Есть ли сроки (да, я знаю что сроки там не пишут, но может хоть какие-то намёки)?
---
Там такой информации нет. Есть способ исправления, который удалось обнаружить, он и приведен в 19.
---
Спешу поделиться решением зависания:
Открываете что-нибудь, типа блокнота, вносите изменения, после чего нажимаете на перезагрузку винды, она не происходит, тк открыт блокнот, после чего жмете отмену, и kdiff отвисает)

В общем костылек, но помогает быстро.
---
Гений!. Мне помогло.
---
спасибо бро, работает! реально частые зависы достали. Мне кажется что-то в памяти "оседает" у него. но скажем перезагрузить сервак такое себе. да и большое сравнение потом заново начинать не вариант - можно еще час потерять.
---
и все фоновые задачи и программы успешно закроются
---
У меня закрылся конфигуратор. Спасибо блин.
Добавьте описание что в конфигураторе тоже надо несохраненный текстовый документ иметь иначе он закроется.
---
удаляю kDiff, сторонней программой удаляю все файлы kdiff из programfiles, устанавливаю заново. Пока помогает
---
MS Windows 10 Pro
1С:Предприятие 8.3 (8.3.19.1467)
kdiff3 Version 0.9.97 (64 bit)

помогает очистка c:\Users\<ИмяПользователя>\AppData\Local\Temp\mrg\
---
Помогает, но при сохранении рискуете получить ошибку формата потока и начать все заново.
---
Не знаю будет кому полезно или нет. Сегодня тоже столкнулся с проблемой зависания при объединении двух файлов. Версия kdiff3 1.10.5.

Проблема решилась запуском kdiff3 через BAT-файл с задержкой в пол секунды. Экспериментальным путем дошёл до задержки в 50мс. Пока полёт нормальный.
---
А можете пример BAT-файла показать?
---
Вот тот который сейчас использую.
---
Спасибо
---
Огромное человеческое спасибо! Столько лет мучился с зависанием. Предлагаемые тут ранее "танцы с бубном" не устраивали. Использую версию 1.10.5 (64 bit)
---
Батник не рабочий, десятый параметр в батнике через %10 никак не достать, так не работает. Нужно shift использовать.
Но это тоже не помогло - у меня виснет при любой задержке. Версии 0.9.98 и 1.10.6.
---
Вот мой батник на базе (35)
---
Сегодня с использованием этого батника kdiff3 завис при первой же попытке сравнения/объединения. Так что батник полностью проблему не устраняет... Закрытие kdiff3 и перезапуск батника не помог - опять зависание.
После этого сделал следующее:
запустил process explorer,
нашёл запущенный процесс kdiff3, скопировал строку запуска (Image / Command line),
закрыл процесс kdiff3, батник не закрывал - оставил работать,
запустил ту строку запуска из консоли.
kdiff3 запустился, не завис
закрыл kdiff3 с сохранением изменений. Изменения подгрузились в конфигуратор.

После этого kdiff3 опять стал работать без зависаний прямо из 1с через батник.
---
При использовании этой версии с git получаю стабильный Segmentation Fault + замусориванием локального репозитория файлами .orig и .bak, хотя параметры в .git/config

 keepTemporaries = false
 keepBackup = false

включены.
---
Попробуйте вот эту версию.
https://binary-factory.kde.org/job/KDiff3_Stable_win64/
У меня она работает нормально.
---
Сейчас там версии у которых с кодировкой проблемы. Например kdiff3-1.11-1304-windows-cl-msvc2019-x86_64.exe
У меня не получилось там настроить.
---
(45) Я пользуюсь версией:
kdiff3-1.10-1185-windows-cl-msvc2019-x86_64.
Работает нормально.
---
Некропост, но всё же. Только что нашел вариант как быстро вернуть KDiff 0.9.98 к жизни после описанной в посте проблемы: запускаем KDiff, открываем в нём на сравнение пару любых файлов, закрываем его. Всё. После этого он оживает из конфигуратора.
---
Один раз сработало. Еще пару раз получится, то поставлю плюс.
---
Полезная информация по вопросу https://telegra.ph/kdiff-bug-12-27
Там же есть внешняя обработка с вариантами исправления.
---
Проверил через командную строку. Работает. Удобнее чем через провокацию перезагрузки:
1. следующее сравнение не зависает
2. после попытке перезагрузки некоторые приложения, например Яндекс.Диск, слетают.
---
Оговорюсь, что у меня небольшая тестовая выборка, поскольку остановил свой выбор на DiffMerge.
Но все же после применения метода ни одного зависания не было.
Почти как в (46), только не надо дожидаться зависания.
Просто перед сравнением открыть не из конфигуратора пустое окно KDiff.
И дальше пользоваться им из конфигуратора при постоянно открытом экземпляре приложения.
---
1.12 пока не висла...