Skip to content

[BUG] NPE from PyCharm #630

Description

@SebaM

Describe the bug
When I starting my PyCharm I gets notification about NPE.

My RobotCode plugin version is 2.5.1.
PyCharm 2026.1.2

Steps To Reproduce
Steps to reproduce the behavior:

  1. Just starting my IDE
  2. I gets notification about NPE, logs attached below.

If possible add some example source code like:

[tool.robocop.lint]
configure = [
    "empty-lines-between-sections.empty_lines=2",
    "empty-lines-between-keywords.empty_lines=2",
    "empty-lines-between-test-cases.empty_lines=2",

    "too-many-calls-in-keyword.max_calls=25",
    "too-many-calls-in-test-case.max_calls=25",

    "too-long-test-case.max_len=50",
    "line-too-long.line_length=220",
    "too-many-arguments.max_args=15",

    "not-capitalized-test-case-title.enabled=True",

    "bdd-without-keywords.enabled=True",

    "unused-variable.enabled=True",
    "unused-keyword.enabled=True",
    "duplicated-keyword.enabled=True",

    "trailing-whitespace.enabled=True",

    "prediction-depth=clairvoyant"  # options: "conservative", "optimistic", "clairvoyant"
]

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots/ Videos
If applicable, add screenshots or videos to help explain your problem.

Logs
Copy the messages from VSCode "Output" view for RobotCode and RobotCode Language Server for the specific folder/workspace.

java.lang.NullPointerException
	at dev.robotcode.robotcode4ij.lsp.RobotCodeLanguageServer.stop(RobotCodeLanguageServer.kt:55)
	at com.redhat.devtools.lsp4ij.LanguageServerWrapper.shutdownAll(LanguageServerWrapper.java:1704)
	at com.redhat.devtools.lsp4ij.LanguageServerWrapper.stop(LanguageServerWrapper.java:1641)
	at com.redhat.devtools.lsp4ij.LanguageServerWrapper.stop(LanguageServerWrapper.java:1611)
	at com.redhat.devtools.lsp4ij.LanguageServerWrapper.stop(LanguageServerWrapper.java:1604)
	at com.redhat.devtools.lsp4ij.LanguageServerWrapper.stopAndRefreshEditorFeature(LanguageServerWrapper.java:272)
	at com.redhat.devtools.lsp4ij.LanguageServerWrapper.dispose(LanguageServerWrapper.java:1748)
	at com.redhat.devtools.lsp4ij.LanguageServerWrapper.dispose(LanguageServerWrapper.java:1740)
	at com.redhat.devtools.lsp4ij.LanguageServiceAccessor.lambda$disposeAllServers$19(LanguageServiceAccessor.java:626)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at com.redhat.devtools.lsp4ij.LanguageServiceAccessor.disposeAllServers(LanguageServiceAccessor.java:624)
	at com.redhat.devtools.lsp4ij.LanguageServiceAccessor.projectClosing(LanguageServiceAccessor.java:439)
	at com.redhat.devtools.lsp4ij.ConnectDocumentToLanguageServerSetupParticipant.projectClosing(ConnectDocumentToLanguageServerSetupParticipant.java:53)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:831)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:771)
	at com.intellij.util.messages.impl.MessageBusImplKt.executeOrAddToQueue(MessageBusImpl.kt:596)
	at com.intellij.util.messages.impl.ToDirectChildrenMessagePublisher.publish$intellij_platform_core(CompositeMessageBus.kt:156)
	at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:544)
	at jdk.proxy2/jdk.proxy2.$Proxy84.projectClosing(Unknown Source)
	at com.intellij.openapi.project.impl.ProjectManagerImplKt.fireProjectClosing(ProjectManagerImpl.kt:1281)
	at com.intellij.openapi.project.impl.ProjectManagerImplKt.access$fireProjectClosing(ProjectManagerImpl.kt:1)
	at com.intellij.openapi.project.impl.ProjectManagerImpl.closeProject(ProjectManagerImpl.kt:452)
	at com.intellij.openapi.project.impl.ProjectManagerImpl.closeProject$default(ProjectManagerImpl.kt:386)
	at com.intellij.openapi.project.impl.ProjectManagerImpl$closeAndDisposeKeepingFrame$2.invokeSuspend$lambda$0(ProjectManagerImpl.kt:1197)
	at com.intellij.openapi.application.CoroutinesKt.writeIntentReadAction$lambda$0(coroutines.kt:332)
	at com.intellij.openapi.application.impl.AppImplKt$rethrowCheckedExceptions$2.invoke(appImpl.kt:126)
	at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runWriteIntentReadAction(NestedLocksThreadingSupport.kt:705)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteIntentReadAction(ApplicationImpl.java:1214)
	at com.intellij.openapi.application.CoroutinesKt.writeIntentReadAction(coroutines.kt:332)
	at com.intellij.openapi.project.impl.ProjectManagerImpl$closeAndDisposeKeepingFrame$2.invokeSuspend(ProjectManagerImpl.kt:1195)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
	at com.intellij.openapi.application.impl.DispatchedRunnable.run(DispatchedRunnable.kt:42)
	at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:236)
	at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:22)
	at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:218)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent$lambda$1$1$0(NonBlockingFlushQueue.kt:334)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:928)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent$lambda$1$1(NonBlockingFlushQueue.kt:333)
	at com.intellij.concurrency.ThreadContext.resetThreadContext(threadContext.kt:294)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent$lambda$1(NonBlockingFlushQueue.kt:330)
	at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.tryRunWriteIntentReadAction(NestedLocksThreadingSupport.kt:747)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent(NonBlockingFlushQueue.kt:326)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.flushNow(NonBlockingFlushQueue.kt:305)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.FLUSH_NOW$lambda$0(NonBlockingFlushQueue.kt:167)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:323)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:732)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:711)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:721)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:574)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0$0$0(IdeEventQueue.kt:378)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$0(IdeEventQueue.kt:1111)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1111)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0(IdeEventQueue.kt:376)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:416)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)

Additional context
Add any other context about the problem here.

AI / tooling disclosure
If this report was drafted with help from AI tools or automated agents, please mention which tool(s) you used and confirm you reviewed the content. Trivial grammar/autocomplete help does not need to be disclosed. See AI_POLICY.md.

Desktop (please complete the following information):

  • PyCharm 2026.1.2
  • RobotCode Version 2.5.1.
  • OS: MacOS
  • Python Version 3.13
  • RobotFramework Version 7.4.2
  • Additional tools like robocop, robocop has been removed from IDE

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions