alibaba / alibaba/p3c

java.lang.ArrayIndexOutOfBoundsException

Open
#999 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Kotlin
Stars
30.9k
Forks
8k
PR merge metrics
No merged PRs in 30d

Description

我电脑是win10 64位,IntelliJIDEA 版本是 2022.3.3 社区版

![image](https://github.com/alibaba/p3c/assets/10412168/dacecd61-ef18-49ea-8cee-cb8014da01bd)
![image](https://github.com/alibaba/p3c/assets/10412168/939a0a63-ebb5-45a1-bb95-a9804782a039)

java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
at com.siyeh.ig.inheritance.MissingOverrideAnnotationInspection.buildFix(MissingOverrideAnnotationInspection.java:61)
at com.alibaba.p3c.idea.inspection.standalone.AliMissingOverrideAnnotationInspection.buildFix(AliMissingOverrideAnnotationInspection.kt:68)
at com.siyeh.ig.BaseInspectionVisitor.createFixes(BaseInspectionVisitor.java:225)
at com.siyeh.ig.BaseInspectionVisitor.createAndInitFixes(BaseInspectionVisitor.java:210)
at com.siyeh.ig.BaseInspectionVisitor.registerError(BaseInspectionVisitor.java:174)
at com.siyeh.ig.BaseInspectionVisitor.registerError(BaseInspectionVisitor.java:167)
at com.siyeh.ig.BaseInspectionVisitor.registerMethodError(BaseInspectionVisitor.java:111)
at com.alibaba.p3c.idea.inspection.standalone.AliMissingOverrideAnnotationInspection$MissingOverrideAnnotationVisitor.visitMethod(AliMissingOverrideAnnotationInspection.kt:106)
at com.intellij.psi.impl.source.PsiMethodImpl.accept(PsiMethodImpl.java:286)
at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processInOrder$9(InspectionRunner.java:324)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1111)
at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processInOrder$10(InspectionRunner.java:332)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:173)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:182)
at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processInOrder$11(InspectionRunner.java:338)
at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:159)
at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:151)
at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processInOrder$12(InspectionRunner.java:301)
at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:130)
at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:119)
at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processInOrder$13(InspectionRunner.java:301)
at com.intellij.concurrency.JobLauncherImpl$1MyProcessQueueTask.lambda$call$0(JobLauncherImpl.java:299)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:603)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
at com.intellij.concurrency.JobLauncherImpl$1MyProcessQueueTask.call(JobLauncherImpl.java:284)
at com.intellij.concurrency.JobLauncherImpl$1MyProcessQueueTask.call(JobLauncherImpl.java:272)
at java.base/java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1428)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
at java.base/java.util.concurrent.ForkJoinPool.helpJoin(ForkJoinPool.java:1883)
at java.base/java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:440)
at java.base/java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:670)
at com.intellij.concurrency.JobLauncherImpl.processQueue(JobLauncherImpl.java:360)
at com.intellij.codeInsight.daemon.impl.InspectionRunner.processInOrder(InspectionRunner.java:300)
at com.intellij.codeInsight.daemon.impl.InspectionRunner.visitElements(InspectionRunner.java:275)
at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$inspect$4(InspectionRunner.java:129)
at com.intellij.codeInspection.InspectionEngine.withSession(InspectionEngine.java:226)
at com.intellij.codeInsight.daemon.impl.InspectionRunner.inspect(InspectionRunner.java:116)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.collectInformationWithProgress(LocalInspectionsPass.java:117)
at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:97)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:57)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$1(PassExecutorService.java:379)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1111)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:371)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:603)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:370)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:346)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:173)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:182)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:344)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:181)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with com.siyeh.ig.inheritance.MissingOverrideAnnotationInspection.buildFix at MissingOverrideAnnotationInspection.java:61 and the wrapper at AliMissingOverrideAnnotationInspection.kt:68. Reproduce the inspection failure using IntelliJ IDEA 2022.3.3 on the reported setup, then trace the empty array access shown in the stack trace. Done means the inspection no longer raises ArrayIndexOutOfBoundsException for the reported code.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, kotlin
Domain
devtools
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.