SUPEE-6788 (Possibili) Problemi di cache


8

Da quando abbiamo applicato la patch SUPEE-6788 sul sito di un client, circa una volta al giorno il sito è andato in crash e l'unica cosa che sembra riportarlo è svuotare la cache. Abbiamo esaminato i registri e alcuni di essi sembrano includere "Il controller anteriore ha raggiunto 100 iterazioni di corrispondenza router". Questo problema non si verificava prima dell'applicazione della patch. Qualcuno ha idea di cosa potrebbe causare questo? Alcune persone dicono che potrebbe essere un bug di cache nel problema di Magento, ma non posso dirlo. Qualsiasi input sarebbe utile!

Alcune note aggiuntive:

  • Non ci sono stati carichi pesanti sul server proprio quando si è spento, quindi non è un fattore.
  • Sì, tutte le patch precedenti sono state applicate correttamente.
  • Stiamo usando memcache per memorizzare la cache.

Non sono sicuro che ciò sia correlato, ma questo modulo è specifico per le prestazioni con i nuovi blocchi e variabili aggiunti a SUPEE-6788 github.com/EcomDev/SUPEE6788-PerformanceFix
David Manners

Come altro punto di dati, abbiamo un sito che ha avuto anche questo problema per far cadere il sito due volte finora con l'errore 100 iterazioni di corrispondenza router. Non è stato avviato fino a SUPEE-6788. Dopo la prima volta che ho applicato la patch AmpersandHQ (SUPEE-4755) ma il problema si è verificato ancora alcuni giorni dopo, quindi quella patch non ha risolto il problema per noi. Stiamo eseguendo Magento 1.7.0.2 con la cache Redis.
Nick,

Risposte:


3

Io e un altro sviluppatore abbiamo riscontrato un problema simile, tuttavia sembra che l'abbiamo risolto applicando la patch presente in questo GitHub: https://github.com/AmpersandHQ/magento-ce-ee-config-corruption-bug

La causa sembra essere una sorta di race condition in cui la cache viene cancellata da un processo mentre viene ri-istanziata da un altro, sono stato in grado di riprodurlo seguendo i passaggi elencati anche su quel GitHub.

Ho aperto un ticket di supporto con Magento per questo problema e ho i miei sospetti su ciò che ha iniziato a causarlo dopo la patch, ma sono in attesa di risposta.

Puoi leggere ulteriori informazioni al riguardo sulla seguente domanda: Problemi con la pagina non stilata, Percorsi errati, perdita della configurazione del layout dopo l'applicazione della patch SUPEE-6788 .


Questa correzione è stata testata su 1.8.1.0 con SUPEE-6788 installato?
Daryl Gochnauer il

@ dgwexdev13 Non l'ho provato su 1.8, ma ho sviluppato la patch su 1.9 e 1.13 contemporaneamente. Non credo che il modulo in questione (Mage_Core_Model_Config) sia cambiato in LUNGO mentre la patch dovrebbe praticamente applicarsi a tutte le versioni. Ho visto questa patch funzionare felicemente con i sistemi 1,12, 1.13, 1.14 con SUPEE 6788 installato.
Luke Rodgers,

Ps - Ti preghiamo di aggiornare qui se / quando hai ricevuto una risposta da Magento. Grazie
Daryl Gochnauer

Temo che l'applicazione di SUPEE-4755 insieme a SUPEE-6788 non stia facendo molto per fermare gli errori "100 iterazioni raggiunte". Ho applicato entrambi a un numero di siti Web non correlati e continuo a vedere arresti occasionali su tutti. Qualcuno ha avuto più fortuna?
Jan Tomka,

1

Abbiamo lo stesso problema con 3 siti versione 1.8.1. Ha iniziato ad apparire dopo SUPEE 6788. La correzione dall'alto non ha risolto il problema. In realtà, sembra che ci siano dei cambiamenti. Prima della correzione i siti si arrestavano in modo anomalo due volte al giorno, ora l'ultimo incidente si verificava dopo 2 giorni. Ma potrebbe essere legato al carico. I 3 siti sono piccoli e non molto caricati. Questo problema non si presenta con un sito di grandi dimensioni con la versione 1.6.2 e SUPEE 6788 applicati. Tutti i siti si trovano sullo stesso server: il 3 con la versione 1.8.1 e quello grande con la versione 1.6.2


