himeshi’s blog

Simutrans本体改造まわりのお話をつらつらと

OTRPのバグ報告について

どうも,ひめしです.

OTRPは日々多くの皆様からバグ報告をいただいております.残念ながら全ての報告に満足に対応ができているわけではありませんが,皆様のバグ報告は確実にOTRPの品質向上に役立たせていただいております.

近ごろ,「バグ報告をしたいけど何を投げればいいのかよくわからない」という声をいただきますので,バグ報告として投げていただきたいものを開発者目線から嬉しい順に列挙していきます.ご自身のできる範囲で情報を投げていただけると幸いです.

 

1) バグを修正するプルリクエス

GitHub上のteamhimeh/simutransのOTRPブランチ向けにバグ修正のプルリクエストを投げていただけると泣いて喜びます.

github.com

 

2) バックトレース(クラッシュする系のバグの場合)

クラッシュする系のバグの場合,gdbやlldbなどといったデバッガなどで得られるバックトレースを投げていただけると,クラッシュの原因となったコードが直接わかりますので大変助かります.

なお,最近のOTRPの実行ファイルは容量削減のためデバッグ情報を削減しています.意味のあるバックトレースを得るためには,ソースコードデバッグ情報つきでコンパイル(config.defaultのDEBUGを1以上にする)してからデバッガで実行する必要があることに注意してください.「デバッガの使い方はわかるけどコンパイルするの面倒」という場合には,私にお声がけいただければデバッグ情報付きの本体をコンパイルしてお渡しします.

 

3) バグを再現するセーブデータの提出

ここからは開発の知識がなくてもできる報告手段です.

バグ修正にはまずバグを再現しなければなりません.そこで,以下の仕様を満たすセーブデータを作成し,提出いただけると,速やかにバグの調査に入ることができます.

  • セーブデータを開いたら画面内に当該不具合が即時(もしくは数秒後に)発生するようにする.
  • 本家無印pak128を用いてマップを作る.(特別に必要な場合をのぞき,追加のアドオンは用いないでください.)
  • 不具合と関係ない車両などはマップ中に配置しない.

ある特定のマップでのみバグの発症が見られる場合(バグを再現するデータを新たに作成することが困難な場合),simutransフォルダ一式(pakやsaveデータ,configなど全てが含まれている状態)をzipなどで固めてご提供いただいても構いません.

 

4) できる限りバグの発生条件を特定し,文章やスクリーンショットで説明する

バグの発生条件はできるだけ詳細に説明してください.最低限,

  • 使用しているOTRPのバージョン
  • どのような不具合が発生しているのか
  • その不具合はいつ発生するのか

を説明してください.

 

バグ報告は2019年11月現在,twitter(@himeshi_hob),Discord(simutrans_japan),GitHubのissue(https://github.com/teamhimeh/simutrans/issues)で承っております.皆様のご協力をお願いいたします.