[www.theword.net]

Twitter live feed  
View unanswered posts | View active topics It is currently Tue Jun 27, 2017 5:42 am



Reply to topic  [ 2 posts ] 
 Заметки 
Author Message
User avatar

Joined: Thu Dec 09, 2010 2:29 pm
Posts: 534
Location: Россия, Крым, Севастополь
Post Заметки
В старой версии программы 4.1361 которой я пользуюсь (и которая распространяется вместе со сборкой) есть особенность - она не позволяет на лету корректно сохранять набор Библий для параллельного сравнения текстов. Насколько я понимаю лучше один раз определится с тем какие библии вам нужны, вывести их на окно Библии через глобальные настройки и дальше не трогать.
Это предотвратит сбои.

Далее. После создания набора надо перезапускать программу. По принципу - один набор - один перезапуск. Кажется что по другому программа не хочет корректно сохранять наборы.

Кроме того нельзя и сдвигать порядок библейских текстов.

Может быть эту проблему могло бы решить присвоение идентификаторов к русским и украинским Библиям. Но уверенности в этом нет. :mrgreen:


Sun Feb 21, 2016 10:04 pm
Profile ICQ WWW
User avatar

Joined: Thu Dec 09, 2010 2:29 pm
Posts: 534
Location: Россия, Крым, Севастополь
Post Проблема запуска TW с большим числом модулей
Сразу скажу, Костас об этой проблеме знает и ничего с ней сделать не может.
Суть проблемы в том что программа периодически проверяет хэш суммы модулей и когда процесс доходит до 2х Gb то начинают сыпать ошибки. Эта особенность проявляется при довольно большом числе модулей в программе - примерно от 2000. Явным образом ее можно вызвать переименовав каталоги с большим числом модулей.

Эту проблему удалось несколько смягчить сделав патч который увеличивает лимит на исполняемый процесс до 4-х Gb. Эта версия должна запускаться на ОС Windows х64. Однако на практике не стоит использовать Windows XP. Так как есть некие проблемы совместимости суть которых в том что поработав на XP x64 сборка может не запустится на XP x86. Эта проблема не критичная, и программу можно восстановить для работы. Но все же следует предпочитать другие ОС. В частности я все процедуры по реанимации проводил на Windows 7 x64. И потом без каких либо проблем переходил на ОС Windows XP x86 и работал со сборкой.

  • По сути процедура реанимации на Win XP x86 идентична процедуре на Win7 х64. За тем лишь исключением что платформа х64 допускает в 2 раза больше памяти для исполняемых 32-х разрядных процессов (по крайней мере для пропатченных соответствующим патчем), и соответственно сверка хешей пройдет у вас гораздо быстрее.

:!: Если вы заметили что программа заняла всю память и начинает сообщать об ошибках - надо убить процесс theWord через диспетчер задач.
(На самом деле так поступать надо всегда когда вы не хотите что бы программа сохранила изменения в файлах конфигурации) Так как программа сохраняет основные настройки только в момент выхода.

Процедура лечения связана с особенностью программы не замечать каталоги в именах которых содержится точка. Таким образом каталоги с точками не будут проверятся и вообще принимать участия в работе программы. Временное введение точки в имена крупных каталогов ("аргументация") позволит произвести безболезненно процедуру хеширования (сверки модулей) по частям. Однако эта процедура требует соблюдения нескольких условий.

1. у вас в программе должно быть активно по умолчанию (т.е. сразу после загрузки) окно в котором выбран набор "По тематической структуре" или его аналог (содержащий наибольшее число модулей). В моей сборке все доступные модули находятся в этом наборе. Если при построении будет открыт другой набор то программа начнет добавлять модули в это окно и процедура эта будет нереально долгой. Если вообще сможет завершится.

2. у вас в сборке не должно быть модулей которые не прописаны в этом наборе. Если они есть - их надо вынести за пределы сборки. Дело в том что программа сверяя суммы расставляет модули по свои местам и если она обнаружит нечто новое, - то у вас собьется набор. Появление любого нового модуля всегда выводит программу из режима выбранного набора. Как следствие программа не сможет и далее расставлять модули по полочкам. В общем надо будет убивать процесс theword.exe в диспетчере задач и выносить "левый" модуль из каталога с программой. Его можно будет вернуть после процедуры "реанимации".
  • Перефразирую : есть если вы заметили что у вас один файл добавляется 10-15 секунд и добавление происходит уже не в структуру библиотечного каталога (если окно маленькое то признаком сего может быть появившаяся стрелка >> ), то это значит что был какой-то косяк. Лучше всего сразу убить процесс theword-x.x.x.exe и зааргументировать каталоги которые по вашему мнению могли быть изменены. Если это известные вам файлы то можно вынести их за пределы сборки на время (а каталоги соответственно оставить готовыми для проверки).

3. у вас должны быть правильно прописаны пути к модулям в (текстовых) файлах module.cache.dat и config.ini (это связано с тем что при переходе на другую ОС буквы отвечающие за имена дисков меняются. И соответсвенно пути к файлам перестают совпадать. Кто часто работает с двумя ОС тот с этой проблемой хорошо знаком. Кроме того правка путей - обязательное условие для первого запуска сборки. Так как по умолчанию в этих файлах будут прописаны пути которые использовались в последний раз на моем компьютере (перед созданием раздачи на треккере).

Если у вас активно неподходящее книжное окно то надо убить процесс theword.exe в диспетчере задач и вручную поправить файл config.ini так что бы установить активным нужное окно, а если потребуется то переключить там-же набор модуля.
Книжное окно переключается цифрой в конце строки active.book.view=_book_view_1
Таким образом надо знать на каком окне у вас выставлен набор "По тематической структуре". Если подходящее окно окажется закрытым, то можно переключить набор модулей в любом другом активном книжном окне.

Процедура переключения набора модулей для книжного окна в файле config.ini несколько сложнее.
Надо найти ключ active.book.view=_book_view_ и уже с его помощью определяете какое книжное окно вам надо искать дальше (по цифре в конце). В общем копируете в поиск все что находится после знака = например _book_view_4
найдется строка (секция) [tlbx._book_view_4] листая эту секцию вниз увидите ключ bkv.layout=
в нем будет прописано название вашего текущего набора для этого окна. Что бы его изменить надо заменить название набора в этой строке. Если было
Code:
bkv.layout=Библейские Комментарии

то должно стать
Code:
bkv.layout=По тематической структуре.


Дальнейшие шаги по реанимации.
Лично я сначала полностью хэшировал каталог L а потом по частям каталог O.
Для этого надо перед названиями папок в каталоге TW/Dicts/О/ надо поставить точки. С этой процедурой возможно справятся не все программы. Лично я пользуюсь Directory Opus и с ним в этом отношении проблем не возникает. Переименование с помощью регулярных выражений должно выглядеть так:
Code:
найти: (.*)
заменить .\1


После переименования запускаете TW и ждете пока она закончит сверку модулей. По завершении - обязательно её закрываете и дожидаетесь того момента когда процесс TW пропадет из Диспетчера задач. Ни в коем случае его не убиваете вручную - так как в это время идет запись параметров программы.

Далее удаляете точки с нескольких папок в каталоге TW/Dicts/О/ и полностью повторяете цикл описанный в предыдущем абзаце. При 2Gb ОЗУ можно до 700 модулей добавлять за раз на сверку (снимая точки с каталогов), их хэширование займет примерно пару минут. В целом процедура реанимации не должна занять более получаса.


Sun Feb 21, 2016 10:28 pm
Profile ICQ WWW
Display posts from previous:  Sort by  
Reply to topic   [ 2 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by STSoftware for PTF.