Skip to content

[Bug] 0.21.0 hangs for 10 minutes on cancel in the Chat view #405

Description

Environment

  • OS: RHEL 9.6
  • Eclipse Version: 4.38
  • Plugin Version: 0.21.0

Describe the bug
Open Chat
Open Java file
Ask /explain with the Claude Opus 4.8 medium model
Nothing happens for some time, so try to "cancel".
UI hangs for ~10 minutes (no CPU load).

After the hang three log entries are logged,

org.eclipse.lsp4e
Info
Fri Aug 07 11:31:30 CEST 2026
[LS:GitHub Copilot Language Server][Info]	[AuthManager] resolveSession: persisted store resolved a session

followed by an error

com.microsoft.copilot.eclipse
Error
Fri Aug 07 11:31:31 CEST 2026
[Error] org.eclipse.lsp4j.jsonrpc.ResponseErrorException: Invalid allowlist format: registry entries missing required fields

java.util.concurrent.CompletionException: org.eclipse.lsp4j.jsonrpc.ResponseErrorException: Invalid allowlist format: registry entries missing required fields
	at java.base/java.util.concurrent.CompletableFuture.wrapInCompletionException(CompletableFuture.java:323)
	at java.base/java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:412)
	at java.base/java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:421)
	at java.base/java.util.concurrent.CompletableFuture$UniRelay.tryFire(CompletableFuture.java:1118)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:531)
	at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2221)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleResponse(RemoteEndpoint.java:214)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:198)
	at org.eclipse.lsp4e.LanguageServerWrapper.lambda$3(LanguageServerWrapper.java:458)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:189)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:97)
	at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:97)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)
Caused by: org.eclipse.lsp4j.jsonrpc.ResponseErrorException: Invalid allowlist format: registry entries missing required fields
	... 11 more

Note: the model management page is empty (not sure it is related):

Image

and it poplates only after the hang is resolved.

The UI itself hangs in this stack:

"main" #3 [161792] prio=6 os_prio=0 cpu=18177.04ms elapsed=211.23s tid=0x00007f5b2802ebf0 nid=161792 waiting for monitor entry  [0x00007f5b2e9fc000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.eclipse.lsp4j.jsonrpc.json.StreamMessageConsumer.consume(StreamMessageConsumer.java:67)
        - waiting to lock <0x000000040cf71510> (a java.lang.Object)
        at org.eclipse.lsp4e.LanguageServerWrapper.lambda$3(LanguageServerWrapper.java:458)
        at org.eclipse.lsp4e.LanguageServerWrapper$$Lambda/0x00000000680ccc00.consume(Unknown Source)
        at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.notify(RemoteEndpoint.java:135)
        at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.sendCancelNotification(RemoteEndpoint.java:185)
        at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.lambda$request$1(RemoteEndpoint.java:157)
        at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint$$Lambda/0x0000000068105000.run(Unknown Source)
        at org.eclipse.lsp4j.jsonrpc.JsonRpcRequestFuture.cancelRequest(JsonRpcRequestFuture.java:126)
        at org.eclipse.lsp4j.jsonrpc.JsonRpcRequestFuture.cancel(JsonRpcRequestFuture.java:99)
        at org.eclipse.lsp4e.LanguageServerWrapper.lambda$24(LanguageServerWrapper.java:1077)
        at org.eclipse.lsp4e.LanguageServerWrapper$$Lambda/0x00000000680cc400.apply(Unknown Source)
        at java.util.concurrent.CompletableFuture.uniExceptionally(java.base@25/CompletableFuture.java:1011)
        at java.util.concurrent.CompletableFuture$UniExceptionally.tryFire(java.base@25/CompletableFuture.java:995)
        at java.util.concurrent.CompletableFuture.postComplete(java.base@25/CompletableFuture.java:531)
        at java.util.concurrent.CompletableFuture.cancel(java.base@25/CompletableFuture.java:2554)
        at org.eclipse.lsp4e.LanguageServerWrapper.lambda$22(LanguageServerWrapper.java:1034)
        at org.eclipse.lsp4e.LanguageServerWrapper$$Lambda/0x00000000680cc800.apply(Unknown Source)
        at java.util.concurrent.CompletableFuture.uniExceptionally(java.base@25/CompletableFuture.java:1011)
        at java.util.concurrent.CompletableFuture$UniExceptionally.tryFire(java.base@25/CompletableFuture.java:995)
        at java.util.concurrent.CompletableFuture.postComplete(java.base@25/CompletableFuture.java:531)
        at java.util.concurrent.CompletableFuture.cancel(java.base@25/CompletableFuture.java:2554)
        at com.microsoft.copilot.eclipse.ui.chat.ChatView.lambda$35(ChatView.java:1413)
        at com.microsoft.copilot.eclipse.ui.chat.ChatView$$Lambda/0x0000000068dbf000.accept(Unknown Source)
        at java.lang.Iterable.forEach(java.base@25/Iterable.java:75)
        at com.microsoft.copilot.eclipse.ui.chat.ChatView.onCancel(ChatView.java:1412)
        at com.microsoft.copilot.eclipse.ui.chat.ActionBar.notifyCancel(ActionBar.java:825)
        at com.microsoft.copilot.eclipse.ui.chat.ActionBar.handleCancelMessage(ActionBar.java:818)
        at com.microsoft.copilot.eclipse.ui.chat.ActionBar$4.widgetSelected(ActionBar.java:473)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:290)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91)
        at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5894)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1656)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5109)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4546)

Full jstack:

thread_dump.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions