Deserialization issue with slack sdk with message attachments
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
スタックトレースと JSON パス $.messages[115].attachments[0].list_records[0].fields[1].message から始め、次に SDK の attachment デシリアライゼーションのエントリーポイントを調査します。顧客の payload を再現し、そのフィールドに期待される形を特定します。報告された BEGIN_OBJECT/BEGIN_ARRAY エラーなしで payload がデシリアライズできれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Noticed this with one of our customers:
j.l.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 265032 path $.messages[115].attachments[0].list_records[0].fields[1].message See https://github.com/google/gson/blob/main/Troubleshooting.md#unexpected-json-structure at c.g.g.s.JsonReader.unexpectedTokenError(JsonReader.java:1768) at c.g.g.s.JsonReader.beginObject(JsonReader.java:469) at c.g.g.i.b.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:509) ... 43 common frames omitted Wrapped by: c.g.g.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 265032 path $.messages[115].attachments[0].list_records[0].fields[1].message See https://github.com/google/gson/blob/main/Troubleshooting.md#unexpected-json-structure at c.g.g.i.b.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:520) at c.g.g.Gson$FutureTypeAdapter.read(Gson.java:1516) at c.g.g.i.b.ReflectiveTypeAdapterFactory$2.readIntoField(ReflectiveTypeAdapterFactory.java:267) at c.g.g.i.b.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:558) at c.g.g.i.b.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:516) at c.g.g.i.b.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40) at c.g.g.i.b.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:83) at c.g.g.i.b.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:59) at c.g.g.i.b.ReflectiveTypeAdapterFactory$2.readIntoField(ReflectiveTypeAdapterFactory.java:267) at c.g.g.i.b.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:558) at c.g.g.i.b.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:516) at c.g.g.i.b.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40) at c.g.g.i.b.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:83)
- 主要言語
- Java
- スター
- 602
- フォーク
- 235
- 平均マージ
- 2日 13時間
- マージ済み PR(30日)
- 8
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
slackapi/java-slack-sdk のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
slackapi/java-slack-sdk#1653 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Upgrade Jetty対応中かも @skrcode が 39 日前に担当しました。 オープンauto-triage-skip dependencies good first issue
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
slackapi/java-slack-sdk#1567 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
-
auto-triage-skip discussion enhancement
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
slackapi/java-slack-sdk#1535 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
-
auto-triage-skip question untriaged
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
slackapi/java-slack-sdk#1528 · コメント 7 件 ·
メンテナーはふだん 1 日以内に返信
-
Update okhttp to 5.xオープンauto-triage-skip dependencies project:slack-api-client project:slack-app-backend
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
slackapi/java-slack-sdk#1500 · コメント 11 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
slackapi/java-slack-sdk の issue をすべて見る
似ている issue
-
`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 ·
-
WebMvcStreamableServerTransportProvider: idle-session eviction stops permanently after a NullPointerException when a session is deleted mid-sweep対応中かも @lejuho が今日担当しました。 オープンstatus: waiting-for-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
spring-projects/spring-ai#7133 ·
メンテナーはふだん 6 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
objectionary/jucs#141 ·
メンテナーはふだん 1 日以内に返信