[
https://issues.apache.org/jira/browse/SLING-13254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Konrad Windszus updated SLING-13254:
------------------------------------
Description:
I sometimes face the following NPE during Maven -> Project Update:
{code}
java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because
the return value of "org.eclipse.ui.console.IConsole.getType()" is null
at
org.apache.sling.ide.eclipse.ui.internal.console.SlingConsoleLogger.initSlingConsole(SlingConsoleLogger.java:98)
at
org.apache.sling.ide.eclipse.ui.internal.console.SlingConsoleLogger.log(SlingConsoleLogger.java:88)
at
org.apache.sling.ide.eclipse.core.logger.CompositeLogger.logInternal(CompositeLogger.java:88)
at
org.apache.sling.ide.eclipse.core.logger.CompositeLogger.logInternal(CompositeLogger.java:83)
at
org.apache.sling.ide.eclipse.core.logger.CompositeLogger.trace(CompositeLogger.java:41)
at
org.apache.sling.ide.eclipse.m2e.internal.AbstractProjectConfigurator.trace(AbstractProjectConfigurator.java:51)
at
org.apache.sling.ide.eclipse.m2e.internal.AbstractBundleProjectConfigurator.configure(AbstractBundleProjectConfigurator.java:51)
at
org.eclipse.m2e.core.project.configurator.AbstractLifecycleMapping.configure(AbstractLifecycleMapping.java:127)
at
org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.lambda$6(ProjectConfigurationManager.java:506)
at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:462)
at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:342)
at
org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:500)
at
org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.lambda$4(ProjectConfigurationManager.java:426)
at java.base/java.util.Collection.removeIf(Collection.java:581)
at
org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration0(ProjectConfigurationManager.java:414)
at
org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.lambda$3(ProjectConfigurationManager.java:340)
at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:462)
at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:342)
at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:281)
at
org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1100)
at
org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:339)
at
org.eclipse.m2e.core.ui.internal.UpdateMavenProjectJob.runInWorkspace(UpdateMavenProjectJob.java:80)
at
org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
{code}
This may happen as {{IConsole.getType()}} is allowed to return {{null}} so must
not unconditionally be dereferenced in
https://github.com/apache/sling-ide-tooling/blob/59d649a3e894e49115af7fe9f8bb9da2d4b56cd6/eclipse/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/console/SlingConsoleLogger.java#L98.
was:
I sometimes face the following NPE during Maven -> Project Update:
{code}
java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because
the return value of "org.eclipse.ui.console.IConsole.getType()" is null
at
org.apache.sling.ide.eclipse.ui.internal.console.SlingConsoleLogger.initSlingConsole(SlingConsoleLogger.java:98)
at
org.apache.sling.ide.eclipse.ui.internal.console.SlingConsoleLogger.log(SlingConsoleLogger.java:88)
at
org.apache.sling.ide.eclipse.core.logger.CompositeLogger.logInternal(CompositeLogger.java:88)
at
org.apache.sling.ide.eclipse.core.logger.CompositeLogger.logInternal(CompositeLogger.java:83)
at
org.apache.sling.ide.eclipse.core.logger.CompositeLogger.trace(CompositeLogger.java:41)
at
org.apache.sling.ide.eclipse.m2e.internal.AbstractProjectConfigurator.trace(AbstractProjectConfigurator.java:51)
at
org.apache.sling.ide.eclipse.m2e.internal.AbstractBundleProjectConfigurator.configure(AbstractBundleProjectConfigurator.java:51)
at
org.eclipse.m2e.core.project.configurator.AbstractLifecycleMapping.configure(AbstractLifecycleMapping.java:127)
at
org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.lambda$6(ProjectConfigurationManager.java:506)
at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:462)
at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:342)
at
org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:500)
at
org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.lambda$4(ProjectConfigurationManager.java:426)
at java.base/java.util.Collection.removeIf(Collection.java:581)
at
org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration0(ProjectConfigurationManager.java:414)
at
org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.lambda$3(ProjectConfigurationManager.java:340)
at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:462)
at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:342)
at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:281)
at
org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1100)
at
org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:339)
at
org.eclipse.m2e.core.ui.internal.UpdateMavenProjectJob.runInWorkspace(UpdateMavenProjectJob.java:80)
at
org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
{code}
This may happen as {{IConsole.getType()}} is allowed to return {{null}} so must
not unconditionally be dereferenced.
> NPE: Cannot invoke "String.equals(Object)" because the return value of
> "org.eclipse.ui.console.IConsole.getType()" is null
> --------------------------------------------------------------------------------------------------------------------------
>
> Key: SLING-13254
> URL: https://issues.apache.org/jira/browse/SLING-13254
> Project: Sling
> Issue Type: Bug
> Components: IDE
> Affects Versions: Sling Eclipse IDE 1.3.0
> Reporter: Konrad Windszus
> Assignee: Konrad Windszus
> Priority: Major
>
> I sometimes face the following NPE during Maven -> Project Update:
> {code}
> java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because
> the return value of "org.eclipse.ui.console.IConsole.getType()" is null
> at
> org.apache.sling.ide.eclipse.ui.internal.console.SlingConsoleLogger.initSlingConsole(SlingConsoleLogger.java:98)
> at
> org.apache.sling.ide.eclipse.ui.internal.console.SlingConsoleLogger.log(SlingConsoleLogger.java:88)
> at
> org.apache.sling.ide.eclipse.core.logger.CompositeLogger.logInternal(CompositeLogger.java:88)
> at
> org.apache.sling.ide.eclipse.core.logger.CompositeLogger.logInternal(CompositeLogger.java:83)
> at
> org.apache.sling.ide.eclipse.core.logger.CompositeLogger.trace(CompositeLogger.java:41)
> at
> org.apache.sling.ide.eclipse.m2e.internal.AbstractProjectConfigurator.trace(AbstractProjectConfigurator.java:51)
> at
> org.apache.sling.ide.eclipse.m2e.internal.AbstractBundleProjectConfigurator.configure(AbstractBundleProjectConfigurator.java:51)
> at
> org.eclipse.m2e.core.project.configurator.AbstractLifecycleMapping.configure(AbstractLifecycleMapping.java:127)
> at
> org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.lambda$6(ProjectConfigurationManager.java:506)
> at
> org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:462)
> at
> org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:342)
> at
> org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:500)
> at
> org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.lambda$4(ProjectConfigurationManager.java:426)
> at java.base/java.util.Collection.removeIf(Collection.java:581)
> at
> org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration0(ProjectConfigurationManager.java:414)
> at
> org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.lambda$3(ProjectConfigurationManager.java:340)
> at
> org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:462)
> at
> org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:342)
> at
> org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:281)
> at
> org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1100)
> at
> org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:339)
> at
> org.eclipse.m2e.core.ui.internal.UpdateMavenProjectJob.runInWorkspace(UpdateMavenProjectJob.java:80)
> at
> org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
> {code}
> This may happen as {{IConsole.getType()}} is allowed to return {{null}} so
> must not unconditionally be dereferenced in
> https://github.com/apache/sling-ide-tooling/blob/59d649a3e894e49115af7fe9f8bb9da2d4b56cd6/eclipse/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/console/SlingConsoleLogger.java#L98.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)