eclipse-platform / eclipse-platform/eclipse.platform
NPE in CharsetDeltaJob when SCR is not started
- Vorherrschende Sprache
- Java
- Sterne
- 165
- Forks
- 174
- Ø Merge
- 2 T. 8 Std.
- Gemergte PRs (30 T.)
- 22
Beschreibung
This normally should not happen but could if one uses a very minimal set (e.g. to execute an Eclipse Application, not an IDE)
```
Caused by: java.lang.NullPointerException: Cannot invoke "org.eclipse.core.runtime.content.IContentTypeManager.addContentTypeChangeListener(org.eclipse.core.runtime.content.IContentTypeManager$IContentTypeChangeListener)" because the return value of "org.eclipse.core.runtime.Platform.getContentTypeManager()" is null
at org.eclipse.core.internal.resources.CharsetDeltaJob.startup (CharsetDeltaJob.java:230)
at org.eclipse.core.internal.resources.CharsetManager.startup (CharsetManager.java:516)
at org.eclipse.core.internal.resources.Workspace.startup (Workspace.java:2551)
at org.eclipse.core.internal.resources.Workspace.open (Workspace.java:2252)
at org.eclipse.core.resources.ResourcesPlugin$WorkspaceInitCustomizer.addingService (ResourcesPlugin.java:571)
at org.eclipse.core.resources.ResourcesPlugin$WorkspaceInitCustomizer.addingService (ResourcesPlugin.java:1)
at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding (ServiceTracker.java:943)
at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding (ServiceTracker.java:1)
at org.osgi.util.tracker.AbstractTracked.trackAdding (AbstractTracked.java:256)
at org.osgi.util.tracker.AbstractTracked.trackInitial (AbstractTracked.java:183)
at org.osgi.util.tracker.ServiceTracker.open (ServiceTracker.java:321)
at org.osgi.util.tracker.ServiceTracker.open (ServiceTracker.java:264)
at org.eclipse.core.resources.ResourcesPlugin.start (ResourcesPlugin.java:545)
at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run (BundleContextImpl.java:818)
at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run (BundleContextImpl.java:1)
at java.security.AccessController.doPrivileged (AccessController.java:569)
at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator (BundleContextImpl.java:810)
at org.eclipse.osgi.internal.framework.BundleContextImpl.start (BundleContextImpl.java:767)
at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0 (EquinoxBundle.java:1032)
at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker (EquinoxBundle.java:371)
at org.eclipse.osgi.container.Module.doStart (Module.java:605)
at org.eclipse.osgi.container.Module.start (Module.java:468)
at org.eclipse.osgi.framework.util.SecureAction.start (SecureAction.java:513)
at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass (EclipseLazyStarter.java:117)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass (ClasspathManager.java:570)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass (ModuleClassLoader.java:335)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass (BundleLoader.java:397)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass0 (BundleLoader.java:500)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass (BundleLoader.java:416)
at org.eclipse.osgi.internal.framework.BundleContextImpl.loadBundleActivator (BundleContextImpl.java:800)
at org.eclipse.osgi.internal.framework.BundleContextImpl.start (BundleContextImpl.java:753)
at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0 (EquinoxBundle.java:1032)
at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker (EquinoxBundle.java:371)
at org.eclipse.osgi.container.Module.doStart (Module.java:605)
```
Beitragsleitfaden
Rechercherichtung
Beginne in org.eclipse.core.internal.resources.CharsetDeltaJob.startup bei CharsetDeltaJob.java:230 und verfolge dann die Startsequenz über CharsetManager.startup und Workspace.startup. Stelle das minimale Eclipse Application-Szenario nach, in dem Platform.getContentTypeManager() null ist, und ermittle das angemessene Startverhalten ohne den Content-Type-Dienst. Die Aufgabe ist erledigt, wenn der Workspace-Start in dieser Konfiguration keine NullPointerException mehr auslöst.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100