Uploaded image for project: 'NetBeans'
  1. NetBeans
  2. NETBEANS-2314

StringIndexOutOfBoundsException during initial scanning

    XMLWordPrintableJSON

Details

    Description

      During initial scanning of my project, starting from a fresh user folder and cache folder, y get the following error message:

      java.lang.StringIndexOutOfBoundsException: begin 13, end 15, length 14
      at java.base/java.lang.String.checkBoundsBeginEnd(String.java:3107)
      at java.base/java.lang.String.substring(String.java:1873)
      at org.netbeans.modules.javascript2.jsdoc.model.JsDocElementUtils.createParameterElement(JsDocElementUtils.java:189)
      at org.netbeans.modules.javascript2.jsdoc.model.JsDocElementUtils.createElementForType(JsDocElementUtils.java:63)
      at org.netbeans.modules.javascript2.jsdoc.JsDocParser.parseCommentBlock(JsDocParser.java:138)
      at org.netbeans.modules.javascript2.jsdoc.JsDocParser.parse(JsDocParser.java:75)
      at org.netbeans.modules.javascript2.jsdoc.JsDocDocumentationHolder.getCommentBlocks(JsDocDocumentationHolder.java:41)
      at org.netbeans.modules.javascript2.model.ModelVisitor.processJsDoc(ModelVisitor.java:1343)
      at org.netbeans.modules.javascript2.model.ModelVisitor.enterFunctionNode(ModelVisitor.java:945)
      at com.oracle.js.parser.ir.FunctionNode.accept(FunctionNode.java:301)
      at com.oracle.js.parser.ir.LexicalContextNode$Acceptor.accept(LexicalContextNode.java:60)
      at com.oracle.js.parser.ir.LexicalContextExpression.accept(LexicalContextExpression.java:47)
      at org.netbeans.modules.javascript2.model.ModelVisitor.init(ModelVisitor.java:145)
      at org.netbeans.modules.javascript2.model.api.Model.getModelVisitor(Model.java:168)
      at org.netbeans.modules.javascript2.model.api.Model.getGlobalObject(Model.java:468)
      at org.netbeans.modules.javascript2.editor.index.JsIndexer.index(JsIndexer.java:96)
      at org.netbeans.modules.parsing.spi.indexing.Indexable$MyAccessor$3.run(Indexable.java:225)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.runIndexer(RepositoryUpdater.java:275)
      at org.netbeans.modules.parsing.spi.indexing.Indexable$MyAccessor.index(Indexable.java:223)
      [catch] at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work$2.run(RepositoryUpdater.java:3209)
      at org.netbeans.modules.parsing.impl.TaskProcessor.callUserTask(TaskProcessor.java:586)
      at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:130)
      at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:114)
      at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:181)
      at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:178)
      at org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityIO(FileChangedManager.java:153)
      at org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(ProvidedExtensions.java:335)
      at org.netbeans.modules.parsing.nb.DataObjectEnvFactory.runPriorityIO(DataObjectEnvFactory.java:118)
      at org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:67)
      at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:178)
      at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:81)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.indexEmbedding(RepositoryUpdater.java:3143)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.doIndex(RepositoryUpdater.java:2862)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.access$800(RepositoryUpdater.java:2154)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work$1.run(RepositoryUpdater.java:2636)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work$1.run(RepositoryUpdater.java:2634)
      at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.refreshTransaction(TaskCache.java:540)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.index(RepositoryUpdater.java:2634)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$AbstractRootsWork$4.call(RepositoryUpdater.java:5714)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$AbstractRootsWork$4.call(RepositoryUpdater.java:5622)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$4.run(RepositoryUpdater.java:2127)
      at org.openide.util.lookup.Lookups.executeWith(Lookups.java:279)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.runInContext(RepositoryUpdater.java:2123)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.runInContext(RepositoryUpdater.java:2104)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.access$1500(RepositoryUpdater.java:136)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$AbstractRootsWork.scanSource(RepositoryUpdater.java:5749)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$AbstractRootsWork.scanSources(RepositoryUpdater.java:5419)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$RootsWork.getDone(RepositoryUpdater.java:5038)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$InitialRootsWork.getDone(RepositoryUpdater.java:5821)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.doTheWork(RepositoryUpdater.java:3420)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task._run(RepositoryUpdater.java:6183)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task.access$4300(RepositoryUpdater.java:5834)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2$1.run(RepositoryUpdater.java:6099)
      at org.openide.util.lookup.Lookups.executeWith(Lookups.java:279)
      at org.netbeans.modules.parsing.impl.RunWhenScanFinishedSupport.performScan(RunWhenScanFinishedSupport.java:83)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2.call(RepositoryUpdater.java:6095)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2.call(RepositoryUpdater.java:6091)
      at org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityIO(FileChangedManager.java:153)
      at org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(ProvidedExtensions.java:335)
      at org.netbeans.modules.parsing.nb.DataObjectEnvFactory.runPriorityIO(DataObjectEnvFactory.java:118)
      at org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:67)
      at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task.run(RepositoryUpdater.java:6091)
      at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
      at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418)
      at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
      at org.openide.util.lookup.Lookups.executeWith(Lookups.java:278)
      at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)

       

      The problem only happens at the tail end of the initial scanning of my project, and not subsequent ones. The exception only shows up again If I clear the cache folder.

      The problem doesn't happen with previous versions of netbeans.

      Looking at the stacktrace I imagine It's a particular Javascript file that is causing the problem, however, it would be almost imposible to find out which one by process of elimination since I have more than a hundreds of js files and scanning with a fresh cache folder takes around 7 minutes.

      Does anyone know how I could find out which file it's scanning when the exception happens?

      If I could pinpoint the file I could provide a smaller project so that others could reproduce the problem.

       
      Product Version: Apache NetBeans IDE 11.0 (Build incubator-netbeans-release-404-on-20190319)

      Java: 10.0.2; Java HotSpot(TM) 64-Bit Server VM 10.0.2+13

      Runtime: Java(TM) SE Runtime Environment 10.0.2+13

      System: Windows 10 version 10.0 running on amd64; Cp1252; es_MX (nb)

      User directory: D:\netbeans\11\user

      Cache directory: D:\netbeans\11\cache

       

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              jalgaba Juan Roberto
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 20m
                  20m