Questo non fornisce una risposta, più adatto per un commento. Dovresti fare alcune buone domande e fornire alcune buone risposte sul sito. Quando guadagni abbastanza reputazione, sarai anche in grado di pubblicare commenti.
Prateek,

1
sì, ho capito, ma quando provo a commentare ho un messaggio "Devi avere 50 reputazione per commentare". E penso che sia importante che ciò accada anche ad altri siti. E sembra essere specifico della versione.
Dimitar Dimitrov,

@DimitarDimitrov praticamente la stessa cosa - abbiamo avuto una giornata intensa martedì e il sito è andato giù circa una volta all'ora. Spostando la cache di configurazione da Redis e usando solo la memorizzazione nella cache di file base (sto ancora usando Redis per FPC), sono stato in grado di stabilizzare il negozio.
Phil Birnie,

Dopo il grande negozio con la versione 1.6.2. si è schiantato più volte con errori diversi: "Fornito schema illegale, sono ammessi solo caratteri alfanumerici" siamo stati costretti a ripristinare la patch. 24 ore da allora nessun incidente e tutti i nostri negozi sono stabili. Non mi piace l'idea di lavorare senza la patch, stiamo cercando di trovare il motivo con un'installazione di prova, ma il problema è che non si blocca. Probabilmente sono necessarie azioni reali per bloccarlo e non so quale esattamente. Abbiamo provato a provocare l'arresto anomalo con ab ma sembra non essere correlato al carico.
Dimitar Dimitrov,

Ho dimenticato di menzionare che stiamo utilizzando la semplice memorizzazione nella cache basata su file. Il server è con php 5.4 e opcache, ma disabilitare la memorizzazione nella cache di php non aiuta
Dimitar Dimitrov

1

Abbiamo fatto passare la cache del sito da memcache a Redis e quindi aggiunto un cronjob per scaricare la cache ogni 12 ore. Passava dal crash una volta al giorno a circa 4-5 giorni prima di scendere di nuovo. Abbiamo quindi modificato il cronjob per scaricare ogni 6 ore e non è diminuito da allora (sono passati circa 3-4 giorni da allora). Né noi né la società di hosting possiamo rintracciare il problema reale, ma questa sembra essere una soluzione funzionante per noi. Spero che aiuti qualcuno.


Ti consiglio di inserire qui il modulo di registrazione: github.com/AmpersandHQ/… In questo modo vedrai quale parte di codice attiva continuamente i salvataggi della cache di configurazione.
Luke Rodgers,

1

Ho aggiunto il codice di debug AmpersandHQ questa mattina e proprio ora l'eccezione "Front controller ha raggiunto 100 iterazioni di corrispondenza router" si è verificata circa 75 volte in un periodo di 2 minuti. Ma questa volta, presumibilmente a causa del codice di debug che non salva la voce della cache corrotta, il sito è ancora attivo senza che tutti ricevano eccezioni (non ho scaricato la cache).

Non ho ancora scavato in questo per indagare, ma corrotti-cache.log contiene:

2015-11-22T03:42:42+00:00 DEBUG (7):
#0 app/code/core/Mage/Core/Model/App.php(1147): Mage_Core_Model_Cache->save('<admin><design>...', 'config_global_s...', Array, NULL)
#1 app/code/core/Mage/Core/Model/Config.php(552): Mage_Core_Model_App->saveCache('<admin><design>...', 'config_global_s...', Array, NULL)
#2 app/code/core/Mage/Core/Model/Config.php(474): Mage_Core_Model_Config->_saveCache('<admin><design>...', 'config_global_s...', Array, NULL)
#3 app/code/core/Mage/Core/Model/App.php(421): Mage_Core_Model_Config->saveCache()
#4 app/code/core/Mage/Core/Model/App.php(343): Mage_Core_Model_App->_initModules()
#5 app/Mage.php(683): Mage_Core_Model_App->run(Array)
#6 index.php(87): Mage::run('', 'store')
#7 {main}

Questo è su Magento 1.7.0.2 con la cache Redis e la patch SUPEE-4755 di AmpersandHQ già applicate.


