Dash Components get "stuck" on "TypeError: Cannot read property 'type' of undefined"

Recently updated for Dash for one of my applications from 0.x branch to 1.4.1. After the user uses it for a short while they become unable to edit the TextAreas, DatePickerSingle, etc… There’s no visual change in the components, just can not edit, add, or delete the values the component has. I am only using standard Dash Core Components and the DashTable, no 3rd party libraries.

I am able to reproduce it in a large example and I get the following error in Chrome when I turn dev mode on:

dash_renderer.dev.js?v=1.1.2&m=1571323966:40503 Uncaught TypeError: Cannot read property 'type' of undefined
    at Object.resolve (dash_renderer.dev.js?v=1.1.2&m=1571323966:40503)
    at isLoadingComponent (dash_renderer.dev.js?v=1.1.2&m=1571323966:35283)
    at dash_renderer.dev.js?v=1.1.2&m=1571323966:35307
    at _filter (dash_renderer.dev.js?v=1.1.2&m=1571323966:21958)
    at dash_renderer.dev.js?v=1.1.2&m=1571323966:18634
    at dash_renderer.dev.js?v=1.1.2&m=1571323966:21725
    at f2 (dash_renderer.dev.js?v=1.1.2&m=1571323966:21556)
    at getNestedIds (dash_renderer.dev.js?v=1.1.2&m=1571323966:35306)
    at getLoadingState (dash_renderer.dev.js?v=1.1.2&m=1571323966:35317)
    at dash_renderer.dev.js?v=1.1.2&m=1571323966:35365
