YouTubeのアカウントが停止されて復活した話
FF15をやるためにPS4 Proを買いました
去年の11月のことです
ウホッ pic.twitter.com/P0d2CBRieL
— ぷにお (@vl_o_lv) 2016年11月29日
PS4を買ったらやりたかったのがゲーム動画のShare機能でプレイ動画がLive配信できるやつ
見てほしい人がいるわけでもなくとりあえず配信してました
クリア
FF15クリアしてエンディングまで配信したのがこれです
エンディングの一部はソフトから制限がかかって配信できないようになっています(ネタバレ対策というより曲の著作権っぽい制限?)
ということでメーカー側が嫌がるようなことは何もせず(別途キャプチャソフトとか使って上記制限期間を配信したわけでもなく)ゲームはクリアしました
翌日
クリアしてもまだまだやっていない要素が残っているので、翌日も配信をしようとしたらエラーでできませんでした
その翌日にはGoogleから意味不明なメールがやってきました
メールにあるようにアカウントにログインしたのでこの件はこれで終了したものだと思っていました
その後も何度やってもLive配信はできませんでした
翌年
年が明けても配信できないので少しググってみるとFF15配信者の垢BANとか出てきてました
ブラウザでYouTubeにログインしたところ私のアカウントも見事に凍結状態でした(普段YouTube使わないので・・)
この前のGoogleからのメールはこれだったんですね
このメールにあるお問い合わせページ
My account is disabled - Accounts Help
に「PS4でFF15配信してただけなのになぜ?」って日本語で書いて終了
もともと配信機能があるから配信してただけなのでそれ以来すっかり忘れてました
本日
Googleからメールがきてました
アカウントが復活しました
なんだかなー
続 IISとASP.NETとApplicationPoolをいじっていたらよくわからない現象に悩まされたこと
前回のブログ
の続き
前回の設定でちゃんと動くようになったと思っていたんですが、やっぱり駄目でした
そこそこ効果がありそうなおまじないを唱えることができたので、前回のものに追記しつつその対策までを(おまじないなので解決策になっていないですし、原因も大外れかもしれないです)
やったこと
追加 →
IISのApplication Initialization(だったっけ?)を有効にしてOS起動したら即Web APIをアクセスするようにした (これでサーバー起動してからお茶していれば使えるようになっている・・・)
現象
OSを起動してWeb APIにアクセスすると30分以上応答がかえって来ない
追加 →
イベントログをみたらアプリケーションプールの再起動が多発
アプリケーションプールのPingタイムアウトで強制終了 → 起動でWeb APIアクセスを繰り返していた
何かのタイミングでWeb APIが応答を返すと使えるようになる
Web APIと同じこと(Web API内ではサードパーティー製の64bit DLL (Cで使うやつ)をラップしたDLLをP/Invokeで使用)をするデスクトップアプリ(WPF製)を実行すると似たような現象が発生
アプリ起動 → 固まる(かなり待っても応答なし) → 強制終了 → 起動 → 動く
リソースモニタでアクセスするファイルを見ているとサードパーティ製DLLのインストールフォルダにあるファイル(DLLとかいろいろ)のアクセスで止まっている感じ(正常起動時はその後に別のデータの読み込みまで確認できる)
サードパーティ製DLLに付属しているアプリ(多分ネイティブアプリ)はすんなり動く
上記アプリを起動するとなぜか.Net製もいきなり動く
よく外れる予想
サードパーティ製DLLのOS起動後初回P/Invokeで、OS(または.Net)が何らかのセキュリティチェックを行っているのでは?
そのチェックがデッドロックしているので再起動でのみ復帰するのでは?
チェック結果はある程度保持されていて2回目以降のチェックは省略されるのでは?
という仮説を立てた
ちなみに私は仮説を立てて文章にするとよく外れる
おまじない1
プリロード専用のWeb APIを作成
上記APIではまずサードパーティ製DLL付属のアプリを起動(即殺す)
その後いつもの処理を実行
効果は微妙
おまじない2
サービスを一つ作成
サービスでサードパーティ製DLL付属のアプリを起動(即殺す)
効果はそこそこ
ということで現在はこの二つのおまじないでだましだまし使ってもらっている状態です
原因わかって解決する日は来るのだろうか・・・
IISとASP.NETとApplicationPoolをいじっていたらよくわからない現象に悩まされたこと
原因がわかっていないので私が気付いている範囲で環境とかやったことを書きます
環境
アプリ
ASP.NET MVCでWeb API 2 (だっけ?)を作成
Web API内ではサードパーティー製の64bit DLL (Cで使うやつ)をラップしたDLLをP/Invokeで使用
サードパーティー製DLLはそこそこ大きくてそれが読むデータも大きい (データサイズは関係ないかも)
やったこと
Administratorですべてセットアップ(ランタイムのインストールとか)
アクセス権とか面倒なのでAdministratorで動くApplicationPoolを新たに作成
アプリは上記ApplicationPoolで動かすように
現象
OSを起動してWeb APIにアクセスすると30分以上応答がかえって来ない
P/InvokeしていないAPIにアクセスするとすぐに応答を返してくれる
応答が返ってこない時のディスクアクセスとかCPU使用率はそんなに上がっていない
一度応答を返すとそのあとは普通に返ってくる
応答を返し始めるタイミングは不明 (ログとか見ていると突然返す感じ)
iisreset等で再起動かけた場合はすぐに返ってくる (返ってこない場合もあったかも)
応答が返ってこない間にApplicationPoolのpingエラーで勝手にApplicationPoolが再起動させられているっぽい (?)
解決策 (?)
使用するApplicationPoolをDefaultAppPoolに戻したら現象は発生しなくなった
ユーザー(Administratorsグループ)を新規に作ってそのアカウントでApplicationPoolを動かしても問題なし (新規ユーザーは一度もログインしていない)
うん、全然わからない
とりあえず動いているからいいやって感じで終了