naaloh
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Итак, леди и джентельмены, смею думать что причина "исчезновения" контента из кэша мною установлена, и очень хочется надеятся что время потраченное на это даром не прошло и девелоперы Оперы постараются эту причину устранить. Сегодня где-то часов в девять у меня отображались все смайлы на этом сайте. В 14.53 я, забэкапив предварительно dcache4.url и зафиксировав содержимое папки кэша, Запустил браузер и зашёл сюда, обнаружив, что перестали отображаться: http://i.ru-board.com/s/durak.gif http://i.ru-board.com/s/standup.gif http://i.ru-board.com/s/wave.gif http://i.ru-board.com/s/girl.gif http://i.ru-board.com/s/maniac.gif http://i.ru-board.com/s/uzi.gif Посмотрев в забэкапленый файл dcache4.url, я обнаружил там вот такое: Код: http://i.ru-board.com/s/shot.gif image/gif ;Q LtДa LњQ` j% & И: % & Thu, 22 Jul 2010 18:51:17 GMT Wed, 14 Nov 2001 01:22:13 GMT g_003E\opr0065J.tmp з "http://i.ru-board.com/s/maniac.gif image/gif vQ LtД` LњQ_ j% & И: % & Thu, 22 Jul 2010 18:51:08 GMT Wed, 14 Nov 2001 01:21:21 GMT g_003E\opr0065J.tmp д http://i.ru-board.com/s/uzi.gif image/gif UQ LtД^ LњQ] j% & И: % & Thu, 22 Jul 2010 18:51:10 GMT Wed, 14 Nov 2001 01:23:10 GMT g_003E\opr0065J.tmp е http://i.ru-board.com/s/girl.gif image/gif ~Q LtД] LњQ\ j% & И: % & Thu, 22 Jul 2010 18:51:04 GMT Wed, 14 Nov 2001 01:20:08 GMT g_003E\opr0065J.tmp е http://i.ru-board.com/s/wave.gif image/gif ±Q LtД\ LњQ[ j% & И: % & Thu, 22 Jul 2010 18:51:04 GMT Wed, 14 Nov 2001 01:23:15 GMT g_003E\opr0065J.tmp и #http://i.ru-board.com/s/standup.gif image/gif tQ LtДZ LњQX j% & И: % & Thu, 22 Jul 2010 18:51:04 GMT Sat, 15 Dec 2001 21:11:39 GMT g_003E\opr0065J.tmp ж !http://i.ru-board.com/s/durak.gif image/gif єQ LtДZ LњQY j% & И: % & Thu, 22 Jul 2010 18:51:04 GMT Wed, 14 Nov 2001 01:19:51 GMT g_003E\opr0065J.tmp 3 | То есть, как видим все "пропавшие" картинки, а также видимая http://i.ru-board.com/s/shot.gif, должны содержаться в одном файле g_003E\opr0065J.tmp. Этот файл действительно присутствовал в кэше, имел размер 31098 байт и оказался архивом, в котором содержались несколько gif-ов. К счастью, хранились они без сжатия, поэтому извлечь их не составило труда. Оказалось, что там вместе с "видимым" shot.gif, по прежнему находятся "пропавшие" durak.gif, standup.gif, wave.gif, girl.gif, maniac.gif, uzi.gif. Т. е., повторяю, они по прежнему нахадились в кэше, но не отображались. Чтобы узнать почему, я посмотрел в изменившийся к тому времени dcache4.url. Оказалось что файл g_003E\opr0065J.tmp теперь связан только с http://i.ru-board.com/s/shot.gif; ссылки на неотображаемые картинки пропали из индекса кэша. Получается, что Опера при запуске сначала считала dcache4.url с диска, а потом почему-то изменила его таким образом, что с файлом кэша g_003E\opr0065J.tmp стала связана только одна ссылка несмотря на то что в нём содержались картинки, добытые по семи ссылкам. Я ещё раз закрыл и перезапустил браузер. Как я и ожидал, файл g_003E\opr0065J.tmp не изменился: контент выкинутый Оперой из индекса, продолжал находится в кэше. Пройдясь по посещённым ранее сайтам я обнаружил ещё несколько подобных случаев. Например файл g_0045\opr006U6.tmp связан только с http://wwwstatic.megaupload.com/gui2/menu/en/menuo_04.gif, но содержит: http://wwwstatic.megaupload.com/gui2/menu/en/menuo_04.gif http://wwwstatic.megaupload.com/gui2/menu/en/menuo_06.gif http://wwwstatic.megaupload.com/gui2/menu/en/menuo_07.gif http://wwwstatic.megaupload.com/gui2/menu/en/menuo_03.gif http://wwwstatic.megaupload.com/gui2/menu/en/menuo_05.gif http://wwwstatic.megaupload.com/gui2/menu/en/menuo_01.gif http://wwwstatic.megaupload.com/gui2/logo.gif http://www.megaupload.com/favicon.ico Подводим итог: причина "исчесновения" кэшированного ранее контента заключается в том, что иногда Опера при запуске модифицирует (читай портит) файл индекса кэша dcache4.url таким образом, что с архивом, лежащем в кэше, и содержащим контент по НЕСКОЛЬКИМ ссылкам, остаётся связанной только ОДНА, та которая в неиспорченном файле индекса была ПЕРВОЙ. Вот почему отображаться сами по себе перестают как правило мелкие картинки и всегда группами - только мелкие картинки Опера группирует в архивы, крупные она хранит по одной на каждый файл. Фактически контент не исчезает, исчезают ссылки на него в индексе кэша, что помимо проблем с отображением контента ведёт к захламлению кэша. Ilya Shpankov, какими должны быть мои дальнейшие действия чтобы проблема была устранена? |