Problemas de cache SUPEE-6788 (possível)

8

Desde que aplicamos o patch SUPEE-6788 no site de um cliente, uma vez por dia o site foi desativado e a única coisa que parece trazê-lo de volta é limpar o cache. Examinamos os logs e vários deles parecem incluir "O controlador frontal atingiu 100 iterações de correspondência do roteador". Esse problema não estava ocorrendo antes da aplicação do patch. Alguém tem alguma idéia do que poderia estar causando isso? Algumas pessoas dizem que poderia ser um bug de cache no magento, mas não sei dizer. Qualquer entrada seria útil!

Algumas notas adicionais:

  • Não houve nenhuma carga pesada no servidor quando ele caiu, então isso não é um fator.
  • Sim, todos os patches anteriores foram aplicados com sucesso.
  • Estamos usando o memcache para armazenar o cache.
Daryl Gochnauer
fonte
Não sei se isso é relacionado, mas este módulo é específico para o desempenho com os novos blocos e variáveis adicionadas a SUPEE-6788 github.com/EcomDev/SUPEE6788-PerformanceFix
David Manners
Como outro ponto de dados, temos um site que também teve esse problema derrubar o site duas vezes até agora com o erro de 100 iterações de correspondência do roteador. Não foi iniciado até o SUPEE-6788. Após a primeira vez, apliquei o patch AmpersandHQ (SUPEE-4755), mas o problema ainda ocorreu alguns dias depois, para que o patch não resolvesse o problema. Estamos executando o Magento 1.7.0.2 com o cache Redis.
Nick

Respostas:

3

Eu e outro desenvolvedor tivemos um problema semelhante, no entanto, parece que o resolvemos aplicando o patch presente neste GitHub: https://github.com/AmpersandHQ/magento-ce-ee-config-corruption-bug

A causa parece ser algum tipo de condição de corrida em que o cache é limpo por um processo enquanto é instanciado por outro. Consegui reproduzi-lo seguindo as etapas também listadas no GitHub.

Abri um tíquete de suporte com o Magento para esse problema e tenho minhas suspeitas sobre o que começou a causar isso desde o patch, mas estou aguardando resposta.

Você pode ler mais sobre isso na seguinte pergunta: Problemas com página não estilizada, caminhos incorretos, perda da configuração do layout após a aplicação do patch SUPEE-6788 .

Persata
fonte
Esta correção foi testada em 1.8.1.0 com SUPEE-6788 instalado?
Daryl Gochnauer
@ dgwexdev13 Eu não testei no 1.8, mas desenvolvi o patch no 1.9 e 1.13 simultaneamente. Eu não acho que o módulo em questão (Mage_Core_Model_Config) mudou em muito tempo, portanto o patch deve se aplicar a todas as versões. Eu vi esse patch rodando feliz com os sistemas 1,12, 1,13, 1,14 com o SUPEE 6788 instalado.
Luke Rodgers
Ps - Por favor, atualize aqui se / quando você receber uma resposta do Magento. Graças
Daryl Gochnauer
Receio que a aplicação do SUPEE-4755 junto com o SUPEE-6788 não faça muito para interromper os erros "100 iterações atingidas". Eu me inscrevi em vários sites não relacionados e continuo vendo falhas ocasionais em todos eles. Alguém já teve mais sorte?
Jan Tomka
1

Temos o mesmo problema com 3 sites versão 1.8.1. Começou a aparecer após o SUPEE 6788. A correção acima não resolveu o problema. Na verdade, parece que há alguma mudança. Antes da correção, os sites estavam travando duas vezes por dia, agora a última falha passava de dois dias. Mas pode ser que esteja relacionado à carga. Os 3 sites são pequenos e não muito carregados. Esse problema não aparece em um site grande, com a versão 1.6.2 e SUPEE 6788 aplicadas. Todos os sites estão no mesmo servidor - o 3 com a versão 1.8.1 e o grande com a versão 1.6.2

Dimitar Dimitrov
fonte
Isso não fornece uma resposta, mais adequado para um comentário. Você deve fazer algumas boas perguntas e fornecer boas respostas no site. Quando você ganhar reputação suficiente, também poderá postar comentários.
Prateek
11
sim, eu entendo, mas quando tento comentar, recebo a mensagem "Você deve ter 50 reputação para comentar". E acho que é uma informação importante que isso aconteça com outros sites também. E parece ser específico da versão.
Dimitar Dimitrov
@DimitarDimitrov basicamente a mesma coisa - tivemos um dia agitado na terça-feira e o site foi desativado uma vez por hora. Ao mudar o cache de configuração do Redis e usar apenas o cache da base de arquivos (ainda estou usando o Redis para FPC), consegui estabilizar o armazenamento.
Phil Birnie
Após a grande loja com a versão 1.6.2. travou várias vezes com erro diferente: "Esquema ilegal fornecido, apenas caracteres alfanuméricos são permitidos", fomos forçados a reverter o patch. 24 horas desde então, não há falhas e todas as nossas lojas são estáveis. Eu realmente não gosto da ideia de funcionar sem o patch, estamos tentando encontrar o motivo com uma instalação de teste, mas o problema é que ele não falha. Provavelmente são necessárias ações reais para travá-lo e não sei exatamente qual. Tentamos provocar o travamento com ab, mas parece não estar relacionado à carga.
Dimitar Dimitrov
Esqueci de mencionar que estamos usando um cache simples de arquivos. O servidor está com o php 5.4 e o opcache, mas desativar qualquer cache do php não ajuda #
Dimitar Dimitrov
1

