SUPEE-6788(可能性あり)キャッシュの問題


8

SUPEE-6788パッチをクライアントのサイトに適用して以来、1日に1回ほどサイトがダウンし、キャッシュをクリアすることのみがサイトを回復させているようです。ログを確認したところ、ログの多くには「フロントコントローラーが100回のルーターマッチの反復に達した」ことが含まれているようです。この問題は、パッチが適用される前は発生していませんでした。誰もがこれを引き起こしているかもしれない考えを持っていますか?一部の人は、それがmagentoの問題のキャッシュバグである可能性があると言いますが、私にはわかりません。どんな入力でも役に立ちます!

追加のメモ:

  • サーバーがダウンしたときにサーバーに大きな負荷がかかっていないので、それは要因ではありません。
  • はい、以前のパッチはすべて正常に適用されました。
  • キャッシュの保存にはmemcacheを使用しています。

これが関連しているかどうかはわかりませんが、このモジュールは、SUPEE-6788 github.com/EcomDev/SUPEE6788-PerformanceFix
David Manners

別のデータポイントとして、この問題が発生して100回のルーター一致反復エラーが発生し、サイトが2回ダウンしたサイトがあります。SUPEE-6788までは開始されませんでした。初めてAmpersandHQパッチ(SUPEE-4755)を適用した後、問題は数日後もまだ発生していたため、そのパッチで問題が修正されませんでした。Magento 1.7.0.2をRedisキャッシュで実行しています。
Nick

回答:


3

私と別の開発者が同様の問題を経験していますが、このGitHubにあるパッチを適用することで解決したようです:https : //github.com/AmpersandHQ/magento-ce-ee-config-corruption-bug

原因は、あるプロセスによってキャッシュがクリアされ、別のプロセスによってキャッシュが再インスタンス化される、ある種の競合状態であると思われます。GitHubにも記載されている手順に従って、キャッシュを再現できました。

この問題についてMagentoでサポートチケットを開きましたが、パッチ以降に何が原因で発生したのか疑っていますが、ご連絡をお待ちしています。

詳細については、スタイルのないページの問題、パスの誤り、SUPEE-6788パッチ適用後のレイアウト構成の損失に関する質問をご覧ください


この修正は、SUPEE-6788がインストールされた1.8.1.0でテストされましたか?
ダリルGochnauer

@ dgwexdev13 1.8ではテストしていませんが、1.9と1.13で同時にパッチを開発しました。問題のモジュール(Mage_Core_Model_Config)が長い間変更されたとは思わないので、パッチはほとんどすべてのバージョンに適用されるはずです。このパッチがSUPEE 6788がインストールされた1,12、1.13、1.14システムで問題なく動作しているのを見てきました。
ルークロジャース

追記-Magentoから連絡があった場合は、こちらから更新してください。ありがとう
Daryl Gochnauer、2015年

SUPEE-6755と一緒にSUPEE-4755を適用しても、「100回の反復に達しました」エラーを停止するのにあまり効果がありません。私は両方の無関係なウェブサイトの両方に適用してきましたが、それらすべてで時々クラッシュが発生し続けています。誰かにもっと幸運がありましたか?
Jan Tomka

1

3つのサイトバージョン1.8.1でも同じ問題が発生します。これはSUPEE 6788以降に表示され始めました。上記の修正で問題は解決しませんでした。実際、多少の変化はあるようです。修正前は、サイトが1日に2回クラッシュしていましたが、最後のクラッシュは2日後です。しかし、それは負荷に関連している可能性があります。3つのサイトは小さく、負荷はそれほど高くありません。この問題は、バージョン1.6.2でSUPEE 6788が適用されている大きなサイトでは発生しません。すべてのサイトは同じサーバー上にあります-バージョン3.8.1の3つとバージョン1.6.2の大きなサイト


これは回答を提供せず、コメントに適しています。あなたはいくつかの良い質問をし、サイトでいくつかの良い答えを提供する必要があります。十分な評判を得ると、コメントも投稿できるようになります。
Prateek、2015年

1
はい、わかりましたが、コメントしようとすると「コメントするには50の評判が必要です」というメッセージが表示されます。そして、これが他のサイトでも同様に起こることは重要な情報だと思います。そして、バージョン固有のようです。
Dimitar Dimitrov

@DimitarDimitrovも基本的に同じことです。火曜日に忙しい1日があり、サイトは1時間に1回程度ダウンしました。構成キャッシュをRedisから移動し、ファイルベースキャッシュを使用するだけで(FPCにはまだRedisを使用しています)、ストアを安定させることができました。
Phil Birnie、

