apache / netbeans

Apache NetBeans
https://netbeans.apache.org/
Apache License 2.0
2.69k stars 853 forks source link

ArrayIndexOutOfBoundsException in JavaCustomIndexer$ErrorConvertorImpl #7981

Closed mbien closed 1 day ago

mbien commented 1 week ago

Apache NetBeans version

Apache NetBeans 24 vote candidate

What happened

I am seeing this quite often during scanning now:

java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 605
    at com.sun.tools.javac.util.Position$LineTabMapImpl.getColumnNumber(Position.java:266)
    at com.sun.tools.javac.util.Position$LineMapImpl.getColumnNumber(Position.java:236)
    at com.sun.tools.javac.util.Position$LineTabMapImpl.getColumnNumber(Position.java:253)
    at org.netbeans.modules.java.source.indexing.JavaCustomIndexer$ErrorConvertorImpl.getRange(JavaCustomIndexer.java:1329)
    at org.netbeans.modules.java.source.indexing.JavaCustomIndexer$ErrorConvertorImpl.getRange(JavaCustomIndexer.java:1307)
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.dumpErrors(TaskCache.java:169)
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.dumpErrors(TaskCache.java:248)
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.access$100(TaskCache.java:75)
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache$1.run(TaskCache.java:227)
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache$1.run(TaskCache.java:225)
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.refreshTransaction(TaskCache.java:577)
Caused: java.io.IOException
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.refreshTransaction(TaskCache.java:581)
[catch] at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.dumpErrors(TaskCache.java:225)
    at org.netbeans.modules.parsing.spi.indexing.ErrorsCache.setErrors(ErrorsCache.java:46)
    at org.netbeans.modules.java.source.indexing.JavaCustomIndexer.setErrors(JavaCustomIndexer.java:811)
    at org.netbeans.modules.java.source.indexing.VanillaCompileWorker.compile(VanillaCompileWorker.java:343)
    at org.netbeans.modules.java.source.indexing.JavaCustomIndexer.index(JavaCustomIndexer.java:363)
    at org.netbeans.modules.parsing.spi.indexing.Indexable$MyAccessor$2.run(Indexable.java:138)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.runIndexer(RepositoryUpdater.java:274)
    at org.netbeans.modules.parsing.spi.indexing.Indexable$MyAccessor.index(Indexable.java:136)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.doIndex(RepositoryUpdater.java:2749)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.lambda$index$0(RepositoryUpdater.java:2626)
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.refreshTransaction(TaskCache.java:577)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.index(RepositoryUpdater.java:2625)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$AbstractRootsWork.lambda$scanSource$3(RepositoryUpdater.java:5735)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.lambda$runInContext$4(RepositoryUpdater.java:2119)
    at org.openide.util.lookup.Lookups.executeWith(Lookups.java:288)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.runInContext(RepositoryUpdater.java:2117)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.runInContext(RepositoryUpdater.java:2098)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.access$1400(RepositoryUpdater.java:135)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$AbstractRootsWork.scanSource(RepositoryUpdater.java:5770)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$AbstractRootsWork.scanSources(RepositoryUpdater.java:5443)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$RootsWork.getDone(RepositoryUpdater.java:5075)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.doTheWork(RepositoryUpdater.java:3452)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task._run(RepositoryUpdater.java:6197)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task.access$3400(RepositoryUpdater.java:5855)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2.lambda$call$0(RepositoryUpdater.java:6116)
    at org.openide.util.lookup.Lookups.executeWith(Lookups.java:288)
    at org.netbeans.modules.parsing.impl.RunWhenScanFinishedSupport.performScan(RunWhenScanFinishedSupport.java:83)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2.call(RepositoryUpdater.java:6116)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2.call(RepositoryUpdater.java:6112)
    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:6112)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1403)
    at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
    at org.openide.util.lookup.Lookups.executeWith(Lookups.java:287)
    at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2018)

code was last changed in https://github.com/apache/netbeans/pull/7737

Language / Project Type / NetBeans Component

java

How to reproduce

this exception is thrown multiple times on startup while scanning NetBeans sources. ~I have probably 100 projects open.~

java/java.editor

