コンテンツ
目次
バグを報告する前に
Apache Tomcat® コミュニティは、Apache Tomcat を使用する人、ディスカッションリストで質問に答えるのを手伝う人、ドキュメントやパッチを投稿する人、そして Apache Tomcat のコードを開発および保守する人で構成されています。バグレポートの解決を日常的に手伝う人のほとんどは、さまざまな理由でこれを行っており、ほとんどすべての人が自分の時間を使っています。
報告されたバグの多くは、Apache Tomcat コードのバグではなく、構成ミス、インストールされたアプリケーション、オペレーティングシステムなどによって引き起こされた問題によるものです。
バグを報告する前に、問題を自分で解決するためにあらゆる努力を払ってください。
ヘルプが必要な場合は、users メーリングリストで質問してください。
このドキュメントの残りの部分では、発生している問題を解決するために使用できるリソースを紹介します。
Bugzilla はサポートフォーラムではありません
Bugzilla は、バグレポートと機能リクエストを追跡するためのツールです。 Apache Tomcat プロジェクトでの作業を整理するために使用され、問題が忘れられないようにし、それらがどのように解決されたかを文書化します。
Bugzilla は、独自のシステムを構成する方法や、理解できないエラーメッセージや動作を解釈する方法について質問する場所ではありません。質問がある場合は、users メーリングリストで質問してください。
問題を診断するのに十分な情報を収集し、それが実際に Apache Tomcat で修正できるバグである場合は、Bugzilla の問題を自由に作成または再開してください。 メーリングリストアーカイブでディスカッションへのリンクを見つけて、バグレポートに含めることができます。
Apache Tomcat の問題を解決するためのリソース
バグを報告する前に、発生している問題を解決するために役立つリソースをいくつか紹介します。
問題のトラブルシューティング
- ドキュメント – 使用している Apache Tomcat のバージョンのドキュメントを確認してください。直面している問題は、ドキュメントですでに対処されている可能性があります。ドキュメントは検索可能であることに注意してください。
- ログ – Apache Tomcat が生成するログは、問題を診断しようとするときに貴重なリソースになります。確認してください。問題の診断に役立つより多くの情報が得られるように、Apache Tomcat 構成でデバッグ出力を有効にすることができます。アクセスログ(バルブ)を構成して、Tomcat に到達したリクエストと Tomcat のそれらへの応答をログに記録することができます。
- Wiki – Wiki を検索してください。それは誰でも投稿できる非公式なドキュメントです。
- FAQ – Wiki の一部である Tomcat よくある質問を検索してください。
Apache Tomcat ディスカッションリスト
既知の問題
バグデータベースを検索して、見ているバグがすでに報告されているかどうかを確認してください。すでに修正されているバグについては、変更履歴ページをご覧ください。まだリリースされていない Tomcat のバージョンの変更履歴も利用できます。詳細については、以下をご覧ください。
最新バージョン
最新リリースの Apache Tomcat で問題を再現してみてください。
既知の問題を探す
バグデータベースを検索する
バグデータベースを検索して、見ているバグがすでに報告されているかどうかを確認してください。
- バグはすでに修正されており、後のバージョンまたはナイトリービルドで利用できる可能性があります。
- 他の誰かがバグを報告している可能性があり、バグの再現と解決に役立つ情報を追加できます。
検索のヒントをいくつか紹介します。
オープンなバグだけでなく、クローズされたバグも検索してください。
詳細検索ページでは、「ステータス」フィールドをクリアして、ステータスでフィルタリングしないようにすることができます。
Tomcat の異なるバージョンを検索します。
バグデータベースでは、Tomcat はいくつかの「製品」で表されます。同じ問題は一度だけ報告する必要がありますが、修正は異なる Tomcat バージョンに適用される場合があります。そうすることで、バグレポートは異なる製品間で移動されます。 Tomcat 9 に対して最初に報告されたバグは、Tomcat 8 に移動され、さらに Tomcat 7 に移動される可能性があります。したがって、すべてのバージョンを一度に検索することは理にかなっています。
サポートされている製品のクイックリストを次に示します。
- Tomcat 11、Tomcat 10、Tomcat 9 – Tomcat 11.0.x、10.1.x、9.0.x
- Tomcat コネクタ – Tomcat と他の Web サーバーとの統合
- Tomcat Native – Tomcat 用の APR ベースのネイティブ HTTP および AJP コネクタ
- Tomcat モジュール – 追加の Tomcat コンポーネント
- Taglibs – Apache Taglibs サブプロジェクト
概要フィールドだけでなく、コメントフィールドも検索してください。
詳細検索ページで、「詳細なバグ情報」を開き、「コメント」フィールドにクエリを入力します。
最近変更された問題に結果を制限できます。
詳細検索ページで、「変更履歴で検索」を開き、「between」フィールドのペアの最初のフィールドに「
-2m
」と入力して、過去 2 か月間に変更された問題に結果を制限します。Tomcat に属さないバグもあります。
Tomcat は、他のいくつかのプロジェクトからのライブラリをバンドルします。詳細については、ディストリビューションの RELEASE-NOTES ファイルと NOTICE ファイルを参照してください。詳細については、以下の別のセクションをご覧ください。
変更履歴
最近修正された問題を探している場合は、いくつかの場所で確認できます。
リリースされたバージョンの変更履歴ファイル
これらは Tomcat Web サイトで公開されています。
まだリリースされていないバージョンの変更履歴ファイル
これらはソースコードで利用できます。
スタイルシートが添付された XML 形式です。したがって、最新の Web ブラウザーはそれらをきれいに表示できます。
ファイルは、ナイトリードキュメントビルドでも利用できます。詳細については、Buildbot ページをご覧ください。
リンク
製品 | 変更履歴(リリース済み) | 変更履歴(未リリース) |
---|---|---|
Tomcat 11.0(メイン) | changelog.html | changelog.html - CI |
Tomcat 10.1 | changelog.html | changelog.html - CI |
Tomcat 9.0 | changelog.html | changelog.html - CI |
Tomcat コネクタ | changelog.html | changelog.xml |
Tomcat Native 2.0 | changelog.html | changelog.xml |
Tomcat Native 1.2 | changelog.html | changelog.xml |
サードパーティコンポーネント
Tomcat は、他のいくつかのプロジェクトからのライブラリをバンドルします。詳細については、ディストリビューションの RELEASE-NOTES ファイルと NOTICE ファイルを参照してください。 Tomcat のビルドに使用されたコンポーネントのバージョンは、ソースディストリビューションの build.properties.default
ファイルで定義されています。
注目すべきコンポーネントは
Tomcat サービスランチャー –
commons-daemon-*
、tomcatN.exe
、tomcatNw.exe
サービスランチャーは、Apache Commons Daemon プロジェクトによって提供されています。
そのプロジェクトの用語を使用すると、*nixes ランチャーは
jsvc
と呼ばれ、Windows ランチャーはprocrun
と呼ばれます。 Tomcat ディストリビューションのtomcatN.exe
およびtomcatNw.exe
プログラムは、Apache Commons Daemon バイナリディストリビューションから名前が変更されたprunsrv.exe
およびprunmgr.exe
にすぎません。DBCP データベースプール実装 –
tomcat-dbcp.jar
。このプール実装は、Apache Commons Pool および Apache Commons DBCP プロジェクトによって提供されています。
これらの 2 つのプロジェクトのクラスは、Web アプリケーションで同じライブラリが使用されている場合に競合を回避するために、別のパッケージに名前が変更され、再コンパイルされて 1 つの JAR ファイルにパックされます。
JDBC データベースプール実装 –
tomcat-jdbc.jar
。このプール実装は Tomcat 7 以降で利用可能であり、Tomcat モジュールの一部である jdbc-pool プロジェクトから提供されています。このライブラリは、メイン Tomcat と並行して開発されています。
Tomcat Maven プラグインサブプロジェクトは、JIRA データベースで問題を追跡します。
Apache Tomcat のバグの報告
問題が Apache Tomcat のバグであり、Web アプリケーションのバグではないことを確認してください。
セキュリティ関連の問題は、Bugzilla を介して報告するべきではありません。
バグ報告の書き方
できるだけ多くの情報を提供してください。問題を調べている人がそれを再現できない場合、バグを修正するのは非常に困難です。バグの書き方ガイドラインも参照してください。
バグの送信はこちらから始まります。バグレポートには次の情報を含める必要があります
製品。サポートされている製品のリストを次に示します
- Tomcat 11 – Tomcat 11.1.x および tomcat.apache.org Web サイト
- Tomcat 10 – Tomcat 10.1.x
- Tomcat 9 – Tomcat 9.0.x
- Tomcat コネクタ – Tomcat と他の Web サーバーとの統合。 Apache HTTPD およびその他の Web サーバー用の mod_jk モジュール。
- Tomcat Native – ネイティブコードを使用し、Apache APR および OpenSSL ライブラリとリンクされた Tomcat 用の HTTP および AJP コネクタ
- Tomcat モジュール – jdbc-pool などの追加の Tomcat コンポーネント
- Taglibs – Apache Taglibs サブプロジェクト
バージョン – Apache Tomcat バージョン。
リストから選択するだけでなく、テキストでも言及してください。バグの説明は更新できるため、テキストでバージョンについて言及することも重要です。
コンポーネント – バグがあるコンポーネント。
わからない場合は、推測してください。
プラットフォームとOS – Tomcat が実行されているハードウェアプラットフォームとオペレーティングシステム。
重要度 – これは通常、通常のバグレポートの場合は
normal
で、機能拡張リクエストの場合はenhancement
です。critical
としてマークする傾向がある場合は、おそらく間違っています。問題はすでに認識されており、修正されているか、そもそも問題ではない可能性があります。構成の詳細
テキストでこれらについて言及してください
- Java バージョン – Tomcat の実行に使用される Java Runtime Environment のベンダーとバージョン。
- Tomcat が Apache HTTPD または他の Web サーバーの背後で使用されている場合 – そのバージョンと構成方法。
- 使用されている Tomcat コネクタ。 Tomcat にはコネクタの実装がいくつかあります。使用されているコネクタは、Tomcat の起動時にログに表示されます。
添付ファイル
バグの追跡に役立つ場合は、構成ファイルと Tomcat ログファイルを添付してください。
再現手順
クリーンな Tomcat インストールで問題を再現する方法を説明してください。可能な場合は、問題を示す簡単なサンプル Web アプリケーションを提供してください。
パッチと機能拡張リクエストの送信方法
Tomcat の機能拡張リクエストは、バグレポートと同じ手順で送信されますが、重要度フィールドで値「enhancement
」を選択します。
GitHub 経由で利用できるコンポーネントの場合は、プルリクエストとして提案されたパッチを提供できます。または、提案されたパッチを Bugzilla の問題に添付することもできます。パッチを提供する場合は、ソースコードのどのバージョンに適用されるかを明記してください。パッチは歓迎されますが、Unified Diff 形式を使用するパッチを推奨します。これらは、diff -u
コマンドまたは svn diff
または git diff
コマンドを使用して生成できます。
Apache Tomcat にパッチを適用してビルドするには、次の参照を参照してください
- Apache Tomcat のリポジトリアクセス
- ソースディストリビューションの BUILDING.txt をお読みください
ドキュメントパッチを準備するには
ソースディストリビューションの BUILDING.txt ファイルのドキュメントのビルドに関するセクションをお読みください。通常、Tomcat のバージョンのドキュメントは、ソースコードの webapps/docs/
ディレクトリにあり、ant build-docs
コマンドでビルドできます。
ドキュメントをビルドするには、Java ランタイムと Apache Ant のコピーがあれば十分です。 Tomcat コードのコンパイルは不要です。
一般的な参考文献
Apache Software Foundation ガイドライン
- Subversion に関する一般的な Apache ガイダンス
- コントリビューターズテックガイドのパッチの送信の章
一般的な Subversion ドキュメント
セキュリティ問題
セキュリティ関連のバグは特に注意が必要です。報告する検証済みのセキュリティバグがある場合は、公開メールリストに投稿したり、バグレポートを送信したりしないでください。報告方法については、セキュリティレポートページをご覧ください。