OpenAPITools / OpenAPITools/openapi-diff
Exception in thread "main" java.lang.StackOverflowError
まだ誰も着手していません。
- 主要言語
- Java
- スター
- 1.1k
- フォーク
- 190
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
Hi
I execute this java -jar /app/openapi-diff.jar ./reports/old.json ./reports/new.json --html ./reports/diff.html on Graviton Gitlab runner executor Aws nodes and I get the bellow error. I use latest Arm64 image openapitools/openapi-diff:2.1.1. If run same reports on AMD64 with openapitools/openapi-diff:2.0.0-beta.10 image all works fine. my report files are ~600K each in size.
Exception in thread "main" java.lang.StackOverflowError
at java.base/jdk.internal.reflect.Reflection.verifyMemberAccess(Unknown Source)
at java.base/java.lang.reflect.AccessibleObject.slowVerifyAccess(Unknown Source)
at java.base/java.lang.reflect.AccessibleObject.verifyAccess(Unknown Source)
at java.base/java.lang.reflect.AccessibleObject.checkAccess(Unknown Source)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Unknown Source)
at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openapitools.openapidiff.core.compare.SchemaDiff.getSchemaDiffResult(SchemaDiff.java:75)
at org.openapitools.openapidiff.core.compare.SchemaDiff.computeDiffForReal(SchemaDiff.java:356)
at org.openapitools.openapidiff.core.compare.SchemaDiff.computeDeferredDiff(SchemaDiff.java:333)
at org.openapitools.openapidiff.core.compare.SchemaDiff.diff(SchemaDiff.java:312)
at org.openapitools.openapidiff.core.compare.schemadiffresult.SchemaDiffResult.diff(SchemaDiffResult.java:112)
at org.openapitools.openapidiff.core.compare.schemadiffresult.ComposedSchemaDiffResult.lambda$diff$2(ComposedSchemaDiffResult.java:100)
at org.openapitools.openapidiff.core.model.deferred.RealizedChanged.flatMap(RealizedChanged.java:57)
at org.openapitools.openapidiff.core.compare.schemadiffresult.ComposedSchemaDiffResult.diff(ComposedSchemaDiffResult.java:99)
at org.openapitools.openapidiff.core.compare.SchemaDiff.computeDiffForReal(SchemaDiff.java:357)
at org.openapitools.openapidiff.core.compare.SchemaDiff.computeDeferredDiff(SchemaDiff.java:333)
at org.openapitools.openapidiff.core.compare.SchemaDiff.diff(SchemaDiff.java:312)
at org.openapitools.openapidiff.core.compare.schemadiffresult.SchemaDiffResult.diff(SchemaDiffResult.java:112)
at org.openapitools.openapidiff.core.compare.schemadiffresult.ComposedSchemaDiffResult.lambda$diff$2(ComposedSchemaDiffResult.java:100)
at org.openapitools.openapidiff.core.model.deferred.RealizedChanged.flatMap(RealizedChanged.java:57)
at org.openapitools.openapidiff.core.compare.schemadiffresult.ComposedSchemaDiffResult.diff(ComposedSchemaDiffResult.java:99)
at org.openapitools.openapidiff.core.compare.SchemaDiff.computeDiffForReal(SchemaDiff.java:357)
at org.openapitools.openapidiff.core.compare.SchemaDiff.computeDeferredDiff(SchemaDiff.java:333)
at org.openapitools.openapidiff.core.compare.SchemaDiff.diff(SchemaDiff.java:312)
at org.openapitools.openapidiff.core.compare.schemadiffresult.SchemaDiffResult.diff(SchemaDiffResult.java:112)
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
報告された java -jar コマンドと 2 つの OpenAPI レポートで失敗を再現し、スタックトレースに示されている SchemaDiff.java と ComposedSchemaDiffResult.java を通る再帰呼び出しを追跡します。約 600K のレポートを Arm64 イメージ上で StackOverflowError なしに比較でき、HTML diff が生成されれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- api
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100