DEgITx / rats-search

BitTorrent P2P multi-platform search engine for Desktop and Web servers with integrated torrent client.
MIT License
1.6k stars 174 forks source link

Баг (предполагаемо) из-за неожиданного завершения программы #43

Open NoAdO opened 6 years ago

NoAdO commented 6 years ago

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

Кусок из rats.log, версия начала июля, портативная

Copyright (c) 2017-2018, Manticore Software LTD (http://manticoresearch.com) precaching index 'torrents' [10:04:01 PM] sphinx: precaching index 'files' [10:04:01 PM] sphinx: WARNING: index 'files': prealloc: invalid meta file C:\PortableSoft\ROTB/data/database/files.meta; NOT SERVING [10:04:01 PM] sphinx: precaching index 'version' [10:04:01 PM] sphinx: WARNING: index 'version': prealloc: indexes with 32-bit docids are no longer supported; NOT SERVING [10:04:01 PM] sphinx: precaching index 'store' [10:04:01 PM] sphinx: precaching index 'feed' [10:04:01 PM] sphinx: FATAL: invalid meta file C:\PortableSoft\ROTB/data/binlog.meta precached 5 indexes in 0.186 sec [10:04:01 PM] sphinx closed with code 1 and signal null [10:04:01 PM] sphinx closing...

Я запаковал сломанную базу на всякий случай. Удаление папки data решает проблему. Нет базы - нет проблемы XD .

DEgITx commented 6 years ago

Ну так где база?

NoAdO commented 6 years ago

Rar не прикрепляется, вес 25 мегабайт, выпихнул на я.диск на месяцок

DEgITx commented 6 years ago

может есть какие-то детали о ситуации которая к этому привела? просто там есть пару подчистую битых файлов

NoAdO commented 6 years ago

Увы, но скорее всего обрыв питания, потому как занимается планшет этим регулярно. Сейчас попробую поднабрать чуток инфы в базу и сэмулировать ситуацию

NoAdO commented 6 years ago

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

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

DEgITx commented 6 years ago

Пока что из исправлений изменилось поведение на поломанной базе (в следующей версии). Она научилась определять битые файлы и чистить их, т.е. теперь запустится в любом случае, не зависнув вначале (по крайнемере должно).

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

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

NoAdO commented 6 years ago

Я не предлагаю ее винить, собственно и сценарий этот не слишком стандартен. Восстанавливать - хз, возможно действительно нет смысла, хотя я бы предложил раз в период напоминать о бекапе с возможностью отключить или аатоматизировать. Это актуально для постоянно работающей или серверной версии.

Единственное что возможно стоит предусмотреть - индикация запуска и завершения. Потому что окно закрыл а фоновые процессы работают еще. А дальше хлопнул крышкой, ноут в сон, все на паузе, батарейка села и привет. Вот этот сценарий мне знаком.

пт, 13 июл. 2018 г., 2:03 Alexey Kasyanchuk notifications@github.com:

Пока что из исправлений изменилось поведение на поломанной базе (в следующей версии). Она научилась определять битые файлы и чистить их, т.е. теперь запустится в любом случае, не зависнув вначале (по крайнемере должно).

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

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

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/DEgITx/rats-search/issues/43#issuecomment-404677379, or mute the thread https://github.com/notifications/unsubscribe-auth/AV6rMMw53HIJxliGOgdTYKxiJDBe-tDpks5uF9W6gaJpZM4VK7Wp .