f4samurai さんが作ったマギレコのシステムは欠陥品だった? その8

f4samurai さんが作ったゲームの3年前からの、全ての共通事象なのですが、
接続エラーを起こした場合のリトライ処理の扱いがめちゃくちゃ下手くそで

・大概、リトライにほとんど成功しない。
・大概、諦めてタイトル画面に戻す処理をしている。

と言う事象があったのですが、マギレコのアプリ解析をして、酷過ぎるアルゴリズムが明らかになったので、紹介したいと思います。

1・POSTでデータをリクエストする
2・通信エラーが発生。
3・3秒後に、再度、POSTリクエストの変数領域を初期化せずに、GETリクエストとして再構築する。
4・再構築したデータをそのまま送信する(GET)
5・通信エラーが発生。
6・3秒後に、再度、GETリクエストの変数領域を初期化せずに、GETリクエストとして再構築する。
7・4に戻る

その結果何が起こるかと言うとどんどん、送信パケットがでかくなります。
通常、RFC 7231 で送信時のパケットサイズの限界があるので、ある程度で書くなったところで 414 URI Too Long : URIが大きすぎる が返ってきます

実際にマギレコで通信エラーを引き起こす状態にして、パケットをキャプチャしてみました

packet
どうやら、送信バッファーを 0x10000 確保してるみたいなので、それ以上は増えない模様。
約10分間で 64kバイトに膨れ上がる訳なので40秒位、リトライを繰り返した辺りから、通信から復帰しても、サーバーが受け付けなくて、エラーしか返ってこなくなるという状態になる訳です。

これほど、あり得ない酷いバグが、3年前から放置されてるのです

何が悪いかと言うと。

変数を初期化していない (初歩的なミス)
・サーバーからのリクエストコードをチェックしていない (論外)
(たぶん、チェックしてる部分もあって、そこではリトライを止めてタイトルに戻す処理が入っている)
・アンジュ・ヴィエルジュで、この不具合が3年前からあるので、直す気すらない (論外)
一部の処理では、絶対成功することがないこのリトライ処理をバックグラウンドで永続的に、毎秒20K の通信をし続ける(絶対成功することはない) (何もしてなくても、1時間当たり50M 程度の通信が発生)

要するに、 f4samurai さんの作ったゲームは、どれもグラフィックやシナリオや音楽 は一流ですが、
プログラムやシステム設計やUIは 三流以下 ってことです

っていうか、ちょっと解析してみたら分かるような不具合ですら直せないのが不思議でなりません
いやー、さすが f4samurai さん、解析するとボロボロ不具合出てきます ・ω・ 。o (おもしろいぞ、もっとやれ)

重要: マギレコで、放置してるのに、3秒おきに、パケットを使用していたら、このバグが発生してる可能性があるので、一度再起動することを薦めます。



おすすめ

8件のフィードバック

  1. より:

    MVNO回線の低速モードを使うと他のゲームはプレイできるのにマギレコだけ起動に異常に時間が掛かるor起動してもエラー頻発でタイトル画面に戻されるといった感じでまともにプレイできないのはこういった事が理由なんですね。

  2. より:

    MVNO回線の低速モードを使うと他のゲームはプレイできるのにマギレコだけ起動に異常に時間が掛かるor起動してもエラー頻発でタイトル画面に戻されるといった感じでまともにプレイできないのはこういった事が理由なんですね。

  3. 黒翼猫 より:

    それについては、追加実験の 記事9^H10 で 明らかになります ・ω・ うふふふ

  4. 黒翼猫 より:

    それについては、追加実験の 記事9^H10 で 明らかになります ・ω・ うふふふ

  5. ぎんじ より:

    こんなに記事の投稿日からだいぶズレてコメントしてもいいものか?と思いつつ|ω・)و ̑̑༉こんばんわー
    ここ数日、アンジュの泥版が落ちまくるという話題がカフェにいっぱい投稿されてて(ひどい人はカフェにカキコしてる間に4回ぐらい落ちるとかw)、そーいうのもリトライ処理の下手っぴ部分と関係あるのかなぁ?とこの記事を思い出して改めて読んでみたりデス。でもiOS版では出てないので、関係ないのかな~(  ̄ω ̄ )

  6. ぎんじ より:

    こんなに記事の投稿日からだいぶズレてコメントしてもいいものか?と思いつつ|ω・)و ̑̑༉こんばんわー
    ここ数日、アンジュの泥版が落ちまくるという話題がカフェにいっぱい投稿されてて(ひどい人はカフェにカキコしてる間に4回ぐらい落ちるとかw)、そーいうのもリトライ処理の下手っぴ部分と関係あるのかなぁ?とこの記事を思い出して改めて読んでみたりデス。でもiOS版では出てないので、関係ないのかな~(  ̄ω ̄ )

  7. 黒翼猫 より:

    大概は処理が入れ子になっててメモリ使いつくして、特定の条件で落ちるって感じですね。
    f4samurai さんなら普通にやらかしてるので、ありえそうですね・ω・
    昔は、一定時間起動してると、メモリ足りなくなってクラッシュしたり、速度が 1/10位になってたので、だいぶんマシになりましたが

  8. 黒翼猫 より:

    大概は処理が入れ子になっててメモリ使いつくして、特定の条件で落ちるって感じですね。
    f4samurai さんなら普通にやらかしてるので、ありえそうですね・ω・
    昔は、一定時間起動してると、メモリ足りなくなってクラッシュしたり、速度が 1/10位になってたので、だいぶんマシになりましたが

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です