ページ 17

頻発するクラッシュに関して

Posted: 2019年6月09日(日) 20:29
by HimaJyun
ここ最近シャレにならないレベルでクラッシュが頻発しているので、現状を報告しておきます。

1. 発生条件はまだはっきりと分かっていません。
確実なのは、ブロックのアップデート(要するにオブザーバーが反応するもの)が原因だという事です。
今のところ確認されているのはドア、ピストン、竹の3つで、ドアが1番多いです。
ただ、具体的にどういう状況で発生するのか分かりません。それゆえに再現させて調査することができないので苦労しています。

2. クラッシュが発生するのはメインワールドです。
エラーログを見る限り、今の所他の世界でのクラッシュは確認されていません。
単にみなさんがメインを多用しているからそうなっているだけかもしれませんが。

3. 持ち物がなくなる可能性
マルチ鯖ではチャンクデータの保存は10分おきに行われています。
一方でクラッシュした際には持ち物だけが保存されて終了したりするので、直近10分の間にマップ上に置いたブロックは巻き戻り、持ち物だけがなくなる、という事が起こる可能性もあります。
もちろん何も起こらない事もある。完全に運。

4. ソースコードレベルでの原因は分かっています。
発生しているのはConcurrentModificationExceptionで、HashSetをforでループしてる時に他のスレッドから変更しているのが原因です。
と言われて分かる人は居ませんよね……
HashSetをConcurrentHashMapのSetに変更すれば、恐らくこのバグは発生しなくなると思います。
ただ、その変更で新たなバグを発生させてしまったりパフォーマンスが落ちてしまう可能性は無きにしも非ずなので……Bukkit本体を弄る手法はあまりやりたくないかな。

そもそも、他のスレッドから変更されないはず……なのにそれをやってるプラグインがある、という可能性もある。
(もちろんBukkitのバグで他スレッドから変更される事を忘れている可能性だってある。)

どうしてもダメそうならこの方法での対応を検討していますが、原因が特定できていない状況ではあまりやりたくない修正です。

ちなみにですがSpigotのバグ報告には類似の報告がなく、だからこそBukkitのバグではなくプラグインやデータ破損の可能性が出てくるので面倒なんですが……
(恐らく同じと思しき報告自体はあったんですが、すでに修正されたバグ扱いになっている)

~~~ クラッシュした時は ~~~
立て直すので連絡してください。(自動で再起動するような仕組みにしても良いのですが、そういうのを「ちゃんと」機能させるのは案外難しいので……)

あと、クラッシュした時はいくつか情報を提供してもらえると助かります。
- どこで何をしていたか?
- 何かプラグインの機能を使ったりしたか?
- 村にいるなら、村人や襲撃の状態
- そのほか、何か気付いたことなどがあれば

Re: 頻発するクラッシュに関して

Posted: 2019年6月09日(日) 20:29
by HimaJyun
ところで、このクラッシュっていつから起きてますっけ?
1.14の初期に1.13から引き継いだ資源でチャンク生産すると落ちたり、エンドポータルにアイテム投げ込むと落ちたりすることはありましたけど、原因不明のクラッシュが頻発するようになったのは1.14.2にしてから……ですよね?

資源と同じ「1.13から引き継いだマップでクラッシュ」系統のバグでなければいいんだけど……

Re: 頻発するクラッシュに関して

Posted: 2019年6月13日(木) 11:46
by Aizenns
ぱーっとDiscordのチャットログ見てましたが、クラッシュが頻繁に起きるようになったのは1.14.2以降っぽいです
少なくとも僕の記憶だと影バグが起こってた頃にクラッシュ頻発はなかった気がします

Re: 頻発するクラッシュに関して

Posted: 2019年6月13日(木) 12:13
by HimaJyun
ですよね。ということはやっぱマップデータ破損の可能性はなさそうかなぁ……(ないと思いたい)

マップデータ破損->それなら1.14初期から発生しないとおかしい
Spigotのバグ->それらしきエラー報告が少ないのが気になる
プラグイン->それにしてはエラーログにプラグイン関連の情報が何一つない

再現性が低いというのが非常に厄介……

Re: 頻発するクラッシュに関して

Posted: 2019年6月19日(水) 22:45
by けいすけ
複製ワールドでhomeワープしまくれば落ちるとかわかるかもですね

Re: 頻発するクラッシュに関して

Posted: 2019年6月22日(土) 18:07
by horusu
鯖が落ちたので
時間がある時に対処おねがいします

- どこで何をしていたか?
カテチ上空で移動中
- 何かプラグインの機能を使ったりしたか?
homeとfly
- 村にいるなら、村人や襲撃の状態
カテチから少し離れた村で襲撃が終わった後でした
- そのほか、何か気付いたことなどがあれば

Re: 頻発するクラッシュに関して

Posted: 2019年6月22日(土) 18:16
by HimaJyun
カテチ、home、fly辺りが条件として関係ありそうかな……

Re: 頻発するクラッシュに関して

Posted: 2019年6月22日(土) 21:20
by NAKASHI0131
dynmapでチャンク更新による生産でクラッシュするバグがちらほら出てるので少し怪しいかも...

Re: 頻発するクラッシュに関して

Posted: 2019年6月23日(日) 02:14
by tapioka0714
2時5分
落ちました、対応お願いします。

- どこで何をしていたか?
いるカップからカテチにもどる/homeを使った(/homeを使った瞬間に落ちた)
その時ヒマタラさんがスポーン島にいた(放置中)
- 何かプラグインの機能を使ったりしたか?
homeとfly
- 村にいるなら、村人や襲撃の状態
カテチにいる
- そのほか、何か気付いたことなどがあれば

Re: 頻発するクラッシュに関して

Posted: 2019年6月23日(日) 02:35
by HimaJyun
対応しました。
やっぱhomeとかでテレポートした時のチャンクロードとかが怪しそうか……