5
apache2: libmemcached/storage.cc:341: memcached_return_t memcached_send_ascii(memcached_st*, memcached_server_write_instance_st, const char*, size_t, const char*, size_t, time_t, uint32_t, uint64_t, bool, bool, memcached_storage_action_t): Assertion `memcached_failed(rc)' failed.

これがスローされる原因、スローされた時期、または理由がわかりません。

これは致命的なエラーですか?もしそうなら、誰かが私がそれを修正できる場所を知っていますか?

4

4 に答える 4

7

SugarCRM Community Edition v6.5.15 (ビルド 1083) でも同じ問題が発生しました。memcached デーモンがバイナリ プロトコルをクライアント (libmemcached C++ クライアントを含む) とネゴシエートするよう強制するこの問題を修正しました。これは私にとってはうまくいきます、試してみてください。

Debian Wheezy では、memcached パッケージの/etc/memcached.confに構成ファイルがあります。ファイルの最後に次の行を追加します。

-B binary

次に、memcached サービスを再起動します

service memcached restart

詳細: http://linux.die.net/man/1/memcached

于 2013-10-21T20:43:14.690 に答える
0

まず、接続制限を確認する必要があります。

このエラーは、memcached サービスが接続の制限 (-c param) に達したときに表示されます。デフォルトでは、制限は 1024 接続に設定されています。しかし、マルチスレッド化しようとすると、すぐに限界に達する可能性があります。

デフォルトの設定パス: /etc/sysconfig/memcached

于 2014-09-10T10:39:35.360 に答える
-1

ライブラリの開発時にまったく同じエラー(「apache2」ヘッドを除く)が発生しましたが、これはスレッド関連のエラーでした。memcached クライアントの 1 つのインスタンスが多数の同時スレッドによってアクセスされたため、クライアントとサーバーが不整合な状態で発生しました。rcしたがって、 libmemcached の戻りコード に対するアサーションは失敗します。私が見る限り、接続を定義する libmemcached 内部構造はスレッドセーフではありません。

同時に、スレッド化ユーティリティを提供しない PHP で、おそらくスレッド化エラーが発生する可能性があることを想像するのは容易ではありません。とにかく、memcached 接続で異常なことをしていないかコードを検査する必要があります。

于 2014-07-25T09:29:38.827 に答える