View Issue Details

IDProjectCategoryView StatusLast Update
0002468SAS.ПланетаБаг / Bugpublic04-11-2014 12:05
ReporterSmith2007 Assigned Tovdemidov  
PriorityhighSeveritymajorReproducibilityalways
Status closedResolutionnot fixable 
PlatformWindowsOS7OS VersionProfessional
Product Version140303 
Summary0002468: Тайлохранилище BerkeleyDB зависает при наличии поврежденных баз
DescriptionПосле 3-4 часов работы программы с запущенными 4-мя скачиваниями программа подвисает. Загрузка карт останавливается во всех окнах. Закрыть SASPlanet штатным способом не удается ("не отвечает"), только принудительно используя менеджер задач.
Steps To Reproduce4 раза пытался закачать и 4 раза подвисала.
TagsBerkeleyDB, БД, зависание, кэш
Attached Files
SASPlanet.Debug.elf (292,743 bytes)
DB_CONFIG (345 bytes)   
set_flags DB_TXN_NOSYNC off
set_flags DB_TXN_WRITE_NOSYNC on
set_flags DB_DIRECT_DB off
set_flags DB_DSYNC_DB off
log_set_config DB_LOG_DIRECT off
log_set_config DB_LOG_DSYNC off
set_lg_dir .
set_data_dir ..
log_set_config DB_LOG_AUTO_REMOVE on
set_cachesize 0 2097152 1
mutex_set_max 30000
set_lg_max 10485760
set_lg_bsize 2097152
DB_CONFIG (345 bytes)   
sdb.log (3,066 bytes)

Relationships

duplicate of 0002108 resolvedzed BerkeleyDB: зависание при обращении к тайлохранилищу 

Activities

vdemidov

20-07-2014 08:21

manager   ~0014446

Как я понимаю используется тайлохранилище БерклиДб? Переключите на дефолтное и попробуйте снова запустить закачки.

Smith2007

20-07-2014 09:34

reporter   ~0014447

Да, используется BerklyDB.

попробую на дефолтном - отпишусь.

Smith2007

20-07-2014 10:20

reporter   ~0014448

Last edited: 20-07-2014 10:22

На дефолтном работает все нормально. 2 часа загрузки в 5 окон и сам гуляю по этому же кэшу - нормально. Переключился на карту в формате Berkly - САС перестал отрисовывать карты. Похоже проблемы с кешем BerklyDB не только при скачивании но и просто при просмотре с загрузкой недостающих.

vdemidov

20-07-2014 14:13

manager   ~0014449

Скорее всего у вас битый кэш. Нужно запустить утилиту восстановления и пройтись ею по папкам с кэшем, на которых есть проблемы.

Smith2007

20-07-2014 16:19

reporter   ~0014450

Запустил проверку БД. Длительный это процесс. Реально ли об ошибках с БД сообщение выдавать? Так будет понятно с какими файлами проблема.

vdemidov

20-07-2014 17:08

manager   ~0014451

Увы, это к разработчикам БерклиДБ. Они считают нормальным тупо зависнуть на обращении к битой базе. По крайней мере, Zed так говорит, я в этом вопросе не разбирался вообще.

Smith2007

20-07-2014 18:01

reporter   ~0014452

Найдено 2 ошибки в БД. После исправления запустил 6 окон на скачивание и сам бегал по картам. 30 минут - полет нормальный. Оставлю на ночь, утром отпишусь.

Smith2007

21-07-2014 08:10

reporter   ~0014453

Утром обнаружил, что загрузка вновь остановилась. При попытке открыть карту Спутник.Яндекс (именно ее и загружал в 6 окон) интерфейс отображения карты завис. Закрыть программу без помощи менеджера задач не удалось. Есть подозрение, что БД будет вновь повреждена. Вопрос: Кто ее корежит? Вчера после исправления ошибок, специально еще раз прогнал утилитку уже на тех картах (Спутник.Яндекс) на которых имелись 2 ошибки. Повторный запуск ошибок в БД не выявил. Сегодня уходил на работу запустил проверку. Результат узнаю после работы.
Подозреваю, что ночная сборка как-то портит БД. Может это результат параллельной загрузки? Гружу 2 области и в одном месте они пересекаются и обе загружают 17 и 17 зум. Может с этим быть связано?

zed

21-07-2014 10:19

manager   ~0014455

Нужны логи и содержимое конфига БД.

Smith2007

22-07-2014 16:17

reporter   ~0014456

Конфиг залил. Логи какие нужны?

Smith2007

22-07-2014 18:13

reporter   ~0014457

Запустил скачивание:
Спутник.Яндекс
Спутник.Гугул
vesat

Скачивал в течении часа без ошибок. Счетчики файлов на всех картах щелкают.
При этом в главном окне открыта другая карта (не из списка скачиваемых).
Переключился на Спутник.Гугул, погулял по карте и через некоторое время счетчик загрузки Спутник.Гугл остановился. При этом счетчики на других закачках увеличивались как положено.
Переключаюсь на Спутник.Яндекс - счетчик останавливается, главный экран с картой не отрисовывается. При этом vesat продолжает качать. Переключаюсь на vesat - останавливается закачка. Больше ни одна карта не загружается. Переключение между картами не дает ни чего.
Запустил проверку базы. Позже отпишу результат.

Smith2007

22-07-2014 18:14

reporter   ~0014458

Last edited: 22-07-2014 18:35

Проверил базу Спутник.Яндекс - ошибок не обнаружено
vesat - ошибок не обнаружено

zed

24-07-2014 11:55

manager   ~0014459

>Конфиг залил.
У вас старый неправильный конфиг.Там должно быть вот такое:

