java.lang.IllegalStateException: No builtin diff provider
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 935
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 17
Description
### Apache NetBeans version
Apache NetBeans 20
### What happened
```
java.lang.IllegalStateException: No builtin diff provider
at org.netbeans.modules.diff.DiffModuleConfig.getBuiltinProvider(DiffModuleConfig.java:253)
at org.netbeans.modules.diff.DiffModuleConfig.setOptions(DiffModuleConfig.java:235)
at org.netbeans.modules.diff.options.DiffOptionsController.applyChanges(DiffOptionsController.java:62)
at org.netbeans.modules.options.advanced.Model$DelegatingController.applyChanges(Model.java:295)
at org.netbeans.modules.options.advanced.Model.applyChanges(Model.java:178)
at org.netbeans.modules.options.advanced.AdvancedPanel.applyChanges(AdvancedPanel.java:83)
at org.netbeans.modules.options.advanced.AdvancedPanelController.applyChanges(AdvancedPanelController.java:53)
at org.netbeans.modules.options.CategoryModel$Category.applyChanges(CategoryModel.java:379)
at org.netbeans.modules.options.CategoryModel$Category.access$1100(CategoryModel.java:302)
at org.netbeans.modules.options.CategoryModel.save(CategoryModel.java:198)
at org.netbeans.modules.options.OptionsPanel.save(OptionsPanel.java:288)
at org.netbeans.modules.options.OptionsDisplayerImpl$OptionsPanelListener$3.run(OptionsDisplayerImpl.java:515)
at org.netbeans.modules.progress.ui.RunOffEDTImpl$3.run(RunOffEDTImpl.java:252)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1420)
at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
at org.openide.util.lookup.Lookups.executeWith(Lookups.java:287)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2035)
```
### Language / Project Type / NetBeans Component
IDE itself
### How to reproduce
nothing to reproduce. The IDE just threw the exception.
```
java.lang.IllegalStateException: No builtin diff provider
at org.netbeans.modules.diff.DiffModuleConfig.getBuiltinProvider(DiffModuleConfig.java:253)
at org.netbeans.modules.diff.DiffModuleConfig.setOptions(DiffModuleConfig.java:235)
at org.netbeans.modules.diff.options.DiffOptionsController.applyChanges(DiffOptionsController.java:62)
at org.netbeans.modules.options.advanced.Model$DelegatingController.applyChanges(Model.java:295)
at org.netbeans.modules.options.advanced.Model.applyChanges(Model.java:178)
at org.netbeans.modules.options.advanced.AdvancedPanel.applyChanges(AdvancedPanel.java:83)
at org.netbeans.modules.options.advanced.AdvancedPanelController.applyChanges(AdvancedPanelController.java:53)
at org.netbeans.modules.options.CategoryModel$Category.applyChanges(CategoryModel.java:379)
at org.netbeans.modules.options.CategoryModel$Category.access$1100(CategoryModel.java:302)
at org.netbeans.modules.options.CategoryModel.save(CategoryModel.java:198)
at org.netbeans.modules.options.OptionsPanel.save(OptionsPanel.java:288)
at org.netbeans.modules.options.OptionsDisplayerImpl$OptionsPanelListener$3.run(OptionsDisplayerImpl.java:515)
at org.netbeans.modules.progress.ui.RunOffEDTImpl$3.run(RunOffEDTImpl.java:252)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1420)
at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
at org.openide.util.lookup.Lookups.executeWith(Lookups.java:287)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2035)
```
### Did this work correctly in an earlier version?
No / Don't know
### Operating System
Windows 7 Ultimate
### JDK
jdk-21.0.2
### Apache NetBeans packaging
Apache NetBeans binary zip
### Anything else
_No response_
### Are you willing to submit a pull request?
Yes
Contributor guide
Research direction
Start with org.netbeans.modules.diff.DiffModuleConfig, especially getBuiltinProvider and setOptions, then follow DiffOptionsController.applyChanges. Reproduce by applying the Diff options in Apache NetBeans 20 on the reported setup and determine why no builtin diff provider is available. Done means applying the options no longer throws IllegalStateException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- developer-experience
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100