Aggiornamento del 2 dicembre 2015: ecco un altro errore con la traccia dello stack completo:

2015-12-02T20:02:27+00:00 DEBUG (7):
#0 app/code/local/Mage/Core/Model/App.php(1156): save('<admin><design><package><name>default</name></package><theme><default>find</default></theme></design></admin>', 'config_global_stores_admin', Array, NULL)
#1 app/code/local/Mage/Core/Model/Config.php(552): saveCache('<admin><design><package><name>default</name></package><theme><default>find</default></theme></design></admin>', 'config_global_stores_admin', Array, NULL)
#2 app/code/local/Mage/Core/Model/Config.php(474): _saveCache('<admin><design><package><name>default</name></package><theme><default>find</default></theme></design></admin>', 'config_global_stores_admin', Array, NULL)
#3 app/code/local/Mage/Core/Model/App.php(430): saveCache()
#4 app/code/local/Mage/Core/Model/App.php(343): _initModules()
#5 app/Mage.php(683): run(Array)
#6 index.php(87): run('', 'store')

Compagno fantastico Grazie per aver pubblicato la traccia dello stack yoru. Potresti per favore leggere questo riassunto? gist.github.com/convenient/2a30572d6d4bcae9796c Ho un'idea per restringerlo al fatto che si tratti di un useCache = trueerrore nella cache degli oggetti o di qualcos'altro.
Luke Rodgers,

OK, ho patchato quei file aggiuntivi. Grazie per il lavoro sulle patch. Ieri sera dopo che ho pubblicato, l'errore si è verificato altre due volte in un periodo di 30 minuti. Ma poi non è successo dopo 15 ore. Quindi non sono davvero sicuro di come prevedere quando potrebbe accadere di nuovo.
Nick,

Okay, per favore, tienimi aggiornato. Grazie
Luke Rodgers il

Ho riscontrato altri 2 errori di corrispondenza di 100 router dopo aver applicato la patch aggiuntiva che mi hai dato in sintesi. Quindi questo non ha risolto il problema. Dopo il primo, ho modificato leggermente il codice di debug per fornire l'intera traccia dello stack anziché quella troncata di PHP. Non avevo spazio nel mio commento qui, quindi ho modificato il mio post originale sopra per includere la nuova traccia.
Nick,

Quindi è un errore nel tema del modulo "trova". Il nostro sito non utilizza il modulo di ricerca e sembra che quella società sia ormai defunta comunque (ma il modulo era spedito con Magento per impostazione predefinita), quindi ho disattivato il modulo in futuro. Non sono sicuro se ciò risolverà il problema o se verrà nuovamente visualizzato elencando un tema diverso.
Nick,

1

Abbiamo riscontrato lo stesso problema da settimane con vari siti Web Magento CE. Tuttavia, nessuno dei suggerimenti pubblicati qui ha aiutato. Dopo diverse frustranti sessioni di debug nel corso di diverse settimane, siamo finalmente riusciti a fissare questo problema.

In sintesi, abbiamo riscontrato che il problema è dovuto a una combinazione della patch SUPEE-6788, Magento <1.9.2.0 e PHP> = 5.5.22, con potenziali aggressori o persino scanner di sicurezza in grado di abbattere i siti su richiesta. Abbiamo pubblicato tutti i dettagli, inclusa una correzione, sul nostro blog . Spero davvero che ciò aiuti tutte le altre povere anime che soffrono dello stesso problema.


0

Stiamo riscontrando questo problema e i nostri siti Web da quando abbiamo rilasciato SUPEE6788 e sembra che le chiamate fraudolente ai servizi web xmlrpc possano essere responsabili della corruzione della cache.

Stiamo bloccando le chiamate al servizio web dai nostri server front poiché non le usiamo + applicando SUPEE 4755, ti terrò aggiornato.


Questa patch ha modificato la convalida XML per l'uso libxml_disable_entity_loaderche non è thread-safe. In alcuni casi ciò può causare il reindirizzamento di Magento alla pagina di installazione, tuttavia credo sia anche possibile che, prima di errori come questo, manchi il passaggio loadDB della generazione della configurazione, salvando i dati danneggiati nella cache. Vedi magento.stackexchange.com/questions/30071/…
Luke Rodgers,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.