[Bug] 0.21.0 hangs for 10 minutes on cancel in the Chat view
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
Research direction
Reproduce the Chat view cancellation flow with the stated Eclipse and plugin versions, then start with ChatView.onCancel and the cancellation path in LanguageServerWrapper. Inspect the lock contention at StreamMessageConsumer.consume using the supplied thread dump and related log output. Done means cancelling the request no longer blocks the Eclipse UI for minutes and the allowlist error is handled without leaving the model page empty.
Written by the indexing model from the issue text.
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):
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:
- Dominant language
- Java
- Stars
- 126
- Forks
- 60
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 5
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/copilot-for-eclipse
-
[Feature Request] Copilot CLI Quick Launcher (Just like Intellij) with WSL & Auto-Install SupportOpenenhancement
Difficulty 5/5 Over a week Newbie friendliness 42/100
microsoft/copilot-for-eclipse#473 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 48/100
microsoft/copilot-for-eclipse#472 · 1 reaction ·
Maintainers usually reply within 1 day
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 48/100
microsoft/copilot-for-eclipse#465 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 45/100
microsoft/copilot-for-eclipse#458 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 48/100
microsoft/copilot-for-eclipse#450 · 2 comments · 1 reaction ·
Maintainers usually reply within 1 day
All issues in microsoft/copilot-for-eclipse
Similar issues
-
Update license yearOpen0 - Backlog 1 - Ready documentation good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
cbor
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
FasterXML/jackson-dataformats-binary#844 ·
Maintainers usually reply within 1 day
-
Issue: Bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
OpenAPITools/openapi-generator#25107 ·
Maintainers usually reply within 1 day
-
improvement
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
apache/iceberg#18351 · 1 comment ·
Maintainers usually reply within 1 day
-
bug good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
repowise-dev/repowise#2945 · 1 comment ·
Maintainers usually reply within 1 day