BoyFriend > 21-11-2007 11:04:47 |
Всем доброго времени суток! FireFox 2.0.0.9 (как и несколько более ранних версий) после отправки компа в ребут или при выключение, спрашивает при следующем вызове FireFox о начале новой сессии или восстановлении старой. Дисковый хэш при этом слетает. Cach Fixer 1.0 при этом не помогает ![sad :(](img/smilies/sad.png) |
Modex > 21-11-2007 14:42:13 |
Ну по поводу восстановить сессию или начать новую — это про вкладки, которые были открыты... А с кэшем миритесь, разработчики считают что если с ним что-то не то, то лучше загрузить заново... И вообще поискать по форуму могли бы... |
BoyFriend > 21-11-2007 17:21:08 |
пробовал, но кроме пересоздать профиль ничего не нашел. ИМХО, работу с кешем нужно править, а что до закладок, то была открыта одна страница и без дополнительных закладок. Т.о., не корректно отрабатывается сигнал на завершение работы? Кабы С++ знал, так сам бы пофиксил![big_smile :D](img/smilies/big_smile.png) |
dvdianov > 21-11-2007 17:55:25 |
BoyFriend А вот мое IMHO: если в кэше окажется поврежденная картинка или что-то другое - проблем будет больше, чем заново скачать. Ну или есть вроде до сих пор работающий Cache Fixer. |
BoyFriend > 21-11-2007 18:27:40 |
dvdianov пишетBoyFriend А вот мое IMHO: если в кэше окажется поврежденная картинка или что-то другое - проблем будет больше, чем заново скачать. Ну или есть вроде до сих пор работающий Cache Fixer.
Именно, вроде работающий. Проблем с картинками и прочим не было. Зачем сбрасывать нормальный кэш? |
dvdianov > 21-11-2007 21:26:20 |
Кто гарантирует, что и в следующий раз он окажется нормальным? |
BoyFriend > 21-11-2007 23:08:22 |
а почему он должен испортиться после корректного завершения программы? А почему он должен испортиться после завершения обработки страницы, даже если слетела ОСь (на ФС поддерживающих транзакции)? Уж если слетела, то стоит предложить вариант для продвинутых, а для чайников сбрасывать без вопросов. кроме того, если программа видет траблы с хэшем, а это уже можно определить анализируя структуру базы (не забывайте про то что ntfs поддерживает транзакции, как и некоторые файловые системы линкса). Итого: при корректном завершении программы (что можно отслеживать флагом) хешу стоит верить и не сбрасывать. Если используется файловая система с транзакциями, то такому хешу стоит серить больше. Обрабатывая сохраненные в хеше значения, стоит их проверять на корректность, а потом отдавать в обработку браузеру. С учетом вычислительных мощностей, не думаю что эта проверка (которую достаточно провести 1 раз при старте программы) займет значительное время. |
Modex > 21-11-2007 23:10:12 |
BoyFriend Никто вас не будет пинать ногами, если вы предложите такую функциональность в английской багзилле, и посодействуете быстрейшему разрешению его собственноручно набранным патчем... думаю все будут только за ![smile :)](img/smilies/smile.png) |
BoyFriend > 21-11-2007 23:14:17 |
эх, с англицким не ахти ![cry :cry:](img/smilies/cry.gif) а из языков программирования только pascal для DOS и помню... |
ru-vadik > 22-11-2007 08:00:54 |
BoyFriend пишета почему он должен испортиться после корректного завершения программы? А почему он должен испортиться после завершения обработки страницы, даже если слетела ОСь (на ФС поддерживающих транзакции)? Уж если слетела, то стоит предложить вариант для продвинутых, а для чайников сбрасывать без вопросов. кроме того, если программа видет траблы с хэшем, а это уже можно определить анализируя структуру базы (не забывайте про то что ntfs поддерживает транзакции, как и некоторые файловые системы линкса). Итого: при корректном завершении программы (что можно отслеживать флагом) хешу стоит верить и не сбрасывать. Если используется файловая система с транзакциями, то такому хешу стоит серить больше. Обрабатывая сохраненные в хеше значения, стоит их проверять на корректность, а потом отдавать в обработку браузеру. С учетом вычислительных мощностей, не думаю что эта проверка (которую достаточно провести 1 раз при старте программы) займет значительное время.
Займет время и очень значительное. В качестве эксперимента, скопируйте в папку файлов этак 5000, а потом попробуйте ее открыть. Вы заметите замедление работы "невооруженным глазом". А в кеше файлов может быть и поболее. |
BoyFriend > 22-11-2007 09:43:00 |
Зачем проверять заведомо правильные файлы? |
Vednier > 22-11-2007 14:28:25 |
Про продвинутых - есть расширении Cache Fixer - ничего сообенного, просто отключение проверки кеша. Ничего сбрасываться не будет. Что до фич журналируемых Файловых систем - это надо реализовывать привязки к ОС на довольно низком уровне, это куча ОС-зависимого кода - на Винде у нас НТФС, но в Линупсе - EXT3 или ReiserFS, работы дофига... |
BoyFriend > 22-11-2007 14:38:30 |
1. Cache Fixer, если бы работал нормально, то я бы не писал. 2. В винде разве трудно проверить что том ntfs? В линухе на много труднее? |
BoyFriend > 23-11-2007 09:59:14 |
Давайте посмотрим на алгоритмы: 0. начало 1. Получаем сигнал на завершение 2. Выставляем флаг нормального завершения программы 3. Конец 0. начало 1. запуск программы 2. проверить флаг нормального завершения есть/нет 3. флаг есть 4. кеш не сбрасываем 5. goto 8 6. флага нет 7. сбросить кеш только по незавершенным сессиям 8. Выход 0. начало 1. начинаем скачивать страницу 2. выставить флаги начала скачивания элементов страницы 3. выставить флаги завершения скачивания элементов страницы 4. выход Разве в этих алгоритмах есть сложные проверки на наличие журналируемых ФС? Разве эти алгоритмы требуют большой математики? |
Infant > 23-11-2007 12:28:31 |
BoyFriend Разве это те алгоритмы по которым работает движок Мозилла? |
BoyFriend > 23-11-2007 12:40:53 |
Infant а разве это не разумные алгоритмы для движка? |
Infant > 23-11-2007 12:54:56 |
Мне трудно судить, я ни одного движка не написал, но думаю у тебя упущено множество подробностей связанных именно с работой самого кеша и его взаимодействием с браузером. Например, откуда ты знаешь, что есть отдельный кеш для завершённых и незавершённых сессий? а где предполагается хранить сами флаги? а чего делать когда флаги стали недостоверными? В качестве теории вполне неплохой алгоритм, хорошо бы на его воплощение посмотреть. |
BoyFriend > 23-11-2007 13:14:44 |
господа, я же писал что не знаю С++, а н апаскале под досом такое писать можно (выше указывал на то что помню только этот язык), но стоит ли? ![blush :blush:](img/smilies/blush.gif) |
Forest > 23-11-2007 13:51:15 |
Кто-нибудь в курсе - запись в кэш делается транзакцией? Если нет - то это мб решением проблемы. BoyFriend я же писал что не знаю С++, а н апаскале под досом такое писать можно
Вопрос не в том, можно или нет написать это на конкретном языке, а достаточно или нет будет этого для решения проблемы. И без изучения того (то есть кода), как это сейчас сделано в Лисе, не обойтись. Если есть время - берись - и С++ заодно будешь знать хорошо![smile :)](img/smilies/smile.png) |
BoyFriend > 23-11-2007 14:29:07 |
Forest пишетКто-нибудь в курсе - запись в кэш делается транзакцией? Если нет - то это мб решением проблемы. BoyFriend я же писал что не знаю С++, а н апаскале под досом такое писать можно
Вопрос не в том, можно или нет написать это на конкретном языке, а достаточно или нет будет этого для решения проблемы. И без изучения того (то есть кода), как это сейчас сделано в Лисе, не обойтись. Если есть время - берись - и С++ заодно будешь знать хорошо![smile :)](img/smilies/smile.png)
было бы время -- уже сам бы выучил и пофиксил |
Unghost > 23-11-2007 23:26:42 |
Bug 105843 – Cache lost if Mozilla crashes Bug 212251 – Cache cleared if Windows is restarted / rebooted / shut down while mozilla is open |
BoyFriend > 24-11-2007 13:19:32 |
Unghost спасибо! |