resolve @ dash_renderer.dev.js?v=1.1.2&m=1571323966:40503
isLoadingComponent @ dash_renderer.dev.js?v=1.1.2&m=1571323966:35283
(anonymous) @ dash_renderer.dev.js?v=1.1.2&m=1571323966:35307
_filter @ dash_renderer.dev.js?v=1.1.2&m=1571323966:21958
(anonymous) @ dash_renderer.dev.js?v=1.1.2&m=1571323966:18634
(anonymous) @ dash_renderer.dev.js?v=1.1.2&m=1571323966:21725
f2 @ dash_renderer.dev.js?v=1.1.2&m=1571323966:21556
getNestedIds @ dash_renderer.dev.js?v=1.1.2&m=1571323966:35306
getLoadingState @ dash_renderer.dev.js?v=1.1.2&m=1571323966:35317
(anonymous) @ dash_renderer.dev.js?v=1.1.2&m=1571323966:35365
computeMergedProps @ dash_renderer.dev.js?v=1.1.2&m=1571323966:31946
updateMergedPropsIfNeeded @ dash_renderer.dev.js?v=1.1.2&m=1571323966:32060
render @ dash_renderer.dev.js?v=1.1.2&m=1571323966:32184
finishClassComponent @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:14876
updateClassComponent @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:14831
beginWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:15779
performUnitOfWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:19447
workLoop @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:19487
callCallback @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:143
invokeGuardedCallbackDev @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:193
invokeGuardedCallback @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:250
replayUnitOfWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:18713
renderRoot @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:19603
performWorkOnRoot @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20477
performWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20389
performSyncWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20363
requestWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20232
scheduleWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20046
enqueueSetState @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:11304
Component.setState @ react@16.8.6.js?v=1.1.2&m=1571323966:423
handleChange @ dash_renderer.dev.js?v=1.1.2&m=1571323966:32138
dispatch @ dash_renderer.dev.js?v=1.1.2&m=1571323966:33138
(anonymous) @ dash_renderer.dev.js?v=1.1.2&m=1571323966:32627
(anonymous) @ dash_renderer.dev.js?v=1.1.2&m=1571323966:35227
(anonymous) @ index.tsx:24
(anonymous) @ derivedPropsHelper.ts:65
setTimeout (async)
(anonymous) @ derivedPropsHelper.ts:65
value @ index.tsx:65
finishClassComponent @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:14876
updateClassComponent @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:14831
beginWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:15779
performUnitOfWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:19447
workLoop @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:19487
renderRoot @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:19570
performWorkOnRoot @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20477
performWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20389
performSyncWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20363
requestWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20232
scheduleWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20046
enqueueSetState @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:11304
Component.setState @ react@16.8.6.js?v=1.1.2&m=1571323966:423
handleChange @ dash_renderer.dev.js?v=1.1.2&m=1571323966:32138
dispatch @ dash_renderer.dev.js?v=1.1.2&m=1571323966:33138
(anonymous) @ dash_renderer.dev.js?v=1.1.2&m=1571323966:32627
dispatch @ dash_renderer.dev.js?v=1.1.2&m=1571323966:32685
updateRequestQueue @ dash_renderer.dev.js?v=1.1.2&m=1571323966:36004
handleJson @ dash_renderer.dev.js?v=1.1.2&m=1571323966:36250
Promise.then (async)
handleResponse @ dash_renderer.dev.js?v=1.1.2&m=1571323966:36238
Promise.then (async)
updateOutput @ dash_renderer.dev.js?v=1.1.2&m=1571323966:36194
(anonymous) @ dash_renderer.dev.js?v=1.1.2&m=1571323966:35957
(anonymous) @ dash_renderer.dev.js?v=1.1.2&m=1571323966:32624
(anonymous) @ dash_renderer.dev.js?v=1.1.2&m=1571323966:35234
onClick @ Button.react.js:19
callCallback @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:143
invokeGuardedCallbackDev @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:193
invokeGuardedCallback @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:250
invokeGuardedCallbackAndCatchFirstError @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:264
executeDispatch @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:555
executeDispatchesInOrder @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:574
executeDispatchesAndRelease @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:674
executeDispatchesAndReleaseTopLevel @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:682
forEachAccumulated @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:656
runEventsInBatch @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:810
runExtractedEventsInBatch @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:818
handleTopLevel @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:4929
batchedUpdates$1 @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20574
batchedUpdates @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:2149
dispatchEvent @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:5008
(anonymous) @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20625
unstable_runWithPriority @ react@16.8.6.js?v=1.1.2&m=1571323966:735
interactiveUpdates$1 @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20624
interactiveUpdates @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:2168
dispatchInteractiveEvent @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:4985
Show 6 more frames
react-dom@16.8.6.js?v=1.1.2&m=1571323966:17252 The above error occurred in the <Connect(TreeContainer)> component:
    in Connect(TreeContainer) (created by TreeContainer)
    in td (created by u)
    in u (created by CheckedComponent)
    in CheckedComponent (created by TreeContainer)
    in UnconnectedComponentErrorBoundary (created by Connect(UnconnectedComponentErrorBoundary))
    in Connect(UnconnectedComponentErrorBoundary) (created by TreeContainer)
    in TreeContainer (created by Connect(TreeContainer))
    in Connect(TreeContainer) (created by TreeContainer)
    in tr (created by u)
    in u (created by CheckedComponent)
    in CheckedComponent (created by TreeContainer)
    in UnconnectedComponentErrorBoundary (created by Connect(UnconnectedComponentErrorBoundary))
    in Connect(UnconnectedComponentErrorBoundary) (created by TreeContainer)
    in TreeContainer (created by Connect(TreeContainer))
    in Connect(TreeContainer) (created by TreeContainer)
    in table (created by u)
    in u (created by CheckedComponent)
    in CheckedComponent (created by TreeContainer)
    in UnconnectedComponentErrorBoundary (created by Connect(UnconnectedComponentErrorBoundary))
    in Connect(UnconnectedComponentErrorBoundary) (created by TreeContainer)
    in TreeContainer (created by Connect(TreeContainer))
    in Connect(TreeContainer) (created by TreeContainer)
    in div (created by u)
    in u (created by CheckedComponent)
    in CheckedComponent (created by TreeContainer)
    in UnconnectedComponentErrorBoundary (created by Connect(UnconnectedComponentErrorBoundary))
    in Connect(UnconnectedComponentErrorBoundary) (created by TreeContainer)
    in TreeContainer (created by Connect(TreeContainer))
    in Connect(TreeContainer) (created by TreeContainer)
    in div (created by u)
    in u (created by CheckedComponent)
    in CheckedComponent (created by TreeContainer)
    in UnconnectedComponentErrorBoundary (created by Connect(UnconnectedComponentErrorBoundary))
    in Connect(UnconnectedComponentErrorBoundary) (created by TreeContainer)
    in TreeContainer (created by Connect(TreeContainer))
    in Connect(TreeContainer) (created by TreeContainer)
    in div (created by u)
    in u (created by CheckedComponent)
    in CheckedComponent (created by TreeContainer)
    in UnconnectedComponentErrorBoundary (created by Connect(UnconnectedComponentErrorBoundary))
    in Connect(UnconnectedComponentErrorBoundary) (created by TreeContainer)
    in TreeContainer (created by Connect(TreeContainer))
    in Connect(TreeContainer) (created by UnconnectedContainer)
    in div (created by UnconnectedGlobalErrorContainer)
    in div (created by GlobalErrorOverlay)
    in div (created by GlobalErrorOverlay)
    in GlobalErrorOverlay (created by DebugMenu)
    in div (created by DebugMenu)
    in DebugMenu (created by UnconnectedGlobalErrorContainer)
    in div (created by UnconnectedGlobalErrorContainer)
    in UnconnectedGlobalErrorContainer (created by Connect(UnconnectedGlobalErrorContainer))
    in Connect(UnconnectedGlobalErrorContainer) (created by UnconnectedContainer)
    in UnconnectedContainer (created by Connect(UnconnectedContainer))
    in Connect(UnconnectedContainer) (created by UnconnectedAppContainer)
    in UnconnectedAppContainer (created by Connect(UnconnectedAppContainer))
    in Connect(UnconnectedAppContainer) (created by AppProvider)
    in Provider (created by AppProvider)
    in AppProvider

React will try to recreate this component tree from scratch using the error boundary you provided, UnconnectedComponentErrorBoundary.
logCapturedError @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:17252
logError @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:17288
callback @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:18229
callCallback @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:16568
commitUpdateEffects @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:16607
commitUpdateQueue @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:16598
commitLifeCycles @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:17499
commitAllLifeCycles @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:18871
callCallback @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:143
invokeGuardedCallbackDev @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:193
invokeGuardedCallback @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:250
commitRoot @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:19083
(anonymous) @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20553
unstable_runWithPriority @ react@16.8.6.js?v=1.1.2&m=1571323966:735
completeRoot @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20552
performWorkOnRoot @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20481
performWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20389
performSyncWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20363
requestWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20232
scheduleWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20046
enqueueSetState @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:11304
Component.setState @ react@16.8.6.js?v=1.1.2&m=1571323966:423
handleChange @ dash_renderer.dev.js?v=1.1.2&m=1571323966:32138
dispatch @ dash_renderer.dev.js?v=1.1.2&m=1571323966:33138
(anonymous) @ dash_renderer.dev.js?v=1.1.2&m=1571323966:32627
(anonymous) @ dash_renderer.dev.js?v=1.1.2&m=1571323966:35227
(anonymous) @ index.tsx:24
(anonymous) @ derivedPropsHelper.ts:65
setTimeout (async)
(anonymous) @ derivedPropsHelper.ts:65
value @ index.tsx:65
finishClassComponent @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:14876
updateClassComponent @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:14831
beginWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:15779
performUnitOfWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:19447
workLoop @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:19487
renderRoot @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:19570
performWorkOnRoot @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20477
performWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20389
performSyncWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20363
requestWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20232
scheduleWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20046
enqueueSetState @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:11304
Component.setState @ react@16.8.6.js?v=1.1.2&m=1571323966:423
handleChange @ dash_renderer.dev.js?v=1.1.2&m=1571323966:32138
dispatch @ dash_renderer.dev.js?v=1.1.2&m=1571323966:33138
(anonymous) @ dash_renderer.dev.js?v=1.1.2&m=1571323966:32627
dispatch @ dash_renderer.dev.js?v=1.1.2&m=1571323966:32685
updateRequestQueue @ dash_renderer.dev.js?v=1.1.2&m=1571323966:36004
handleJson @ dash_renderer.dev.js?v=1.1.2&m=1571323966:36250
Promise.then (async)
handleResponse @ dash_renderer.dev.js?v=1.1.2&m=1571323966:36238
Promise.then (async)
updateOutput @ dash_renderer.dev.js?v=1.1.2&m=1571323966:36194
(anonymous) @ dash_renderer.dev.js?v=1.1.2&m=1571323966:35957
(anonymous) @ dash_renderer.dev.js?v=1.1.2&m=1571323966:32624
(anonymous) @ dash_renderer.dev.js?v=1.1.2&m=1571323966:35234
onClick @ Button.react.js:19
callCallback @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:143
invokeGuardedCallbackDev @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:193
invokeGuardedCallback @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:250
invokeGuardedCallbackAndCatchFirstError @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:264
executeDispatch @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:555
executeDispatchesInOrder @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:574
executeDispatchesAndRelease @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:674
executeDispatchesAndReleaseTopLevel @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:682
forEachAccumulated @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:656
runEventsInBatch @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:810
runExtractedEventsInBatch @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:818
handleTopLevel @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:4929
batchedUpdates$1 @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20574
batchedUpdates @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:2149
dispatchEvent @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:5008
(anonymous) @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20625
unstable_runWithPriority @ react@16.8.6.js?v=1.1.2&m=1571323966:735
interactiveUpdates$1 @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20624
interactiveUpdates @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:2168
dispatchInteractiveEvent @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:4985
react-dom@16.8.6.js?v=1.1.2&m=1571323966:500 Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method.
    in t (created by t)
    in t (created by CheckedComponent)
    in CheckedComponent (created by TreeContainer)
    in UnconnectedComponentErrorBoundary (created by Connect(UnconnectedComponentErrorBoundary))
    in Connect(UnconnectedComponentErrorBoundary) (created by TreeContainer)
    in TreeContainer (created by Connect(TreeContainer))
    in Connect(TreeContainer) (created by TreeContainer)
