イカ:違法命令(コアダンプ)

イカ:違法命令(コアダンプ)

オペレーティングシステム:Oracle Solaris 11.3.1.5.2、CPUアーキテクチャ:X86

最近Squidをインストールしました。

$ pkg install squid

これはスムーズに行われます。

root@darwin1:~# pkg info squid
          Name: web/proxy/squid
       Summary: Squid Web Proxy Cache
   Description: Squid is a caching proxy for the Web supporting HTTP, HTTPS,
                FTP, and more.
      Category: Web Services/Application and Web Servers
         State: Installed
     Publisher: solaris
       Version: 3.5.5
 Build Release: 5.11
        Branch: 0.175.3.0.0.30.0
Packaging Date: Fri Aug 21 17:30:06 2015
          Size: 51.84 MB
          FMRI: pkg://solaris/web/proxy/[email protected],5.11-0.175.3.0.0.30.0:20150821T173006Z

しかし、イカをプレイすることはできません。

root@darwin1:~# /usr/squid/sbin/squid -h
Illegal Instruction (core dumped)

コマンドはfile以下を提供します。

root@darwin1:~# file /usr/squid/sbin/squid
/usr/squid/sbin/squid:  ELF 32-bit LSB executable 80386 Version 1, dynamically linked, not stripped

私はローカル(非カーネル)領域内にいます。それは重要ではありません、そうですか?

なぜコアダンプですか?

ベストアンサー1

申し訳ありません。私が直接答えを見つけたようです。http://wiki.squid-cache.org/KnowledgeBase/IllegalInstructionError

(引用開始)

Squid 3.4の誤ったコマンドエラー

概要 Squid 3.4 以降、一部の環境で実行半仮想化システム完全な仮想化(少なくともこれまでKVM、Xen、およびXen派生製品が識別されている)を主張するいくつかの主張でさえ、起動直後に違法コマンドエラーが原因で競合が発生します。

兆候

Intel互換プロセッサの仮想マシンを起動した直後に、Squidが誤ったコマンドエラーによってクラッシュする

説明する

Squidビルドシステムは-march=native デフォルトでgccオプションを使用して生成されたバイナリを最適化します。残念ながら、いくつかの(半)仮想化システムは、彼らが宣伝する完全な命令セットをサポートしていません。コンパイラはそれを知らず、このエラーをトリガするコマンドを生成します。

解決策

これらの最適化は役立ちますが、特にia64 / amd64プラットフォームでSquidが完全に機能するために必ずしも必要ではありません。--disable-arch-native 検出されたデフォルト値は、設定スクリプトにオプションを提供することで無視できます。

(引用終了)

私たちはSolarisを実行していますVMware ESXi 6.0の内部。だからこんな感じです。

他の人もこの問題に遭遇するので、私の質問は削除しません。

おすすめ記事