[ 
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)

Reply via email to