バージョン1.6.2のビッグストアの後。別のエラーで何度もクラッシュしました:「無効なスキームが指定されました。英数字のみが許可されています」パッチを元に戻すことを余儀なくされました。それから24時間はクラッシュせず、すべての店舗が安定しています。私はパッチなしで動作するという考えが本当に好きではありません。1つのテストインストールで理由を見つけようとしていますが、問題はクラッシュしないことです。おそらくそれをクラッシュさせるために実際のアクションが必要であり、私はどちらが正確かわかりません。私たちはabでクラッシュを引き起こそうとしましたが、それはロード関連ではないようです。
Dimitar Dimitrov

単純なファイルベースのキャッシュを使用していることを忘れていました。サーバーにはphp 5.4とopcacheが搭載されていますが、phpキャッシュを無効にしても効果はありません
Dimitar Dimitrov

1

サイトキャッシュをmemcacheからRedisに切り替えてから、12時間ごとにキャッシュをダンプするcronjobを追加しました。1日1回のクラッシュから、再びダウンするまでに約4〜5日かかりました。その後、6時間ごとにダンプするようにcronjobを微調整しましたが、それ以降、ダウンしていません(約3〜4日経過しています)。私たちもホスティング会社も実際の問題を追跡することはできませんが、これは私たちにとって有効な解決策のようです。それが誰かを助けることを願っています。


ロギングフォームをここに入力することをお勧めします:github.com/AmpersandHQ/… これにより、構成キャッシュの破損の保存を継続的にトリガーしているコードがわかります。
Luke Rodgers、

1

今朝、AmpersandHQデバッグコードを追加しましたが、たった今、「フロントコントローラーが100回のルーターマッチの反復に達しました」という例外が2分間に約75回発生しました。しかし今回は、おそらくデバッグコードが破損したキャッシュエントリを保存していないため、サイトはまだ起動しており、例外は発生しません(キャッシュをフラッシュしませんでした)。

私はまだこれを調べて調査していませんが、corrupt-cache.logには以下が含まれています:

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}

これは、Magento 1.7.0.2上にあり、RedisキャッシュとAmpersandHQのSUPEE-4755パッチがすでに適用されています。


2015年12月2日更新:完全なスタックトレースの別のエラーを次に示します。

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')

素晴らしい仲間。スタックトレースを投稿していただきありがとうございます。この要点を読んでいただけますか?gist.github.com/convenient/2a30572d6d4bcae9796cuseCache = trueオブジェクトキャッシュエラーなのか、それ以外の何かなの かを絞り込むためのアイデアがあります。
Luke Rodgers、

はい、これらの追加ファイルにパッチを適用しました。パッチの作業に感謝します。投稿した昨夜、エラーが30分間にさらに2回発生しました。しかし、その後15時間以内には起こりませんでした。そのため、いつ再発するかを予測する方法がよくわかりません。
Nick

わかりました。更新してください。ありがとう
ルーク・ロジャース

要旨で追加のパッチを適用した後、さらに2つの100ルーターマッチエラーが発生しました。だから問題は解決しませんでした。最初のコードの後、切り詰めたPHPコードではなく、スタックトレース全体を表示するようにデバッグコードを少し変更しました。ここにはコメントの余地がなかったため、上記の元の投稿を変更して新しいトレースを含めました。
Nick

そのため、「検索」モジュールのテーマでエラーが発生しています。私たちのサイトはfindモジュールを使用しておらず、いずれにしてもその会社は現在は機能していないようです(ただし、このモジュールはデフォルトでMagentoに付属していたものです)。今後、このモジュールを無効にしました。それでも問題が解決するのか、それとも単に別のテーマを一覧表示するだけなのかはわかりません。
Nick

1

さまざまなMagento CE Webサイトで同じ問題が数週間発生しています。ただし、ここに掲載されている提案はどれも役に立ちませんでした。数週間にわたる苛立たしいデバッグセッションを数回行った後、ようやくこれを突き止めることができました。

要約すると、問題はSUPEE-6788パッチ、Magento <1.9.2.0およびPHP> = 5.5.22の組み合わせによるものであり、潜在的な攻撃者またはセキュリティスキャナーでさえ、オンデマンドでサイトをダウンさせることができることがわかりました。修正を含む詳細をブログに投稿しました。私はこれが同じ問題で苦しんでいる他の貧しい魂を助けることを本当に望みます。


0

SUPEE6788のリリース以降、この問題とWebサイトが発生しており、xmlrpc webservicesへの不正な呼び出しがキャッシュ破損の原因であると思われます。

フロントサーバーからのWebサービス呼び出しは使用していないためブロックします+ SUPEE 4755を適用しますので、引き続きお知らせします。


このパッチは、libxml_disable_entity_loaderスレッドセーフではない使用するxml検証を変更しました。場合によっては、これによりMagentoがインストールページにリダイレクトされる可能性がありますが、このようなエラーが発生する前に、構成生成のloadDBステップが実行されず、破損したデータがキャッシュに保存される可能性もあります。magento.stackexchange.com/questions/30071/…を
ルークロジャース
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.