apache / apache/netbeans

java.lang.IllegalStateException: No builtin diff provider

Open
#7,052 1 comment 0 reactions 0 assignees View on GitHub
kind:bug needs:triage
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.