1) netbeans --userdir /tmp/tmpusr1 --jdkhome ~/dev/java/jdk-23.0.1.8.1-corretto/ 2) no config import 3) open java/java.editor module

Did this work correctly in an earlier version?

Apache NetBeans 23

Operating System

linux

JDK

Corretto 23.0.1

Apache NetBeans packaging

Apache NetBeans binary zip

Anything else

No response

Are you willing to submit a pull request?

No

mbien commented 1 week ago

narrowed it down to a project which can serve as reproducer: open java/java.editor and let it scan

edit: not reproducible with NB 23 -> regression edit2: confirmed that it is caused by https://github.com/apache/netbeans/commit/ec8384f94389e4ac3c0d60a6f0f198634da770c5 and revert still applies cleanly to delivery

lkishalmi commented 1 week ago

This is a real bummer. Have not worked with Java in the last few months, then just found some free time.

I can confirm that this happens.

matthiasblaesing commented 1 week ago

Thanks for investigation. I saw these errors, but did not directly look into these. I can verify that it is reproducible with delivery and the hint provided by @mbien . It is also reproducible with the voting candiate.

I can also verify, that with #7982 the exception don't occur, so the revert seems to fix the problem.

lahodaj commented 1 week ago

Huh. A short reproducible testcase:

package javaapplication2;

public class JavaApplication2 {

    public static void main(String[] args) {
        new G() {

        };
    }

}

class G {
    @Deprecated
    G() {}
}

Requires -Xlint:deprecation.

PR upcoming.

mbien commented 1 week ago

@matthiasblaesing @lahodaj @neilcsmith-net @ebarboni we have to decide if this is a blocker for the release or not.

I think that this can be seen as critical functionality, but at the same time doing a release is a lot of work and stopping the vote would double that work (for the release managers).

@lahodaj thanks a lot for providing a proper fix so quickly!

matthiasblaesing commented 6 days ago

I think we should pull the release, apply #7983 and respin. The issue is a regression, user facing and the error state is incomprehensible for normal users. The problematic situation "deprecations" and "unchecked" warnings are common enough, that there is a high chance for people to hit this.

mbien commented 4 days ago

ran a brute force test which opens all NB projects and still got some exceptions

test:

# opens all netbeans modules as smoke test
# run in netbeans project, should be built first

NB="insert path"
JDK="insert path"

OPEN=$(find -maxdepth 2 -mindepth 2 -type d\
 -not -path "./.git*"\
 -not -path "./nbbuild/*"\
 -not -path "./dist/*"\
 -not -path "./ide/xml.core"\
 -not -path "./nbi/*" | sort | xargs)

FLAGS="-J-Dorg.netbeans.modules.parsing.impl.indexing.LogContext\$EventType.PATH.treshold=20"

"$NB" --userdir /tmp/nbusr$$ --jdkhome $JDK $FLAGS $OPEN

(will open >800 projects)

