New user registration is currently disabled due to spam abuse / Регистрация новых пользователей в настоящее время приостановлена из-за злоупотреблений спаммерами

Один словарь отображается два раза

Сообщаем о найденных ошибках сюда

Один словарь отображается два раза

Postby Novikov » Thu Jan 26, 2012 2:14 pm

Иногда получается так, что один словарь отображается два раза, при этом, как видим, путь один и тот же:

Image
Image

Фактически подключено два словаря, но отображается три (один дублируется). В папке index при этом показывается файлы, как и положено, для двух словарей, а вот в конфиге дублированный словарь присутствует дважды:

Code: Select all
  <dictionary name="test">31cbef73499cf36befb0833ddb05712b</dictionary>
  <dictionary name="test">e94f44033f9e1a2ad381a84525a266f5</dictionary>


Если удалить папку, пересканировать, выйти из GD, снова зайти, добавить папку, то чудесным образом словарь снова предстает в двух экземплярах. Экземпляры идентичны, при внесении изменений в файл словаря эти изменения актуальны для обеих копий. Process Monitor при этом показывает, что ни к каким другим файлам с таким же именем, например, в виртуальных директориях, GD не обращается.

При удалении файла словаря приведенный выше код не меняется, остается там, где и был.

Если удалить вышеприведенный код из конфига -- программа начинает видеть один словарь. При этом в конфиге строчки вида
Code: Select all
<dictionary name="test">31cbef73499cf36befb0833ddb05712b</dictionary>
при пересканировании больше не появляются, даже если убрать папку и снова ее потом добавить. Чтобы вернуть в конфиг такую строчку, надо поменять порядок словарей.

Как появляется дубликат -- точно не скажу. В ходе тестирования много раз сохраняю и пересохраняю файлы, GD при этом открыт, отловил случайно, но баг повторяется. Точный способ воспроизведения пока не приведу, но зато механизм появления описал.

Такое поведение наблюдается у последней стабильной и последней early access версий (а еще номера версий не скопировать никак, ну сделайте же инструмент для отчетов тестера, чтобы эту инфу одним кликом копировать).
Last edited by Novikov on Thu Jan 26, 2012 2:42 pm, edited 1 time in total.
Novikov
 
Posts: 164
Joined: Mon Jan 23, 2012 8:29 pm

Re: Один словарь отображается два раза

Postby Novikov » Thu Jan 26, 2012 2:34 pm

Нашел, как минимум, один способ воспроизведения бага.

1. Допустим, есть две папки, в которых лежат словари с одинаковыми именами в теге #NAME.

2. При сканировании папок и индексации в списке появляются два словаря с одинаковым именем. В конфиге, соответственно, две записи вида
Code: Select all
<dictionary name="test">31cbef73499cf36befb0833ddb05712b</dictionary>


3. После удаления одного из словарей дублирующая запись из конфига не пропадает, и словарь получает "вечного" двойника, две кнопочки и по два раза отображается в результатах.

Примечание: если один из словарей был добавлен раньше, дубль не появляется, пока мы не попробуем поменять порядок словарей.

Примечание 2: если один из словарей был добавлен раньше, а мы затем пересканируем, при этом добавляется несколько новых словарей, среди которых дубль -- соответствующая секция конфига также не обновляется.
Novikov
 
Posts: 164
Joined: Mon Jan 23, 2012 8:29 pm


Return to Ошибки

Who is online

Users browsing this forum: No registered users and 15 guests