デバッグ方法: Firefox が DNS を参照できない

デバッグ方法: Firefox が DNS を参照できない

突然、Firefox-ESR と Iceweasel が DNS を検索できなくなりましたが、/etc/hosts正常に動作します。他のプログラムも正常に動作します: konquerorwgetおよびcurl

私は経験しましたhttp://mzl.la/1xKrMnN Firefoxではウェブサイトを読み込めないが、他のブラウザでは読み込めるファイアウォールは Firefox の DNS を阻止せず、IPv6 は無効、プロキシおよび DNS プリフェッチはありません。

$ egrep "network.dns.dis|proxy" ~/.mozilla/firefox/*.default/prefs.js 
user_pref("network.dns.disableIPv6", true);
user_pref("network.dns.disablePrefetch", true);
user_pref("network.proxy.type", 0);

reboot、、を試しましたreinstallpurge & install新しく定義されたユーザーとしてログインしても機能しません。その後、次のようになります。

mkdir debug ; cd debug
strace -o f -ff firefox http://example.org/
grep -rn example.org f*

比較できるものがある

strace -o k -ff konqueror http://example.org/
grep -rn example.org k*

ファイルを確認しましたが、何も見つかりませんでした決定的な証拠まだです。これからどうしますか? コンピューターを再インストールしますか?

答え1

のサイズが/etc/hosts大きすぎます:

$ ls -l /etc/hosts
-rw-r--r-- 1 root root 5128 Oct  2 12:20 /etc/hosts

ここにバグがあります。ファイルサイズが 1562 バイトであれば Firefox で読み取ることができます。1588 バイト以上の場合、Firefox は DNS を使用できません。

/etc/hosts結論: Firefoxを使わないか、1562 バイト

このバグは Firefox バージョン 45.4.0 に適用されます。

関連情報