SEVERE [org.openide.util.Exceptions]
can't dump errors for: FileObjectIndexable@58aff7c0 [file:/home/mbien/NetBeansProjects/netbeans/contrib/j2ee.weblogic9/src//org/netbeans/modules/j2ee/weblogic9/dd/ejb1030/package-info.java]
can't dump errors for: FileObjectIndexable@58aff7c0 [file:/home/mbien/NetBeansProjects/netbeans/contrib/j2ee.weblogic9/src//org/netbeans/modules/j2ee/weblogic9/dd/ejb1030/package-info.java]
Caused: java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 47
    at com.sun.tools.javac.util.Position$LineTabMapImpl.getColumnNumber(Position.java:266)
    at com.sun.tools.javac.util.Position$LineMapImpl.getColumnNumber(Position.java:236)
    at com.sun.tools.javac.util.Position$LineTabMapImpl.getColumnNumber(Position.java:253)
    at org.netbeans.modules.java.source.indexing.JavaCustomIndexer$ErrorConvertorImpl.getRange(JavaCustomIndexer.java:1334)
    at org.netbeans.modules.java.source.indexing.JavaCustomIndexer$ErrorConvertorImpl.getRange(JavaCustomIndexer.java:1307)
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.dumpErrors(TaskCache.java:169)
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.dumpErrors(TaskCache.java:249)
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.access$100(TaskCache.java:75)
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache$1.run(TaskCache.java:227)
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache$1.run(TaskCache.java:225)
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.refreshTransaction(TaskCache.java:578)
Caused: java.io.IOException
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.refreshTransaction(TaskCache.java:582)
[catch] at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.dumpErrors(TaskCache.java:225)
    at org.netbeans.modules.parsing.spi.indexing.ErrorsCache.setErrors(ErrorsCache.java:46)
    at org.netbeans.modules.java.source.indexing.JavaCustomIndexer.setErrors(JavaCustomIndexer.java:811)
    at org.netbeans.modules.java.source.indexing.VanillaCompileWorker.compile(VanillaCompileWorker.java:343)
    at org.netbeans.modules.java.source.indexing.JavaCustomIndexer.index(JavaCustomIndexer.java:363)
    at org.netbeans.modules.parsing.spi.indexing.Indexable$MyAccessor$2.run(Indexable.java:138)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.runIndexer(RepositoryUpdater.java:274)
    at org.netbeans.modules.parsing.spi.indexing.Indexable$MyAccessor.index(Indexable.java:136)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.doIndex(RepositoryUpdater.java:2749)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.lambda$index$0(RepositoryUpdater.java:2626)
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.refreshTransaction(TaskCache.java:578)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.index(RepositoryUpdater.java:2625)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$AbstractRootsWork.lambda$scanSource$3(RepositoryUpdater.java:5735)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.lambda$runInContext$4(RepositoryUpdater.java:2119)
    at org.openide.util.lookup.Lookups.executeWith(Lookups.java:288)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.runInContext(RepositoryUpdater.java:2117)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.runInContext(RepositoryUpdater.java:2098)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater.access$1400(RepositoryUpdater.java:135)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$AbstractRootsWork.scanSource(RepositoryUpdater.java:5770)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$AbstractRootsWork.scanSources(RepositoryUpdater.java:5443)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$RootsWork.getDone(RepositoryUpdater.java:5075)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.doTheWork(RepositoryUpdater.java:3452)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task._run(RepositoryUpdater.java:6197)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task.access$3400(RepositoryUpdater.java:5855)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2.lambda$call$0(RepositoryUpdater.java:6116)
    at org.openide.util.lookup.Lookups.executeWith(Lookups.java:288)
    at org.netbeans.modules.parsing.impl.RunWhenScanFinishedSupport.performScan(RunWhenScanFinishedSupport.java:83)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2.call(RepositoryUpdater.java:6116)
    at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task$2.call(RepositoryUpdater.java:6112)
    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:6112)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1403)
    at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
    at org.openide.util.lookup.Lookups.executeWith(Lookups.java:287)
    at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2018)

grepped and deduplicated log lines listing the improved exception message:

