Uploaded image for project: 'Migration Toolkit for Applications'
  1. Migration Toolkit for Applications
  2. MTA-5150

JDTLS in MTA 7.3 builds failing

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done-Errata
    • Icon: Blocker Blocker
    • MTA 7.3.0
    • MTA 7.3.0
    • Application Analysis
    • None
    • Quality / Stability / Reliability
    • False
    • Hide

      None

      Show
      None
    • False
    • Critical
    • None

      Description of problem:

      Java language server built in the MTA 7.3 images is failing to execute certain search patterns. Search patterns that look for methods and contain parameters of the method fail to build in the `eclipse.jdt.ls.core` which is the java language server's core library used to build search patterns. Following error can be seen in the bundle:

      ```
      !ENTRY org.eclipse.jdt.ls.core 4 2 2025-05-02 18:05:28.290
      !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ls.core".
      !STACK 0
      java.lang.IllegalArgumentException: fromIndex(1) > toIndex(0)
              at java.base/java.util.AbstractList.subListRangeCheck(AbstractList.java:509)
              at java.base/java.util.ArrayList.subList(ArrayList.java:1108)
              at io.konveyor.tackle.core.internal.SampleDelegateCommandHandler.mapLocationToSearchPatternLocation(SampleDelegateCommandHandler.java:129)
              at io.konveyor.tackle.core.internal.SampleDelegateCommandHandler.search(SampleDelegateCommandHandler.java:324)
              at io.konveyor.tackle.core.internal.SampleDelegateCommandHandler.executeCommand(SampleDelegateCommandHandler.java:49)
              at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler$1.run(WorkspaceExecuteCommandHandler.java:230)
              at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
              at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler.executeCommand(WorkspaceExecuteCommandHandler.java:220)
              at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$4(JDTLanguageServer.java:606)
              at org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:87)
              at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
              at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482)
              at java.base/java.lang.Thread.run(Thread.java:840)
      ```

      The same error doesn't happen in upstream images. Also, I tried building an image with JDTLS from 7.2.2 downstream and the bundle built in the 7.3.0-22 java external provider image, the error doesn't happen in that image either. This leads me to believe that the error specifically exists in JDTLS built in the 7.3.0-22 image.

       

      Version-Release number of selected component (if applicable):

      registry-proxy.engineering.redhat.com/rh-osbs/mta-mta-java-external-provider-rhel9:7.3.0-22

       

      How reproducible:

      Always

       

      Steps to Reproduce:
      1. Create any Java app of your choice
      2. Create a custom target with rules.yaml file attached with this issue and name the target `pgaikwad`. I have compiled a list of failing rules in this target which should make it easier to reproduce this issue.
      3. Run analysis. You will see that analysis finishes with "Completed with Errors" status.

      Actual results:

      The analysis finishes with  "Completed with Errors" status.

      Expected results:

       The analysis should finish with "Succeeded" status.

      Additional info:
      Please see attached rules.yaml file for a curated list of rules that fails.

              fbladilo@redhat.com Franco Bladilo
              pgaikwad1@redhat.com Pranav Gaikwad
              Shveta Sachdeva Shveta Sachdeva
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: