Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Cannot update an unmounted root" from TabBarToolBar #13441

Closed
tsmaeder opened this issue Mar 1, 2024 · 2 comments · Fixed by #13454
Closed

"Cannot update an unmounted root" from TabBarToolBar #13441

tsmaeder opened this issue Mar 1, 2024 · 2 comments · Fixed by #13454
Assignees
Milestone

Comments

@tsmaeder
Copy link
Contributor

tsmaeder commented Mar 1, 2024

Bug Description:

We occasionally get exceptions in the browser log from the TabBarToolbar class:

2024-03-01T14:59:31.437Z root ERROR Error: Cannot update an unmounted root.
    at ReactDOMHydrationRoot.render.ReactDOMRoot.render (file:///C:/Users/thomas/code/testdata/theia/examples/electron/lib/frontend/bundle.js:306393:11)
    at TabBarToolbar.onUpdateRequest (file:///C:/Users/thomas/code/testdata/theia/examples/electron/lib/frontend/bundle.js:352408:23)
    at __webpack_modules__.../../node_modules/@phosphor/widgets/lib/widget.js.Widget.processMessage (file:///C:/Users/thomas/code/testdata/theia/examples/electron/lib/frontend/bundle.js:390611:22)
    at invokeHandler (file:///C:/Users/thomas/code/testdata/theia/examples/electron/lib/frontend/bundle.js:26041:21)
    at sendMessage (file:///C:/Users/thomas/code/testdata/theia/examples/electron/lib/frontend/bundle.js:25777:13)
    at runMessageLoop (file:///C:/Users/thomas/code/testdata/theia/examples/electron/lib/frontend/bundle.js:26091:17)
log @ logger-protocol.ts:117
(anonymous) @ logger-frontend-module.ts:42
(anonymous) @ logger.ts:315
(anonymous) @ logger.ts:307
Promise.then (async)
log @ logger.ts:302
log @ logger.ts:45
exceptionHandler @ index.js:383
invokeHandler @ index.js:439
sendMessage @ index.js:172
runMessageLoop @ index.js:486
requestAnimationFrame (async)
enqueueMessage @ index.js:455
postMessage @ index.js:223
__webpack_modules__.../../node_modules/@phosphor/widgets/lib/widget.js.Widget.update @ widget.js:354
(anonymous) @ tab-bar-toolbar.tsx:93
(anonymous) @ plugin-contribution-handler.ts:511
(anonymous) @ event.ts:170
invoke @ event.ts:178
fire @ event.ts:321
(anonymous) @ monaco-context-key-service.ts:39
_deliver @ event.ts:1138
_deliverQueue @ event.ts:1149
fire @ event.ts:1173
fire @ event.ts:1335
setContext @ contextKeyService.ts:345
set @ contextKeyService.ts:207
set @ resource-context-key.ts:58
updateContextKeys @ common-frontend-contribution.ts:568
(anonymous) @ event.ts:170
invoke @ event.ts:178
fire @ event.ts:321
set selection @ selection-service.ts:46
updateGlobalSelection @ tree-widget.tsx:317
(anonymous) @ tree-widget.tsx:290
(anonymous) @ event.ts:170
invoke @ event.ts:178
fire @ event.ts:321
fireSelectionChanged @ tree-selection-impl.ts:52
transiteTo @ tree-selection-impl.ts:99
addSelection @ tree-selection-impl.ts:77
addSelection @ tree-model.ts:510
selectNode @ tree-model.ts:518
tapNode @ tree-widget.tsx:1291
tapNode @ navigator-widget.tsx:198
handleClickEvent @ tree-widget.tsx:1281
onClick @ tree-widget.tsx:988
callCallback @ react-dom.development.js:4164
invokeGuardedCallbackDev @ react-dom.development.js:4213
invokeGuardedCallback @ react-dom.development.js:4277
invokeGuardedCallbackAndCatchFirstError @ react-dom.development.js:4291
executeDispatch @ react-dom.development.js:9041
processDispatchQueueItemsInOrder @ react-dom.development.js:9073
processDispatchQueue @ react-dom.development.js:9086
dispatchEventsForPlugins @ react-dom.development.js:9097
(anonymous) @ react-dom.development.js:9288
batchedUpdates$1 @ react-dom.development.js:26140
batchedUpdates @ react-dom.development.js:3991
dispatchEventForPluginEventSystem @ react-dom.development.js:9287
dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay @ react-dom.development.js:6465
dispatchEvent @ react-dom.development.js:6457
dispatchDiscreteEvent @ react-dom.development.js:6430

Steps to Reproduce:

  1. Install gitlens
  2. Open a workspace containing a git repo
  3. Open an editor, accept workspace trust
  4. Close all editors
  5. Open a new typescript editor
  6. => you should see the above exception in the browser log.

Additional Information

  • Operating System: Windows
  • Theia Version: 1.47.0 master
@tsmaeder
Copy link
Contributor Author

tsmaeder commented Mar 1, 2024

Maybe related #11915

@tsmaeder tsmaeder self-assigned this Mar 5, 2024
tsmaeder added a commit to tsmaeder/theia that referenced this issue Mar 5, 2024
fixes eclipse-theia#13441

contributed on behalf of STMicroelectronics

Signed-off-by: Thomas Mäder <[email protected]>
tsmaeder added a commit to tsmaeder/theia that referenced this issue Mar 5, 2024
fixes eclipse-theia#13441

contributed on behalf of STMicroelectronics

Signed-off-by: Thomas Mäder <[email protected]>
tsmaeder added a commit that referenced this issue Mar 22, 2024
fixes #13441

contributed on behalf of STMicroelectronics

Signed-off-by: Thomas Mäder <[email protected]>
@jfaltermeier jfaltermeier added this to the 1.48.0 milestone Mar 28, 2024
@RagipSelcuk
Copy link

Hi there,

I have very similar issues in different classes—especially, the "OpenFileDialog.onUpdateRequest" class in the core file.

Here are the error details.
2024-08-06T04:50:14.476Z root INFO File dir file:///Users/ragipselcuk/Sandbox/Examples/dbc_template 15.dbc 2024-08-06T04:50:14.477Z root ERROR Error: Cannot update an unmounted root. at ReactDOMHydrationRoot.render.ReactDOMRoot.render (http://localhost:3000/bundle.js:136518:11) at LocationListRenderer.render (http://localhost:3000/vendors-node_modules_theia_filesystem_lib_browser_file-dialog_file-dialog-service_js.js:2755:23) at OpenFileDialog.onUpdateRequest (http://localhost:3000/vendors-node_modules_theia_filesystem_lib_browser_file-dialog_file-dialog-service_js.js:792:35) at __webpack_modules__.../node_modules/@phosphor/widgets/lib/widget.js.Widget.processMessage (http://localhost:3000/bundle.js:152429:22) at invokeHandler (http://localhost:3000/bundle.js:10917:21) at sendMessage (http://localhost:3000/bundle.js:10653:13) at runMessageLoop (http://localhost:3000/bundle.js:10967:17)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants