2020年1月20日月曜日

[調査中] Debian 9でいきなり深刻なフリーズが起きる話

解決には至ってないけど本当に頭おかしいレベルのフリーズするので原因ぽいこと書いたりするぞ。

直せたら直ったとして書き直します。

(20.01.20)
突然画面が動かなくなる、音が全て切れる、キーボードの応答(Numlockのランプなど)が無くなる、電源長押しでなければ落とせない といった具合のフリーズが起こったので直すために試行錯誤した話。

こういう現象であればフリーズではなくハングアップというらしい。
ちなみにデュアルブートしているWindowsでも稀に起こる。

Debian 9
Linux 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1+deb9u3 (2019-06-16) x86_64 GNU/Linux
CPU:Intel Core i5-7600 CPU @ 4.1GHz
GPU:Mesa DRI Intel(R) Kabylake GT2
RAM: 8GB

20.01.23 Pulseaudioのせい?

/var/log 以下にあるSyslogやMessagesを見てみると、ハングした時の直前にだいたいPulseaudioが何かやっている
pulseaudio[1808]: [pulseaudio] resampler.c: Support for resampler 'src-sinc-medium-quality' not compiled in, reverting to 'auto'.
 調べてみると https://mynotebook.h2np.net/post/164 環境は異なれどハングするところもあるらしい
とりあえずPulseaudioをremoveしてkillコマンドでデーモンを潰して様子見

変化なし
全然関係ないけどPulseaudio外したのに普通に再生関連まったく異常がないし逆に何故今までインストールされていたのか…?

カーネルアップグレードで治ることを祈りつつDebian 9から10(Kernel 4.19.0-6)にアップグレードをしてみたが、これも効果なし

20.01.20

Vivaldiブラウザで「可能な場合、ハードウェアアクセラレーションを使用」にチェックを入れてブラウザゲームをするとハングすることが判明 もちろんチェックを外すとハングしない

フラクタルジェネレータChaoticaでAA Levelを1にしてプレビュー見ながら矢印いじって同じくハングしたことが1度だけ

それからWindowsを起動してSteamが起動するなりHDDのアクセスランプをつけたままハングしたのを確認

もはやUEFIの設定で何とかすべきだと思い、とりあえず共有VRAMを自動から512MBにした


治った……(多分

Windowsでのフリーズは専らゲーム中でDebianよりも稀(そもそもあまり使わないというのもあるが)なため確かに確認したわけではない

とりあえず最もハング率の高いゲームDevilDaggersでVsyncを切ってプレイしたところ何とも無く、アクセラレーションを有効にしたブラウザゲームでもハングせず
この間にカーネルのアップデート等はしていない…はず


調べてみるとVRAMなんて100MBすら要らないらしいが、もしかするとそれはちゃんとグラフィックカードを積んでいる場合かもしれないし、そもそも自動で割り当てる機能そのものがバグってる可能性もあるのでは……?


↑治ったと思ったら治っていなかった(DDをプレイし続けてみたらやはり起こった)
これもうカーネルのバージョンが上がるのを待つかダウングレードするかしかないような……



------以下は2019年の10月あたりからのメモ-----

症状

ひとくちにフリーズといってもkillコマンドで殺しましょうとかX11の問題だとか何だとか言うけどそういうレベルじゃない
  • 画面は点きっぱなしで変色とかノイズとかはない
  • 流れていた音楽が止まる(体感的には止まる時にブチッとか言わない)
  • タスクバーに置いてある時計やCPUモニタ等の更新が止まる
    もちろんカーソルも動かない…というよりは画面そのものが更新されない
  • 電源ボタン短押しでシャットダウンに入るはずが入らない
  • 長押しによる強制電源オフは効く
  • キーボードの受付がなくなる
    →i3のキーバインドによるウィンドウ選択とかの操作は全て死ぬ
    →Ctrl+Alt+F1等で出るコンソールに移行できない
    →Numlockを押してもキーボード本体のLEDが変化しない
    →SysRqキーによる一連のリブート操作(REISUBの順)を試みても再起動しない
  • CPUがそこそこ稼働してファンがよく回っていた場合、ファンが静かになっていく
あと起きるタイミングもよく分からない
  • ペンタブでサイドスイッチ上を押すとカーソルが止まる不具合があるが(※おま環)、それの超延長版みたいな感じで上記症状になっている
  • 放置していてもなる
    適当にブラウザやペイントソフトなどを起動したままディスプレイの電源だけを落として放置→ディスプレイ電源つけたら表示はできるがやはり何も動かない
  • MagicalDrawという絵チャでをやった後にフリーズし、電源長押しで落として起動して再びキャンバス保存するために立ち寄ったら数分後にフリーズ
マザーボードとかそこら周りの土台的な機能はちゃんと動いてるけどOSとしての機能は完全に死んでいる感じ(正直コンピュータのこと全然分かっていないので詳しいこと見たくて読んでる人はごめんなさい)

調査

Asrock UEFIについているDiagnostic Toolsによる診断は全てクリアする

……が、そこそこ前にRAMのなんとかFamilyテスト中にフリーズしたりそもそもUEFI画面で無差別に時折フリーズすることがあった(その後UEFIアップデートしたり設定変えるなどして現在はフリーズなし)

追記PASSMARKによるMemtest86 Freeをやったところ特にエラーなし えぇ…

(19.10.03)
カーネルがどうにかなってる()んじゃないかと思って調べてみたら http://www.nendai.nagoya-u.ac.jp/~kato/FreeBSD/debug/hang-panic.html のハングアップについての部分がそれっぽい
ハングアップとは,カーネルがうんともすんとも言わなくなり,ハードウェア リセットを行なうしかない状態になることをいいます.本当にどうしようもな い状態です.割り込みブロックを行なったままスリープしてしまったり,とん でもないrace conditionが起こってにっちもさっちもいかなくなったり,ある いはハードウェアのトラブルで永遠に帰ってこない状態になったりといろいろ な原因が考えられます.この状態になると,
キーボードのCAPSキーやカナキーを押してもLEDが点滅しない
ネットワークからログインしようとしてもログインできない
GRPH+ファンクションキーでコンソールを切替えることができない
CTRL+GRPH+ESCを押してもDDBに落ちない
ハードディスクのアクセスランプが点灯したままになっている
などの症状が出ます.本当にこれら全部が出る場合と,一部しか出ない場合が あります.
こうなったときはもうどうしようもないので,1分間お祈りしてからリセット してあげましょう.


原因ぽいやつ

ゲームを起動したり重めのグラフィック処理をさせたりしてメモリが80%くらい占めたあと、解放して20〜30%の頃に落ち着いた時が一番多い
ただしゲーム中にそのままフリーズすることがあって、PortalとSunderedとNaezithでは数回起きたのでグラフィック自体の2D3Dは関係ないけど中身次第では共通点があるのかも…
ちなみにAERやDustなどはプレイ中にフリーズしたことがない

ゲーム中にフリーズしたもののうち、PortalとSunderedはキーボード操作をやめてゲームパッドを使うようになってからフリーズしなくなった(Naezithは操作にくじけてやっていないので不明)
キーボードからイベントが頻繁に送られてくると起きる……と思ったけど普通にタイピング等で頻繁にイベント送ってるはずなんだよ…(ということは同時押しが悪い可能性もある

絵チャ数分で死んだりするあたり変なエンジン()を使うと起こってしまうのではないか

ゲームをしていなくても最近起こるようになってしまった理由として、サスペンドをよく使うようになったのが悪かった可能性もある
ちなみにハイバネートはグラフィック周りが復帰しきれない(復帰後の画面の色味が薄くなっている)ので使わない

真夏(室温32〜36℃)にChaoticaを稼働させてCPU100%で常にCPU75℃とかいうのを何時間もさせてしまっていたことによる物理的な故障(この場合死ぬのはCPUかもしれないけど…)
と、普通に模様替えで起きた振動による物理的な故障

(19.10.23追記)SteamゲーSavant AscentをOBSで録画しながらやると必ずといっていいほど起こる 完全に撮れていた頃(https://youtu.be/Mz52zR9GkaA)には微塵も起こらなかったので完全に夏の間に何かあった
その後何となく起動オプションからカーネルを4.9.0-9から4.9.0-8に戻してやってみたけどやっぱり起こる

総評

なんだろうねこれ…
かなり不規則にやってくるので正直つらい まずサスペンド使うのやめよう

(19.10.23追記)サスペンド使うのやめたらゲーム+OBS録画以外では大体起こらなくなった

やりたいこと

Memtest
みんな大好きMemtest
コマンドラインからインストールしたらGRUBメニューに追加された項目のどれを選んでもフリーズする(この場合は電源短押しで切れる)ので一層怪しい…が、単純にGRUBの設定とかが悪いだけかもしれない
ブートUSBを作ったら動いたのでそっちを使う

デュアルブートしてるWindowsでも同等の事が起こるか試したい
実はWindowsは音声がごく短時間でループし続けたままフリーズすることが稀にあった(アマプラでアニメ見てる時とPSO2やってる時)が、別にメモリがカツカツだったわけではないしそもそも音声ループしている点では……違う……のでは?

メモリを片方ずつ引っこ抜いてチェック
できればハードウェアに問題があってほしい(OSの異常となると修復や再インスコが大変なので)

19.12.05時点での調査

ゲーム関係

  • WindowsでもPSO2をやっていると同様のハングが起こるので、おおかたDebianに限った話ではない(この場合は敵が増えたりライブが終わるなど負荷がのしかかるタイミングのみ)
  • Debian9上でDevilDaggersというゲームでVsyncを切ると260fpsくらい叩き出すが数秒〜数分でハング(なおVsyncをつけると59〜60fpsに留まりハングしない)
  • Debian9でSteamの新ライブラリUIで適当にソフトを選ぶ(パッケージ画がフワっと浮く演出をさせる)とハング(連続でやると起こる)
    Steam本体の中でトレイラームービーなどでも再生するとハング
LinuxはFPS設定ができないorひと手間かかる感じらしいので常にクソ高FPSを出して死ぬという可能性もなくはない……? が、高いFPSが問題なのではなくハングする事自体が問題なんだよね……

設定試行とか

だいたいここ https://wiki.archlinux.jp/index.php/Intel_Graphics が役に立つ
  • メモリ自体の問題ではなく、GPU(内蔵なのでIntel HD Graphics)の問題
  • Xorgの設定でGPU自体の使用をやめると安定したかもしれないがゲームに支障が出すぎるので泣く泣く却下
  • Xorgの設定でアクセルメソッドにUXAを使用するようにしたがVsyncオフのDevilDaggersでハングしたので中止
  • カーネルオプション intel_idle.max_cstate=1 を使用したが効果なし(そもそもBaytrailではない)

その他

UEFI設定で起動時グラフィックメモリ割り当て量を1024にしたら何故かD7と99のDr.Debugコードを遺して死んだ(※当ハングとは全然関係ないと思う)


もしかしたら過去にDebian8をぶっ壊した話でUEFIをバージョン7.xから8.00にしたのが良くなかったのかもしれない……?

0 件のコメント:

コメントを投稿