Bug: Java agent breaks an assertion in ShardingSphere
まだ誰も着手していません。
評価
調査の方向性
shardingsphere-spi モジュールの RequiredSPIRegistryTest.java から始め、特に 40 行目の assertRegisteredServiceNotExisted に注目し、記録を有効にした状態で mvn test を実行して失敗を再現します。テストが ServiceProviderNotFoundException ではなく NullPointerException を受け取る理由を追跡し、その後、Java agent を有効にした状態でモジュールのテストがパスすることを確認します。
索引モデルが issue の本文から書いたものです。
説明
Setup: see #105
Module: shardingsphere-spi
With the recording on, one test fails with an error:
mvn test
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Detecting the operating system and CPU architecture
[INFO] ------------------------------------------------------------------------
[INFO] os.detected.name: osx
[INFO] os.detected.arch: aarch_64
[INFO] os.detected.version: 11.5
[INFO] os.detected.version.major: 11
[INFO] os.detected.version.minor: 5
[INFO] os.detected.classifier: osx-aarch_64
[INFO]
[INFO] ------------< org.apache.shardingsphere:shardingsphere-spi >------------
[INFO] Building shardingsphere-spi 5.0.0-RC1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-enforcer-plugin:1.4:enforce (enforce-maven-version) @ shardingsphere-spi ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.4:enforce (enforce-banned-dependencies) @ shardingsphere-spi ---
[INFO]
[INFO] --- maven-checkstyle-plugin:3.1.0:check (validate) @ shardingsphere-spi ---
[INFO]
[INFO] --- jacoco-maven-plugin:0.8.5:prepare-agent (default) @ shardingsphere-spi ---
[INFO] argLine set to -javaagent:/Users/ptrdvrk/.m2/repository/org/jacoco/org.jacoco.agent/0.8.5/org.jacoco.agent-0.8.5-runtime.jar=destfile=/Users/ptrdvrk/work/github/java/shardingsphere/shardingsphere/shardingsphere-spi/target/jacoco.exec
[INFO]
[INFO] --- maven-remote-resources-plugin:1.5:process (process-resource-bundles) @ shardingsphere-spi ---
[INFO]
[INFO] --- maven-resources-plugin:2.7:resources (default-resources) @ shardingsphere-spi ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/ptrdvrk/work/github/java/shardingsphere/shardingsphere/shardingsphere-spi/src/main/resources
[INFO] Copying 3 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ shardingsphere-spi ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.7:testResources (default-testResources) @ shardingsphere-spi ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 5 resources
[INFO] Copying 3 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.0:testCompile (default-testCompile) @ shardingsphere-spi ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- appmap-maven-plugin:1.2.0:prepare-agent (default) @ shardingsphere-spi ---
[INFO] Initializing AppLand AppMap Java Recorder.
[INFO] argLine set to -Dappmap.event.valueSize=1024 -Dappmap.config.file=/Users/ptrdvrk/work/github/java/shardingsphere/shardingsphere/appmap.yml -Dappmap.output.directory=target/appmap -javaagent:/Users/ptrdvrk/.m2/repository/org/jacoco/org.jacoco.agent/0.8.5/org.jacoco.agent-0.8.5-runtime.jar=destfile=/Users/ptrdvrk/work/github/java/shardingsphere/shardingsphere/shardingsphere-spi/target/jacoco.exec -javaagent:/Users/ptrdvrk/.m2/repository/com/appland/appmap-agent/1.5.0/appmap-agent-1.5.0.jar
[INFO]
[INFO] --- maven-surefire-plugin:2.22.0:test (default-test) @ shardingsphere-spi ---
[INFO]
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.apache.shardingsphere.spi.ShardingSphereServiceLoaderTest
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.409 s - in org.apache.shardingsphere.spi.ShardingSphereServiceLoaderTest
[INFO] Running org.apache.shardingsphere.spi.required.RequiredSPIRegistryTest
[ERROR] Tests run: 3, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.039 s <<< FAILURE! - in org.apache.shardingsphere.spi.required.RequiredSPIRegistryTest
[ERROR] assertRegisteredServiceNotExisted(org.apache.shardingsphere.spi.required.RequiredSPIRegistryTest) Time elapsed: 0.017 s <<< ERROR!
java.lang.Exception: Unexpected exception, expected<org.apache.shardingsphere.spi.exception.ServiceProviderNotFoundException> but was<java.lang.NullPointerException>
at org.apache.shardingsphere.spi.required.RequiredSPIRegistryTest.assertRegisteredServiceNotExisted(RequiredSPIRegistryTest.java:40)
[INFO] Running org.apache.shardingsphere.spi.optional.OptionalSPIRegistryTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.016 s - in org.apache.shardingsphere.spi.optional.OptionalSPIRegistryTest
[INFO] Running org.apache.shardingsphere.spi.typed.TypedSPIRegistryTest
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.02 s - in org.apache.shardingsphere.spi.typed.TypedSPIRegistryTest
[INFO] Running org.apache.shardingsphere.spi.ordered.cache.OrderedServicesCacheTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.053 s - in org.apache.shardingsphere.spi.ordered.cache.OrderedServicesCacheTest
[INFO] Running org.apache.shardingsphere.spi.ordered.OrderedSPIRegistryTest
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.039 s - in org.apache.shardingsphere.spi.ordered.OrderedSPIRegistryTest
[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR] RequiredSPIRegistryTest.assertRegisteredServiceNotExisted » Unexpected except...
[INFO]
[ERROR] Tests run: 18, Failures: 0, Errors: 1, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.337 s
[INFO] Finished at: 2021-09-10T16:23:22-04:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.0:test (default-test) on project shardingsphere-spi: There are test failures.
[ERROR]
[ERROR] Please refer to /Users/ptrdvrk/work/github/java/shardingsphere/shardingsphere/shardingsphere-spi/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date]-jvmRun[N].dump, [date].dumpstream and [date]-jvmRun[N].dumpstream.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
- 主要言語
- Java
- スター
- 88
- フォーク
- 17
- 平均マージ
- 2日 2時間
- マージ済み PR(30日)
- 1
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
getappmap/appmap-java のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 28/100
getappmap/appmap-java#333 ·
-
appmap.yml packages path matching zero classes yields a healthy-looking recording with no warningオープン
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
getappmap/appmap-java#332 · コメント 1 件 ·
-
Git metadata dropped in a git worktree (.git file with gitdir: pointer not followed)対応中かも @dividedmind が 2 日前に担当しました。 オープン
getappmap/appmap-java#331 · コメント 1 件 · 担当者 1 名 ·
-
Labeled methods should always be recorded, even if they match trivial-method filters対応中かも @kgilpin が 192 日前に担当しました。 オープン
getappmap/appmap-java#323 · リアクション 1 件 · 担当者 2 名 ·
-
Warning with Java 25オープン
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
getappmap/appmap-java#322 ·
getappmap/appmap-java の issue をすべて見る
似ている issue
-
Clock.MakeDate continues execution and returns a rolled-over instant after dispatching error on invalid date対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
mit-cml/appinventor-sources#4155 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1〜3時間 初心者へのやさしさ 62/100
Hira-shi/PW1-DAI-Carrel-Egal-Eyer#28 ·
メンテナーはふだん 1 日以内に返信
-
`GET /v1/event/token/{uuid}` can report a BOM upload as done before policy evaluation and metrics have finished対応中かも @Zargath が今日担当しました。 オープンdefect in triage
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
DependencyTrack/dependency-track#7646 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
floci-io/floci#5425 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
objectionary/eo-graphs#80 ·