Posting some follow up information for this problem.

 

I just discovered that refactoring issues I’ve been having with 12 for over a 
year now seem to be related to the existence of nb-javac.  For some reason I 
thought nb-javac needed to be installed.  I think I made this assumption 
because I develop web apps and when NB installs the J2EE support for web apps, 
it also installs nb-javac giving the impression that nb-javac is needed for 
webapp development.

 

When I uninstalled the nb-javac plugin this week, my refactoring problems went 
away.  These problems consisted of NB throwing exceptions and mangling code 
when trying to rename classes or methods or moving classes to new packages when 
those classes / methods had more than a dozen or so dependencies.

 

With that said, this was the case for 12.5.  When I updated to 12.6 this week 
and tried to uninstall nb-javac, I ran into other problems.  I’ve since 
switched back to 12.5 as I don’t have time to try to troubleshoot why 12.6 
isn’t working.

 

 

From: Geertjan Wielenga [mailto:geertjan.wiele...@googlemail.com.INVALID] 
Sent: Thursday, October 7, 2021 12:54 PM
To: Marvin P. Warble Jr. <mwar...@corvusengineering.com.invalid>
Cc: NetBeans Mailing List <users@netbeans.apache.org>
Subject: Re: Refactoring Exceptions

 

Also in 12.5?

 

Gj

 

 

 

On Thu, Oct 7, 2021 at 6:49 PM Marvin P. Warble Jr. 
<mwar...@corvusengineering.com.invalid 
<mailto:mwar...@corvusengineering.com.invalid> > wrote:

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.java:1260)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diffTreeImpl0(CasualDiff.java:5552)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diffTreeImpl(CasualDiff.java:5443)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diffTree(CasualDiff.java:5370)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diffTree(CasualDiff.java:5341)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diffList(CasualDiff.java:4176)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diffClassDef(CasualDiff.java:1102)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diffTreeImpl0(CasualDiff.java:5549)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diffTreeImpl(CasualDiff.java:5443)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diffTree(CasualDiff.java:5370)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diffTree(CasualDiff.java:5341)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diffList(CasualDiff.java:4176)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diffTopLevel(CasualDiff.java:594)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diffTreeImpl0(CasualDiff.java:5522)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diffTreeImpl(CasualDiff.java:5443)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diffTree(CasualDiff.java:5370)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diffTree(CasualDiff.java:5353)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diff(CasualDiff.java:350)

         at 
org.netbeans.api.java.source.WorkingCopy.processCurrentCompilationUnit(WorkingCopy.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.java:586)

         at 
org.netbeans.modules.parsing.api.ParserManager$MultiUserTaskAction.run(ParserManager.java:166)

         at 
org.netbeans.modules.parsing.api.ParserManager$MultiUserTaskAction.run(ParserManager.java:138)

         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:83)

         at 
org.netbeans.api.java.source.JavaSource.runUserActionTaskImpl(JavaSource.java:452)

         at 
org.netbeans.api.java.source.JavaSource.runUserActionTask(JavaSource.java:423)

         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.createAndAddElements(JavaRefactoringPlugin.java:338)

         at 
org.netbeans.modules.refactoring.java.plugins.RenameRefactoringPlugin.prepare(RenameRefactoringPlugin.java:626)

[catch] at 
org.netbeans.modules.refactoring.api.AbstractRefactoring.pluginsPrepare2(AbstractRefactoring.java:417)

         at 
org.netbeans.modules.refactoring.api.AbstractRefactoring.pluginsPrepare(AbstractRefactoring.java:401)

         at 
org.netbeans.modules.refactoring.api.AbstractRefactoring.prepare(AbstractRefactoring.java:212)

         at 
org.netbeans.modules.refactoring.spi.impl.ParametersPanel$Prepare.run(ParametersPanel.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:771)

         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.java:588)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diffTreeImpl0(CasualDiff.java:5522)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diffTreeImpl(CasualDiff.java:5443)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diffTree(CasualDiff.java:5370)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diffTree(CasualDiff.java:5353)

         at 
org.netbeans.modules.java.source.save.CasualDiff.diff(CasualDiff.java:350)

         at 
org.netbeans.api.java.source.WorkingCopy.processCurrentCompilationUnit(WorkingCopy.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.java:586)

         at 
org.netbeans.modules.parsing.api.ParserManager$MultiUserTaskAction.run(ParserManager.java:166)

         at 
org.netbeans.modules.parsing.api.ParserManager$MultiUserTaskAction.run(ParserManager.java:138)

         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:83)

         at 
org.netbeans.api.java.source.JavaSource.runUserActionTaskImpl(JavaSource.java:452)

         at 
org.netbeans.api.java.source.JavaSource.runUserActionTask(JavaSource.java:423)

         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.createAndAddElements(JavaRefactoringPlugin.java:338)

         at 
org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.createAndAddElements(JavaRefactoringPlugin.java:354)

         at 
org.netbeans.modules.refactoring.java.plugins.MoveFileRefactoringPlugin.prepare(MoveFileRefactoringPlugin.java:571)

[catch] at 
org.netbeans.modules.refactoring.api.AbstractRefactoring.pluginsPrepare2(AbstractRefactoring.java:417)

         at 
org.netbeans.modules.refactoring.api.AbstractRefactoring.pluginsPrepare(AbstractRefactoring.java:401)

         at 
org.netbeans.modules.refactoring.api.AbstractRefactoring.prepare(AbstractRefactoring.java:212)

         at 
org.netbeans.modules.refactoring.spi.impl.ParametersPanel$Prepare.run(ParametersPanel.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(CompilationInfoImpl.java:399)

         at 
org.netbeans.api.java.source.CompilationController.toPhase(CompilationController.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$TransformTask.run(JavaRefactoringPlugin.java:435)

         at 
org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin$TransformTask.run(JavaRefactoringPlugin.java:418)

         at 
org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.lambda$processFiles$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.java:586)

         at 
org.netbeans.modules.parsing.api.ParserManager$MultiUserTaskAction.run(ParserManager.java:166)

         at 
org.netbeans.modules.parsing.api.ParserManager$MultiUserTaskAction.run(ParserManager.java:138)

         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:83)

         at 
org.netbeans.api.java.source.JavaSource.runUserActionTaskImpl(JavaSource.java:452)

         at 
org.netbeans.api.java.source.JavaSource.runUserActionTask(JavaSource.java:423)

         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.createAndAddElements(JavaRefactoringPlugin.java:336)

         at 
org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.createAndAddElements(JavaRefactoringPlugin.java:352)

         at 
org.netbeans.modules.refactoring.java.plugins.MoveFileRefactoringPlugin.prepare(MoveFileRefactoringPlugin.java:571)

         at 
org.netbeans.modules.refactoring.api.AbstractRefactoring.pluginsPrepare2(AbstractRefactoring.java:417)

         at 
org.netbeans.modules.refactoring.api.AbstractRefactoring.pluginsPrepare(AbstractRefactoring.java:401)

         at 
org.netbeans.modules.refactoring.api.AbstractRefactoring.prepare(AbstractRefactoring.java:212)

         at 
org.netbeans.modules.refactoring.spi.impl.ParametersPanel$Prepare.run(ParametersPanel.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.

 

 

 

 

Reply via email to