docstr: Handle an Exception raised during deserialization of a BackMsg.
  
  Parameters
  ----------
  session_id
      The session's unique ID.
  exc
      The Exception.
  
  Notes
  -----
  Threading: UNSAFE. Must be called on the eventloop thread.
code: def handle_backmsg_deserialization_exception(
      self, session_id: str, exc: BaseException
  ) -> None:
      """Handle an Exception raised during deserialization of a BackMsg.
  
      Parameters
      ----------
      session_id
          The session's unique ID.
      exc
          The Exception.
  
      Notes
      -----
      Threading: UNSAFE. Must be called on the eventloop thread.
      """
      if self._state in (RuntimeState.STOPPING, RuntimeState.STOPPED):
          raise RuntimeStoppedError(
              f"Can't handle_backmsg_deserialization_exception (state={self._state})"
          )
  
      session_info = self._session_mgr.get_active_session_info(
          session_id
      )
      if session_info is None:
          LOGGER.debug(
              "Discarding BackMsg Exception for disconnected session (id=%s)",
              session_id,
          )
          return
  
      session_info.session.handle_backmsg_exception(exc)
  
imports: from __future__ import annotations
  import asyncio
  import time
  import traceback
  from dataclasses import dataclass, field
  from enum import Enum
  from typing import TYPE_CHECKING, Awaitable, Dict, NamedTuple, Optional, Tuple, Type
  from typing_extensions import Final
  from streamlit import config
  from streamlit.logger import get_logger
  from streamlit.proto.BackMsg_pb2 import BackMsg
  from streamlit.proto.ForwardMsg_pb2 import ForwardMsg
  from streamlit.runtime.app_session import AppSession
  from streamlit.runtime.caching import get_data_cache_stats_provider, get_resource_cache_stats_provider
  from streamlit.runtime.caching.storage.local_disk_cache_storage import LocalDiskCacheStorageManager
  from streamlit.runtime.forward_msg_cache import ForwardMsgCache, create_reference_msg, populate_hash_if_needed
  from streamlit.runtime.legacy_caching.caching import _mem_caches
  from streamlit.runtime.media_file_manager import MediaFileManager
  from streamlit.runtime.media_file_storage import MediaFileStorage
  from streamlit.runtime.memory_session_storage import MemorySessionStorage
  from streamlit.runtime.runtime_util import is_cacheable_msg
  from streamlit.runtime.script_data import ScriptData
  from streamlit.runtime.scriptrunner.script_cache import ScriptCache
  from streamlit.runtime.session_manager import ActiveSessionInfo, SessionClient, SessionClientDisconnectedError, SessionManager, SessionStorage
  from streamlit.runtime.state import SCRIPT_RUN_WITHOUT_ERRORS_KEY, SessionStateStatProvider
  from streamlit.runtime.stats import StatsManager
  from streamlit.runtime.uploaded_file_manager import UploadedFileManager
  from streamlit.runtime.websocket_session_manager import WebsocketSessionManager
  from streamlit.watcher import LocalSourcesWatcher
label_desc: Use image node_id 19 for calling the Runtime obj's underlying member method code with example usage: obj.handle_backmsg_deserialization_exception(session_id, exc) without return types