Mudamos o cache do site de memcache para Redis e adicionamos um cronjob para despejar o cache a cada 12 horas. Passou de uma vez por dia para 4 a 5 dias antes de cair novamente. Em seguida, ajustamos o cronjob para despejar a cada 6 horas e ele não diminuiu desde (faz cerca de 3-4 dias desde). Nem nós nem a empresa de hospedagem podemos rastrear o problema real, mas isso parece ser uma correção de trabalho para nós. Espero que ajude alguém.

Daryl Gochnauer
fonte
Eu recomendo que você insira o formulário de registro aqui: github.com/AmpersandHQ/… Dessa forma, você verá que parte do código está continuamente acionando a corrupção do cache de configuração.
Luke Rodgers
1

Adicionei o código de depuração AmpersandHQ hoje de manhã e agora a exceção "Controlador frontal atingiu 100 iterações de correspondência do roteador" aconteceu cerca de 75 vezes em um período de 2 minutos. Mas desta vez, presumivelmente por causa do código de depuração não ter salvo a entrada de cache corrompida, o site ainda está funcionando sem que todos obtenham exceções (não limpei o cache).

Ainda não investiguei isso para investigar, mas o cache-corrompido.log contém:

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}

Isso está no Magento 1.7.0.2 com cache Redis e o patch SUPEE-4755 do AmpersandHQ já aplicado.


Atualização de 2 de dezembro de 2015: Aqui está outro erro com o rastreamento de pilha 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')
usuario
fonte
Companheiro fantástico. Obrigado por postar o yoru stack trace. Poderia ler esta essência? gist.github.com/convenient/2a30572d6d4bcae9796c Eu tenho uma idéia para reduzi -la ao fato de ser um useCache = trueerro de cache do objeto ou algo completamente diferente.
Luke Rodgers
OK, corrigi esses arquivos adicionais. Obrigado pelo trabalho nos patches. Ontem à noite, depois que eu postei, o erro aconteceu mais duas vezes em um período de 30 minutos. Mas depois disso não aconteceu em 15 horas. Portanto, não tenho muita certeza de como prever quando isso poderá acontecer novamente.
Nick
Ok, legal, por favor, mantenha-me atualizado. Obrigado
Luke Rodgers
Eu recebi mais 2 erros de correspondência de 100 roteadores depois de aplicar o patch adicional que você me deu na essência. Então isso não resolveu o problema. Após o primeiro, modifiquei levemente o código de depuração para fornecer o rastreamento inteiro da pilha, em vez do código truncado do PHP. Como não havia espaço no meu comentário aqui, modifiquei minha postagem original acima para incluir o novo rastreamento.
Nick
Portanto, está incorreto no tema do módulo "localizar". Nosso site não usa o módulo find, e parece que a empresa agora está extinta de qualquer maneira (mas o módulo costumava ser enviado com o Magento por padrão), então desativei o módulo daqui para frente. Não tenho certeza se isso resolverá o problema ou se será exibido novamente, listando um tema diferente.
Nick
1

Estamos enfrentando o mesmo problema há semanas, com vários sites Magento CE. No entanto, nenhuma das sugestões postadas aqui ajudou. Após várias sessões frustrantes de depuração ao longo de várias semanas, finalmente conseguimos definir isso.

Em resumo, descobrimos que o problema ocorreu devido a uma combinação do patch SUPEE-6788, Magento <1.9.2.0 e PHP> = 5.5.22, com invasores em potencial ou até scanners de segurança capazes de derrubar os sites sob demanda. Publicamos detalhes completos, incluindo uma correção, em nosso blog . Eu realmente espero que isso ajude outras almas pobres que sofrem com o mesmo problema.

mustdobetter
fonte
0

Estamos enfrentando esse problema e nossos sites desde que lançamos o SUPEE6788 e parece que chamadas fraudulentas para serviços da web xmlrpc podem ser responsáveis ​​por corrupção de cache.

Estamos bloqueando as chamadas de serviço da Web de nossos servidores frontais, uma vez que não as usamos + aplicando o SUPEE 4755, manteremos você informado.

SMASHED
fonte
Este patch modificou a validação de xml para uso libxml_disable_entity_loaderque não é seguro para threads. Em alguns casos, isso pode fazer com que o Magento redirecione para a página de instalação, no entanto, acredito que também é possível que, antes de erros como esse, ele perca a etapa loadDB da geração de configuração, salvando dados corrompidos no cache. Veja magento.stackexchange.com/questions/30071/…
Luke Rodgers