getappmap / getappmap/appmap-java

crash when the project's git repo doesn't have any remotes

オープン
#278 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
Java
スター
88
フォーク
17
平均マージ
2日 2時間
マージ済み PR(30日)
1

説明

ajp@Alans-MacBook-Pro java % git remote -v                                                                                                
main 20240519 135907
ajp@Alans-MacBook-Pro java % java -Dappmap.recording.auto=true -javaagent:$HOME/.appmap/lib/java/appmap.jar com/example/hw/HelloWorld.java
Hello World!
Exception in thread "Thread-3" java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
	at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
	at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
	at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
	at java.base/java.util.Objects.checkIndex(Objects.java:372)
	at java.base/java.util.ArrayList.get(ArrayList.java:459)
	at com.appland.appmap.util.GitUtil.getRepositoryURL(GitUtil.java:103)
	at com.appland.appmap.record.AppMapSerializer.writeMetadata(AppMapSerializer.java:186)
	at com.appland.appmap.record.AppMapSerializer.write(AppMapSerializer.java:73)
	at com.appland.appmap.record.RecordingSession.stop(RecordingSession.java:127)
	at com.appland.appmap.record.Recorder.stop(Recorder.java:270)
	at com.appland.appmap.Agent.lambda$startAutoRecording$2(Agent.java:151)
	at java.base/java.lang.Thread.run(Thread.java:829)
main 20240519 135911

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

GitUtil.java:103 の com.appland.appmap.util.GitUtil.getRepositoryURL と、AppMapSerializer.writeMetadata からのその呼び出しを起点にします。リモートがないリポジトリで Java エージェントの実行を再現し、その後、IndexOutOfBoundsException が発生せずに記録が停止し、メタデータの書き込みが完了することを確認します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
git, java
領域
devtools
issue の種類
バグ
難易度
2/5
見積もり時間
1〜3時間
活発さ
停滞
明瞭さ
明確に書かれている
初心者へのやさしさ
48/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。