I've posted about this before, but have been unable to provide any more information or get the issue resolved.
I've lost the ability to refactor classes that have more than about dozen dependents. The problem is having a significant impact on my work. Let me try to recap the problem. I have web app project that in total with in-house developed libraries is over 500k lines of code. When attempting to rename or move classes that have more than a dozen dependents, sometimes NB throws an exception during the Prepare process and sometimes the refactor executes but produces unwanted results. For instance, many times the import statements of the dependent classes will get completely mangled and will require manual steps to fix. I've also noticed that the Find Usages function will work, but after the first several results produces the wrong line numbers where the usage actually occurs. It finds the correct file, but the lines displayed in the results window are off by several lines. I suspect the refactoring issue and this issue are somehow related as both problems seem to occur when there are more than about a dozen dependents on the code being refactored or processed by the "Find Usages" function. When exceptions are generated in IDE log, they don't seem to be consistent. For instance, the class I'm currently trying to rename will generate the following exception: ---------------------------------------------------------------------------- ----------------------------------------------- INFO [org.netbeans.modules.java.source.save.CasualDiff]: Illegal values: from = 1107; to = 1102.Please, attach your messages.log to new issue! SEVERE [org.openide.util.Exceptions] java.lang.IllegalArgumentException: Copying to 4205 is greater then its size (3072). at org.netbeans.modules.java.source.save.CasualDiff.copyTo(CasualDiff.java:6108 ) at org.netbeans.modules.java.source.save.CasualDiff.copyTo(CasualDiff.java:6087 ) at org.netbeans.modules.java.source.save.CasualDiff.diffMethodDef(CasualDiff.ja va:1260) at org.netbeans.modules.java.source.save.CasualDiff.diffTreeImpl0(CasualDiff.ja va:5552) at org.netbeans.modules.java.source.save.CasualDiff.diffTreeImpl(CasualDiff.jav a:5443) at org.netbeans.modules.java.source.save.CasualDiff.diffTree(CasualDiff.java:53 70) at org.netbeans.modules.java.source.save.CasualDiff.diffTree(CasualDiff.java:53 41) at org.netbeans.modules.java.source.save.CasualDiff.diffList(CasualDiff.java:41 76) at org.netbeans.modules.java.source.save.CasualDiff.diffClassDef(CasualDiff.jav a:1102) at org.netbeans.modules.java.source.save.CasualDiff.diffTreeImpl0(CasualDiff.ja va:5549) at org.netbeans.modules.java.source.save.CasualDiff.diffTreeImpl(CasualDiff.jav a:5443) at org.netbeans.modules.java.source.save.CasualDiff.diffTree(CasualDiff.java:53 70) at org.netbeans.modules.java.source.save.CasualDiff.diffTree(CasualDiff.java:53 41) at org.netbeans.modules.java.source.save.CasualDiff.diffList(CasualDiff.java:41 76) at org.netbeans.modules.java.source.save.CasualDiff.diffTopLevel(CasualDiff.jav a:594) at org.netbeans.modules.java.source.save.CasualDiff.diffTreeImpl0(CasualDiff.ja va:5522) at org.netbeans.modules.java.source.save.CasualDiff.diffTreeImpl(CasualDiff.jav a:5443) at org.netbeans.modules.java.source.save.CasualDiff.diffTree(CasualDiff.java:53 70) at org.netbeans.modules.java.source.save.CasualDiff.diffTree(CasualDiff.java:53 53) at org.netbeans.modules.java.source.save.CasualDiff.diff(CasualDiff.java:350) at org.netbeans.api.java.source.WorkingCopy.processCurrentCompilationUnit(Worki ngCopy.java:920) at org.netbeans.api.java.source.WorkingCopy.getChanges(WorkingCopy.java:1332) at org.netbeans.api.java.source.JavaSource$1.run(JavaSource.java:676) at org.netbeans.api.java.source.JavaSource$1.run(JavaSource.java:663) at org.netbeans.api.java.source.JavaSource$MultiTask.run(JavaSource.java:502) at org.netbeans.modules.parsing.impl.TaskProcessor.callUserTask(TaskProcessor.j ava:586) at org.netbeans.modules.parsing.api.ParserManager$MultiUserTaskAction.run(Parse rManager.java:166) at org.netbeans.modules.parsing.api.ParserManager$MultiUserTaskAction.run(Parse rManager.java:138) at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:18 1) at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:17 8) at org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityI O(FileChangedManager.java:153) at org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(Provid edExtensions.java:335) at org.netbeans.modules.parsing.nb.DataObjectEnvFactory.runPriorityIO(DataObjec tEnvFactory.java:118) at org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:67) at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.ja va:178) at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:83) at org.netbeans.api.java.source.JavaSource.runUserActionTaskImpl(JavaSource.jav a:452) at org.netbeans.api.java.source.JavaSource.runUserActionTask(JavaSource.java:42 3) at org.netbeans.api.java.source.JavaSource.runModificationTask(JavaSource.java: 684) at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.processFiles (JavaRefactoringPlugin.java:323) at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.processFiles (JavaRefactoringPlugin.java:264) at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.processFiles (JavaRefactoringPlugin.java:246) at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.createAndAdd Elements(JavaRefactoringPlugin.java:338) at org.netbeans.modules.refactoring.java.plugins.RenameRefactoringPlugin.prepar e(RenameRefactoringPlugin.java:626) [catch] at org.netbeans.modules.refactoring.api.AbstractRefactoring.pluginsPrepare2(Abs tractRefactoring.java:417) at org.netbeans.modules.refactoring.api.AbstractRefactoring.pluginsPrepare(Abst ractRefactoring.java:401) at org.netbeans.modules.refactoring.api.AbstractRefactoring.prepare(AbstractRef actoring.java:212) at org.netbeans.modules.refactoring.spi.impl.ParametersPanel$Prepare.run(Parame tersPanel.java:1063) 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) Attempting to move another class will generate the following exception: at org.netbeans.api.lexer.TokenSequence.checkTokenNotNull(TokenSequence.java:77 1) at org.netbeans.api.lexer.TokenSequence.offset(TokenSequence.java:243) at org.netbeans.modules.java.source.save.CasualDiff.diffPackage(CasualDiff.java :871) at org.netbeans.modules.java.source.save.CasualDiff.diffTopLevel(CasualDiff.jav a:588) at org.netbeans.modules.java.source.save.CasualDiff.diffTreeImpl0(CasualDiff.ja va:5522) at org.netbeans.modules.java.source.save.CasualDiff.diffTreeImpl(CasualDiff.jav a:5443) at org.netbeans.modules.java.source.save.CasualDiff.diffTree(CasualDiff.java:53 70) at org.netbeans.modules.java.source.save.CasualDiff.diffTree(CasualDiff.java:53 53) at org.netbeans.modules.java.source.save.CasualDiff.diff(CasualDiff.java:350) at org.netbeans.api.java.source.WorkingCopy.processCurrentCompilationUnit(Worki ngCopy.java:920) at org.netbeans.api.java.source.WorkingCopy.getChanges(WorkingCopy.java:1332) at org.netbeans.api.java.source.JavaSource$1.run(JavaSource.java:676) at org.netbeans.api.java.source.JavaSource$1.run(JavaSource.java:663) at org.netbeans.api.java.source.JavaSource$MultiTask.run(JavaSource.java:502) at org.netbeans.modules.parsing.impl.TaskProcessor.callUserTask(TaskProcessor.j ava:586) at org.netbeans.modules.parsing.api.ParserManager$MultiUserTaskAction.run(Parse rManager.java:166) at org.netbeans.modules.parsing.api.ParserManager$MultiUserTaskAction.run(Parse rManager.java:138) at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:18 1) at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:17 8) at org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityI O(FileChangedManager.java:153) at org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(Provid edExtensions.java:335) at org.netbeans.modules.parsing.nb.DataObjectEnvFactory.runPriorityIO(DataObjec tEnvFactory.java:118) at org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:67) at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.ja va:178) at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:83) at org.netbeans.api.java.source.JavaSource.runUserActionTaskImpl(JavaSource.jav a:452) at org.netbeans.api.java.source.JavaSource.runUserActionTask(JavaSource.java:42 3) at org.netbeans.api.java.source.JavaSource.runModificationTask(JavaSource.java: 684) at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.processFiles (JavaRefactoringPlugin.java:323) at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.processFiles (JavaRefactoringPlugin.java:264) at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.processFiles (JavaRefactoringPlugin.java:246) at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.createAndAdd Elements(JavaRefactoringPlugin.java:338) at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.createAndAdd Elements(JavaRefactoringPlugin.java:354) at org.netbeans.modules.refactoring.java.plugins.MoveFileRefactoringPlugin.prep are(MoveFileRefactoringPlugin.java:571) [catch] at org.netbeans.modules.refactoring.api.AbstractRefactoring.pluginsPrepare2(Abs tractRefactoring.java:417) at org.netbeans.modules.refactoring.api.AbstractRefactoring.pluginsPrepare(Abst ractRefactoring.java:401) at org.netbeans.modules.refactoring.api.AbstractRefactoring.prepare(AbstractRef actoring.java:212) at org.netbeans.modules.refactoring.spi.impl.ParametersPanel$Prepare.run(Parame tersPanel.java:1063) 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) ---------------------------------------------------------------------------- ----------------------------------------------- Previously, in NB 12.4 I would receive this exception when trying refactor certain classes: java.lang.NullPointerException: Cannot invoke "java.util.Collection.contains(Object)" because "sourceFiles" is null at com.sun.tools.javac.comp.Todo.retainFiles(Todo.java:98) at org.netbeans.modules.java.source.parsing.JavacParser.moveToPhase(JavacParser .java:727) at org.netbeans.modules.java.source.parsing.CompilationInfoImpl.toPhase(Compila tionInfoImpl.java:399) at org.netbeans.api.java.source.CompilationController.toPhase(CompilationContro ller.java:88) at org.netbeans.api.java.source.WorkingCopy.toPhase(WorkingCopy.java:193) at org.netbeans.modules.refactoring.java.spi.RefactoringVisitor.setWorkingCopy( RefactoringVisitor.java:111) at org.netbeans.modules.refactoring.java.plugins.MoveTransformer.setWorkingCopy (MoveTransformer.java:74) at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin$TransformTas k.run(JavaRefactoringPlugin.java:435) at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin$TransformTas k.run(JavaRefactoringPlugin.java:418) at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.lambda$proce ssFiles$0(JavaRefactoringPlugin.java:323) at org.netbeans.api.java.source.JavaSource$1.run(JavaSource.java:673) at org.netbeans.api.java.source.JavaSource$1.run(JavaSource.java:663) at org.netbeans.api.java.source.JavaSource$MultiTask.run(JavaSource.java:502) at org.netbeans.modules.parsing.impl.TaskProcessor.callUserTask(TaskProcessor.j ava:586) at org.netbeans.modules.parsing.api.ParserManager$MultiUserTaskAction.run(Parse rManager.java:166) at org.netbeans.modules.parsing.api.ParserManager$MultiUserTaskAction.run(Parse rManager.java:138) at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:18 1) at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:17 8) at org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityI O(FileChangedManager.java:153) at org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(Provid edExtensions.java:335) at org.netbeans.modules.parsing.nb.DataObjectEnvFactory.runPriorityIO(DataObjec tEnvFactory.java:118) at org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:67) at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.ja va:178) at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:83) at org.netbeans.api.java.source.JavaSource.runUserActionTaskImpl(JavaSource.jav a:452) at org.netbeans.api.java.source.JavaSource.runUserActionTask(JavaSource.java:42 3) at org.netbeans.api.java.source.JavaSource.runModificationTask(JavaSource.java: 684) at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.processFiles (JavaRefactoringPlugin.java:321) at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.processFiles (JavaRefactoringPlugin.java:264) at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.processFiles (JavaRefactoringPlugin.java:246) at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.createAndAdd Elements(JavaRefactoringPlugin.java:336) at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.createAndAdd Elements(JavaRefactoringPlugin.java:352) at org.netbeans.modules.refactoring.java.plugins.MoveFileRefactoringPlugin.prep are(MoveFileRefactoringPlugin.java:571) at org.netbeans.modules.refactoring.api.AbstractRefactoring.pluginsPrepare2(Abs tractRefactoring.java:417) at org.netbeans.modules.refactoring.api.AbstractRefactoring.pluginsPrepare(Abst ractRefactoring.java:401) at org.netbeans.modules.refactoring.api.AbstractRefactoring.prepare(AbstractRef actoring.java:212) at org.netbeans.modules.refactoring.spi.impl.ParametersPanel$Prepare.run(Parame tersPanel.java:1063) 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) ---------------------------------------------------------------------------- ----------------------------------------------- All 3 exception travel through AbstractRefactoring.java:212 however. I have recreated projects from scratch and re-added my source code hoping the problem may just be corrupted project files; however, the problem persists. I am highly dependent on Netbeans for commercial product development and have no desire to migrate to another IDE. I have tried all the top Java IDE's and Netbeans is my IDE of choice. However, this problem is costing significant amounts of lost time trying to work around this issue. Would it be possible to pay a Netbeans developer to track down the source of these problems and get them fixed ASAP? Thank you.