„Undefined offset“ Nette\Caching\FileJournal.php

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
sharkcz
Člen | 28
+
0
-

PHP 5.3.3, Nette 2.0-dev bb2b723 released on 2011–02–06

FileJournal, využitý pro kešování vlastních požadavků, po chvíli bezproblémového provozu vyvolává chybu
PHP Notice: Undefined offset: 12293 in D:\data\git\web-portal\libs\Nette\Caching\FileJournal.php:194.

Chyba se zobrazí párkrát a poté třeba dlouho ne. Offset se náhodně mění. Vlastní soubor btfj.dat (jiný než používá Nette) má nyní 43 kB. Podezřívám ho právě z toho, že se chyba začne objevovat po překročení nějaké velikosti nebo počtu operací. Provádí se často zápis TAGů, často vyexpiruje záznam v cachi podle EXPIRE a párkrát mazání cache na základě TAGu.

Filip Procházka
Moderator | 4668
+
0
-

Bylo by určitě dobré, kdyby jsi mohl poslat i kompletní laděnku té notice (Nette\Debug::$strictMode = TRUE). A trošku více prozkoumat problém, tohle smrdí průserem :)

sharkcz
Člen | 28
+
0
-

Kompletní laděnku i se souborem btfj.dat mohu poslat. Při ladění jsem si všiml, že jeden z tagů byl prázdný řetězec, je možné, že by to způsobovalo tuto chybu?

Acci
Člen | 83
+
0
-

Ahoj, mohl bys mi soubor btfj.dat, popřípadě i tu laděnku na můj mail acci@acci.cz? Pokusím se zjistit, kde se stala chyba. Díky.

Acci
Člen | 83
+
0
-

Tato chyba už by měla být v aktuální revizi opravena.

Ondrej
Člen | 110
+
0
-

sharkcz napsal(a):
FileJournal, využitý pro kešování vlastních požadavků, po chvíli bezproblémového provozu vyvolává chybu
PHP Notice: Undefined offset: 12293 in D:\data\git\web-portal\libs\Nette\Caching\FileJournal.php:194.

potvrzuji stejný problem i v poslední verzi FileJournalu (Nette Framework 2.0-beta (revision 0f302dd released on 2011–05–28)

Po nekolika dni bezproblemoveho provozu to zacina nahodne tuto chybu logovat nekolikrat za den. btfj.dat ma 48MB.
Vyresil jsem to pridanim isset(), ale jestli to je spravne reseni nevim.

Acci
Člen | 83
+
0
-

Zkus ho prosím smazat spolu z cache, ta chyba tam mohla zůstat ze starší verze. Isset správné řešení není, je to chyba s konzistencí databáze.

aannubis
Člen | 33
+
0
-

Ve verzi Dev 2.1 narazim na tuto chybu. Jedna se o web s relativne vysokou navstevnosti.

[2012-07-22 18:02:25] [2012-07-22 18-02-25] PHP Notice: Undefined offset: 12293 in /var/share/var/www/<...>/libs/Nette/Caching/Storages/FileJournal.php:193  @  <...>

Je mozne ze tento problem zpusobuje Nette\Database. FileJournal taktez pouzivam pro dve ruzne cache storage (jedna filecache a jedna memcache), muze to byt zpusobene tim?

josef.sabl
Člen | 153
+
0
-

Tenhle problém mám stále a vypadá, že nejen já :-(
Zřejmě to souvisí s tím, že data ukládám znovu pod stejným klíčem, ale s jinými tagy.

Viz.:
https://github.com/…e/issues/930
https://github.com/…e/issues/932

Editoval josef.sabl (21. 1. 2013 14:57)

Routh
Člen | 2
+
0
-

Mohu potvrdit že problém stále trvá i v aktuální verzi 2.0.11 při použití doplňku Grido
checkboxy jednotlivých záznamů nejprve vůbec nereagují a způsobí zamrznutí celého UI Grido tak, že nereaguje nic. Po refreshi naskočí Undefined offset: 22

Nějaké rady?

josef.sabl
Člen | 153
+
0
-

Já můžu jen říct, že u nás problém zcela zmizel. Ostrý provoz webu, kde se v nezměněné podobě stále filejournal používá a žádný incident už půl roku nenastal.