set_flags DB_TXN_NOSYNC off
set_flags DB_TXN_WRITE_NOSYNC off
set_flags DB_DIRECT_DB off
set_flags DB_DSYNC_DB off
log_set_config DB_LOG_DIRECT off
log_set_config DB_LOG_DSYNC off
set_lg_dir .
set_data_dir ..
log_set_config DB_LOG_AUTO_REMOVE on
set_cachesize 0 2097152 1
set_lg_max 10485760
set_lg_bsize 2097152

Чтобы привести конфиги для всех карт в порядок, можно воспользоваться утилитой sdb_util или просто по-удалять их - SAS при запуске создаст правильные.

>Логи какие нужны?
sdb.log в корне с программой.

Smith2007

24-07-2014 17:26

reporter   ~0014460

Last edited: 24-07-2014 17:26

Лог залил.

Удалил конфиг. Запустил САС
Вот, что он создал.
set_flags DB_TXN_NOWAIT on
set_flags DB_TXN_WRITE_NOSYNC off
set_lg_dir .
set_data_dir ..
set_cachesize 0 2097152 1
set_lg_max 10485760
set_lg_bsize 2097152
log_set_config DB_LOG_AUTO_REMOVE on

Не похоже на то, что Вы приводите.

zed

24-07-2014 17:46

manager   ~0014461

> Не похоже на то, что Вы приводите
Не страшно, главное, что они не противоречат друг другу. И с тем и с тем конфигом SAS будет работать абсолютно одинаково. Проверьте все кэши на ошибки, обновите конфиги и больше SAS зависать не должен.

Smith2007

25-07-2014 03:13

reporter   ~0014462

Проверю - отпишусь

vdemidov

25-07-2014 07:09

manager   ~0014463

Мда. Я конечно понимаю, что такой умный потом, но идея с set_flags DB_TXN_WRITE_NOSYNC on была очень неудачной. Сколько уже времени прошло, а до сих пор всплывает.

Smith2007

25-07-2014 11:33

reporter   ~0014464

Так с момента зарождения проекта наполняю покрытие. Первые пару лет был исключительно на родном кэше, но после того как потребовалось однажды его скопировать.... Поэтому и настройки Беркли очень древние.

Smith2007

29-07-2014 02:42

reporter   ~0014466

После изменения настроек беркли сбоев не обнаружено. Качал больше суток в несколько окон. Возможно следует эту проверку включить в настройки БД.

Issue History

Date Modified Username Field Change
20-07-2014 06:39 Smith2007 New Issue
20-07-2014 06:52 Smith2007 File Added: SASPlanet.Debug.elf
20-07-2014 08:21 vdemidov Note Added: 0014446
20-07-2014 08:21 vdemidov Status new => feedback
20-07-2014 09:34 Smith2007 Note Added: 0014447
20-07-2014 09:34 Smith2007 Status feedback => new
20-07-2014 10:00 vdemidov Status new => feedback
20-07-2014 10:20 Smith2007 Note Added: 0014448
20-07-2014 10:20 Smith2007 Status feedback => new
20-07-2014 10:22 Smith2007 Note Edited: 0014448
20-07-2014 14:13 vdemidov Note Added: 0014449
20-07-2014 16:19 Smith2007 Note Added: 0014450
20-07-2014 17:08 vdemidov Note Added: 0014451
20-07-2014 18:01 Smith2007 Note Added: 0014452
21-07-2014 06:39 vdemidov Status new => acknowledged
21-07-2014 06:39 vdemidov Product Version .Nightly => 140303
21-07-2014 06:39 vdemidov Summary Зависают закачки карт => Тайлохранилище БерклиДб зависает при наличии поврежденных баз
21-07-2014 08:10 Smith2007 Note Added: 0014453
21-07-2014 08:23 vdemidov Assigned To => zed
21-07-2014 08:23 vdemidov Status acknowledged => assigned
21-07-2014 10:19 zed Note Added: 0014455
22-07-2014 11:26 vdemidov Status assigned => feedback
22-07-2014 16:16 Smith2007 File Added: DB_CONFIG
22-07-2014 16:17 Smith2007 Note Added: 0014456
22-07-2014 16:17 Smith2007 Status feedback => assigned
22-07-2014 18:13 Smith2007 Note Added: 0014457
22-07-2014 18:14 Smith2007 Note Added: 0014458
22-07-2014 18:35 Smith2007 Note Edited: 0014458
24-07-2014 11:55 zed Note Added: 0014459
24-07-2014 12:10 zed Relationship added duplicate of 0002108
24-07-2014 12:11 zed Summary Тайлохранилище БерклиДб зависает при наличии поврежденных баз => Тайлохранилище BerkeleyDB зависает при наличии поврежденных баз
24-07-2014 12:13 zed Tag Attached: BerkeleyDB
24-07-2014 12:13 zed Tag Attached: БД
24-07-2014 12:13 zed Tag Attached: зависание
24-07-2014 12:13 zed Tag Attached: кэш
24-07-2014 17:20 Smith2007 File Added: sdb.log
24-07-2014 17:26 Smith2007 Note Added: 0014460
24-07-2014 17:26 Smith2007 Note Edited: 0014460
24-07-2014 17:46 zed Note Added: 0014461
25-07-2014 03:13 Smith2007 Note Added: 0014462
25-07-2014 07:09 vdemidov Note Added: 0014463
25-07-2014 11:33 Smith2007 Note Added: 0014464
29-07-2014 02:42 Smith2007 Note Added: 0014466
04-11-2014 12:05 vdemidov Status assigned => resolved
04-11-2014 12:05 vdemidov Resolution open => not fixable
04-11-2014 12:05 vdemidov Assigned To zed => vdemidov
04-11-2014 12:05 vdemidov Status resolved => closed
08-08-2025 13:22 zed Category Баг => Баг / Bug