warningWithoutStack @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:500
warnAboutUpdateOnUnmounted @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:18610
scheduleWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20020
enqueueSetState @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:11304
Component.setState @ react@16.8.6.js?v=1.1.2&m=1571323966:423
(anonymous) @ index.tsx:29
(anonymous) @ index.tsx:90
Promise.then (async)
r.handleResize @ index.tsx:90
value @ index.tsx:433
commitLifeCycles @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:17469
commitAllLifeCycles @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:18871
callCallback @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:143
invokeGuardedCallbackDev @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:193
invokeGuardedCallback @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:250
commitRoot @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:19083
(anonymous) @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20553
unstable_runWithPriority @ react@16.8.6.js?v=1.1.2&m=1571323966:735
completeRoot @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20552
performWorkOnRoot @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20481
performWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20389
performSyncWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20363
requestWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20232
scheduleWork @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20046
enqueueSetState @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:11304
Component.setState @ react@16.8.6.js?v=1.1.2&m=1571323966:423
handleChange @ dash_renderer.dev.js?v=1.1.2&m=1571323966:32138
dispatch @ dash_renderer.dev.js?v=1.1.2&m=1571323966:33138
(anonymous) @ dash_renderer.dev.js?v=1.1.2&m=1571323966:32627
dispatch @ dash_renderer.dev.js?v=1.1.2&m=1571323966:32685
updateRequestQueue @ dash_renderer.dev.js?v=1.1.2&m=1571323966:36004
handleJson @ dash_renderer.dev.js?v=1.1.2&m=1571323966:36250
Promise.then (async)
handleResponse @ dash_renderer.dev.js?v=1.1.2&m=1571323966:36238
Promise.then (async)
updateOutput @ dash_renderer.dev.js?v=1.1.2&m=1571323966:36194
(anonymous) @ dash_renderer.dev.js?v=1.1.2&m=1571323966:35957
(anonymous) @ dash_renderer.dev.js?v=1.1.2&m=1571323966:32624
(anonymous) @ dash_renderer.dev.js?v=1.1.2&m=1571323966:35234
onClick @ Button.react.js:19
callCallback @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:143
invokeGuardedCallbackDev @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:193
invokeGuardedCallback @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:250
invokeGuardedCallbackAndCatchFirstError @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:264
executeDispatch @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:555
executeDispatchesInOrder @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:574
executeDispatchesAndRelease @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:674
executeDispatchesAndReleaseTopLevel @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:682
forEachAccumulated @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:656
runEventsInBatch @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:810
runExtractedEventsInBatch @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:818
handleTopLevel @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:4929
batchedUpdates$1 @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20574
batchedUpdates @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:2149
dispatchEvent @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:5008
(anonymous) @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20625
unstable_runWithPriority @ react@16.8.6.js?v=1.1.2&m=1571323966:735
interactiveUpdates$1 @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:20624
interactiveUpdates @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:2168
dispatchInteractiveEvent @ react-dom@16.8.6.js?v=1.1.2&m=1571323966:4985

I can’t paste my application here so let me know if there’s anything else I can do to help identify this issue.

Edit: I should also mention in this app I am making heavy use of dynamic components (it’s a multi-page app), so suppress_callback_exceptions is set to True.

This is going to be somewhat disappointing to anyone coming here to look for an answer, but I have worked around the issue without really knowing what the problem is.

My assumption is that the issue was related to the fact some of my components are created and destroyed by callbacks, this app was built long before multi-output callbacks and back then it was the only way to do it.

I have re-written my app so it no longer creates and destroys components but instead uses a monolithic multi-output callback…

However, for any Dash developers reading, I had a nice feature which I had to get rid of because it could only be implemented if I was able to do at least 1 of the following:

  • Dynamically create / destroy components
  • Or have 2 different callbacks write to the same output
  • Or have a callback that can have an input also be an output (but would be handled by using “dash.no_update” when triggering didn’t need to occur)

As the first 1 seemed to be causing this freezing issue and Dash doesn’t allow the last 2 I have had to drop the feature for now :frowning: . Would still like to see these implemented in Dash!