awk '!seen[$0]++' errordump.log 
can't dump errors for: FileObjectIndexable@1628291c [file:/home/mbien/NetBeansProjects/netbeans/contrib/j2ee.weblogic9/src//org/netbeans/modules/j2ee/weblogic9/dd/ejb90/package-info.java]
can't dump errors for: FileObjectIndexable@1df5cd13 [file:/home/mbien/NetBeansProjects/netbeans/contrib/j2ee.weblogic9/src//org/netbeans/modules/j2ee/weblogic9/dd/web1030/package-info.java]
can't dump errors for: FileObjectIndexable@1f37a359 [file:/home/mbien/NetBeansProjects/netbeans/contrib/j2ee.weblogic9/src//org/netbeans/modules/j2ee/weblogic9/dd/web1221/package-info.java]
can't dump errors for: FileObjectIndexable@1fe562d1 [file:/home/mbien/NetBeansProjects/netbeans/contrib/j2ee.weblogic9/src//org/netbeans/modules/j2ee/weblogic9/dd/ear1221/package-info.java]
can't dump errors for: FileObjectIndexable@298a364 [file:/home/mbien/NetBeansProjects/netbeans/contrib/j2ee.weblogic9/src//org/netbeans/modules/j2ee/weblogic9/dd/web90/package-info.java]
can't dump errors for: FileObjectIndexable@3902db69 [file:/home/mbien/NetBeansProjects/netbeans/contrib/j2ee.weblogic9/src//org/netbeans/modules/j2ee/weblogic9/dd/ear1031/package-info.java]
can't dump errors for: FileObjectIndexable@4124fc64 [file:/home/mbien/NetBeansProjects/netbeans/contrib/j2ee.weblogic9/src//org/netbeans/modules/j2ee/weblogic9/dd/ear90/package-info.java]
can't dump errors for: FileObjectIndexable@4de6d8da [file:/home/mbien/NetBeansProjects/netbeans/contrib/j2ee.weblogic9/src//org/netbeans/modules/j2ee/weblogic9/dd/ear1030/package-info.java]
can't dump errors for: FileObjectIndexable@503c4ca9 [file:/home/mbien/NetBeansProjects/netbeans/contrib/j2ee.weblogic9/src//org/netbeans/modules/j2ee/weblogic9/dd/web1211/package-info.java]
can't dump errors for: FileObjectIndexable@58aff7c0 [file:/home/mbien/NetBeansProjects/netbeans/contrib/j2ee.weblogic9/src//org/netbeans/modules/j2ee/weblogic9/dd/ejb1030/package-info.java]
can't dump errors for: FileObjectIndexable@5a91a1bb [file:/home/mbien/NetBeansProjects/netbeans/contrib/j2ee.weblogic9/src//org/netbeans/modules/j2ee/weblogic9/dd/jms1031/package-info.java]
can't dump errors for: FileObjectIndexable@5d3f3b75 [file:/home/mbien/NetBeansProjects/netbeans/contrib/j2ee.weblogic9/src//org/netbeans/modules/j2ee/weblogic9/dd/ejb1221/package-info.java]
can't dump errors for: FileObjectIndexable@617ec25 [file:/home/mbien/NetBeansProjects/netbeans/contrib/j2ee.weblogic9/src//org/netbeans/modules/j2ee/weblogic9/dd/ejb1031/package-info.java]
can't dump errors for: FileObjectIndexable@61997923 [file:/home/mbien/NetBeansProjects/netbeans/ide/project.dependency/src//org/netbeans/modules/project/dependency/reload/StateDataListener.java]
can't dump errors for: FileObjectIndexable@623e4a26 [file:/home/mbien/NetBeansProjects/netbeans/ide/lsp.client/src//org/netbeans/modules/lsp/client/bindings/SymbolProviderImpl.java]
can't dump errors for: FileObjectIndexable@65968c42 [file:/home/mbien/NetBeansProjects/netbeans/ide/project.dependency/src//org/netbeans/modules/project/dependency/reload/Reloader.java]
can't dump errors for: FileObjectIndexable@69fdd5ea [file:/home/mbien/NetBeansProjects/netbeans/ide/lsp.client/src//org/netbeans/modules/lsp/client/bindings/TypeProviderImpl.java]
can't dump errors for: FileObjectIndexable@717a08f9 [file:/home/mbien/NetBeansProjects/netbeans/ide/lsp.client/src//org/netbeans/modules/lsp/client/bindings/BaseSymbolProvider.java]
can't dump errors for: FileObjectIndexable@7400ef33 [file:/home/mbien/NetBeansProjects/netbeans/contrib/j2ee.weblogic9/src//org/netbeans/modules/j2ee/weblogic9/config/gen/package-info.java]
can't dump errors for: FileObjectIndexable@776e9857 [file:/home/mbien/NetBeansProjects/netbeans/contrib/j2ee.weblogic9/src//org/netbeans/modules/j2ee/weblogic9/dd/ejb1211/package-info.java]
can't dump errors for: FileObjectIndexable@7845da84 [file:/home/mbien/NetBeansProjects/netbeans/contrib/j2ee.weblogic9/src//org/netbeans/modules/j2ee/weblogic9/dd/ear1211/package-info.java]
can't dump errors for: FileObjectIndexable@7f296dde [file:/home/mbien/NetBeansProjects/netbeans/contrib/j2ee.weblogic9/src//org/netbeans/modules/j2ee/weblogic9/dd/jms1211/package-info.java]

most of them are from empty package-info.java, but not all of them are:


can't dump errors for: FileObjectIndexable@61997923 [file:/home/mbien/NetBeansProjects/netbeans/ide/project.dependency/src//org/netbeans/modules/project/dependency/reload/StateDataListener.java]
can't dump errors for: FileObjectIndexable@65968c42 [file:/home/mbien/NetBeansProjects/netbeans/ide/project.dependency/src//org/netbeans/modules/project/dependency/reload/Reloader.java]
can't dump errors for: FileObjectIndexable@69fdd5ea [file:/home/mbien/NetBeansProjects/netbeans/ide/lsp.client/src//org/netbeans/modules/lsp/client/bindings/TypeProviderImpl.java]
can't dump errors for: FileObjectIndexable@717a08f9 [file:/home/mbien/NetBeansProjects/netbeans/ide/lsp.client/src//org/netbeans/modules/lsp/client/bindings/BaseSymbolProvider.java]
can't dump errors for: FileObjectIndexable@623e4a26 [file:/home/mbien/NetBeansProjects/netbeans/ide/lsp.client/src//org/netbeans/modules/lsp/client/bindings/SymbolProviderImpl.java]
mbien commented 4 days ago

short reproducer:

netbeans24rc4/bin/netbeans --userdir /tmp/nbusr1 ide/project.dependency ide/lsp.client

fwiw: testing with the dev-build of the revert PR it is working fine (https://github.com/apache/netbeans/pull/7982)

edit: bruteforce indexing test using the dev-build completed too

INFO [org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater]: Complete indexing of 2,527 source roots took: 639,843 ms (New or modified files: 44,728, Deleted files: 0) [Adding listeners took: 81 ms]
INFO [org.netbeans.ui.indexing]: Indexing finished, indexing took 643,305 ms.
lkishalmi commented 4 days ago

I can confirm. I'm seeing this one as well, with 24-rc4:

can't dump errors for: FileObjectIndexable@163c55b7 [file:/home/lkishalmi/NetBeansProjects/netbeans/ide/project.dependency/src//org/netbeans/modules/project/dependency/reload/Reloader.java]
Caused: java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 929
    at com.sun.tools.javac.util.Position$LineTabMapImpl.getColumnNumber(Position.java:266)
    at com.sun.tools.javac.util.Position$LineMapImpl.getColumnNumber(Position.java:236)
    at com.sun.tools.javac.util.Position$LineTabMapImpl.getColumnNumber(Position.java:253)
    at org.netbeans.modules.java.source.indexing.JavaCustomIndexer$ErrorConvertorImpl.getRange(JavaCustomIndexer.java:1334)
    at org.netbeans.modules.java.source.indexing.JavaCustomIndexer$ErrorConvertorImpl.getRange(JavaCustomIndexer.java:1307)
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.dumpErrors(TaskCache.java:169)
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.dumpErrors(TaskCache.java:249)
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.access$100(TaskCache.java:75)
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache$1.run(TaskCache.java:227)
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache$1.run(TaskCache.java:225)
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.refreshTransaction(TaskCache.java:578)
Caused: java.io.IOException
    at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.refreshTransaction(TaskCache.java:582)
[catch] at org.netbeans.modules.parsing.impl.indexing.errors.TaskCache.dumpErrors(TaskCache.java:225)
    at org.netbeans.modules.parsing.spi.indexing.ErrorsCache.setErrors(ErrorsCache.java:46)
mbien commented 4 days ago

assuming @ebarboni has still sufficient willpower i would recommend to:

mbien commented 3 days ago

so I opened a PR for that too, if we revert in the right order everything should apply cleanly I hope:

1) https://github.com/apache/netbeans/pull/7999 2) https://github.com/apache/netbeans/pull/7982

ebarboni commented 2 days ago

ok doing the 2 PR merge , ant then creating the sync PR

mbien commented 1 day ago

verified using https://github.com/apache/netbeans/issues/7981#issuecomment-2501928011 that it is working as intended again in NB 24 rc5.

Thanks for the extra RCs! I am planning to run the same smoke test on RC 1 on every release from now on - if i don't forget. But anyone else is also welcome to do so of course, esp when changing indexing code.

closing