コンテンツ
目次
バグを報告する前に
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 8 – Tomcat 11.0.x、10.1.x、9.0.x および 8.5.x
- Tomcat コネクタ – Tomcat と他の Web サーバーとの統合
- Tomcat Native – Tomcat 用の APR ベースのネイティブ HTTP および AJP コネクタ
- Tomcat モジュール – 追加の Tomcat コンポーネント
- Taglibs – Apache Taglibs サブプロジェクト
概要フィールドだけでなく、コメントフィールドも検索します
詳細検索ページで「詳細なバグ情報」を開き、「コメント」フィールドにクエリを入力します。
最近変更された問題に結果を限定できます。
詳細検索ページで「変更履歴で検索」を開き、「間」フィールドの最初のフィールドに「
-2m
」と入力して、過去 2 か月間に変更された問題に結果を限定します。一部のバグは Tomcat に属しません。
Tomcat は、他のいくつかのプロジェクトからライブラリをバンドルします。詳細については、配布物の RELEASE-NOTES および NOTICE ファイルを参照してください。詳細については、以下の別のセクションにあります。
変更履歴
最近修正された問題を探している場合は、いくつかの場所を参照してください。
リリース済みバージョンの変更履歴ファイル
これらは Tomcat の Web サイトで公開されています。
未リリースバージョンの変更履歴ファイル
これらはソースコードで利用できます。
スタイルシートが添付された XML 形式です。したがって、最新の Web ブラウザーで適切に表示できます。
これらのファイルは、ナイトリードキュメントビルドでも利用できます。詳細については、Buildbot ページを参照してください。
リンク
製品 | 変更履歴 (リリース済み) | 変更履歴 (未リリース) |
---|---|---|
Tomcat 11.0 (main) | changelog.html | changelog.html - CI |
Tomcat 10.1 | changelog.html | changelog.html - CI |
Tomcat 9.0 | changelog.html | changelog.html - CI |
Tomcat 8.5 | 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 アプリケーションで使用され、再コンパイルされて単一の 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 8 – Tomcat 8.5.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 ランタイム環境のベンダーとバージョン。
- Tomcat が Apache HTTPD または他の Web サーバーの背後で使用されている場合は、そのバージョンとその構成方法。
- 使用されているTomcatコネクタ。Tomcatには複数のコネクタ実装があります。どのコネクタが使用されているかは、Tomcat起動時のログに表示されます。
添付ファイル
バグの追跡に役立つ場合は、設定ファイルとTomcatのログファイルを添付してください。
再現手順
クリーンなTomcatインストール環境で問題を再現する方法を説明してください。可能であれば、問題を実証する簡単なサンプルWebアプリケーションを提供してください。
パッチと機能拡張リクエストの送信方法
Tomcatの機能拡張リクエストは、バグレポートと同じ手順で送信しますが、重大度フィールドでは「enhancement
」を選択します。
GitHubで利用可能なコンポーネントについては、プルリクエストとして提案されたパッチを提供できます。または、提案されたパッチをBugzilla issueに添付することもできます。パッチを提供する際は、どのバージョンのソースコードに適用されるかを明記してください。どのようなパッチも歓迎しますが、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に関する一般的なドキュメント
セキュリティに関する問題
セキュリティ関連のバグは特に懸念されます。確認済みのセキュリティバグを報告する場合は、公開のメールリストに投稿したり、バグレポートを提出したりしないでください。報告方法については、セキュリティレポートページをご覧ください。