android: Out of memory crash of the Wear OS companion app when server has too many entities

Home Assistant Android app version(s): Phone: 2023.12.4-full Watch: 2023.12.4-11898

Android version(s): Phone: 13 Watch: 11 (Wear OS 3.5)

Device model(s): Phone: Xiaomi 11 Watch: Tic Watch E3

Home Assistant version: 2024.1.5

Last working Home Assistant release (if known): Used to work on Wear OS 2 with the latest HA version

Description of problem, include YAML if issue is related to notifications:

The companion app opens and crashes in a few seconds while trying to load the list of entities from HA. The logs from the watch indicate the OOM crash.

Companion App Logs:

Logs
01-24 13:06:44.973   739   779 V DisplayPowerController: Brightness [0.38976377] reason changing to: 'manual', previous reason: 'manual [ dim ]'.
01-24 13:06:45.055   739  3432 I ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=io.homeassistant.companion.android/.splash.SplashActivity bnds=[39,100][81,142]} from uid 10030
01-24 13:06:45.100   739   757 D CompatibilityChangeReporter: Compat change id reported: 135634846; UID 10069; state: DISABLED
01-24 13:06:45.100   739   764 D CompatibilityChangeReporter: Compat change id reported: 143937733; UID 10069; state: ENABLED
01-24 13:06:45.116   739   758 V AnimationHandler: enable
01-24 13:06:45.116   739   758 V AnimationHandler: animatorRequesters 0 = android.view.ViewRootImpl@44bfb39
01-24 13:06:45.123   432   432 D Zygote  : Forked child process 9416
01-24 13:06:45.126   739   764 I ActivityManager: Start proc 9416:io.homeassistant.companion.android/u0a69 for pre-top-activity {io.homeassistant.companion.android/io.homeassistant.companion.android.splash.SplashActivity}
01-24 13:06:45.165  9416  9416 E mpanion.androi: Not starting debugger since process cannot load the jdwp agent.
01-24 13:06:45.192   739   758 W WindowManager: Unable to find process with pid=739 uid=1000
01-24 13:06:45.557  9416  9416 W mpanion.androi: JIT profile information will not be recorded: profile file does not exist.
01-24 13:06:45.558  9416  9416 W mpanion.androi: JIT profile information will not be recorded: profile file does not exist.
01-24 13:06:45.566  9416  9416 D NetworkSecurityConfig: Using Network Security Config from resource network_security_config debugBuild: false
01-24 13:06:45.568  9416  9416 D NetworkSecurityConfig: Using Network Security Config from resource network_security_config debugBuild: false
01-24 13:06:45.578  9416  9416 I FirebaseApp: Device unlocked: initializing all Firebase APIs for app [DEFAULT]
01-24 13:06:45.586  9416  9416 I FirebaseInitProvider: FirebaseApp initialization successful
01-24 13:06:45.590  9416  9416 D WM-WrkMgrInitializer: Initializing WorkManager with default configuration.
01-24 13:06:45.595  9416  9416 I TetheringManager: registerTetheringEventCallback:io.homeassistant.companion.android
01-24 13:06:45.598  9416  9416 D WM-PackageManagerHelper: Skipping component enablement for androidx.work.impl.background.systemjob.SystemJobService
01-24 13:06:45.598  9416  9416 D WM-Schedulers: Created SystemJobScheduler and enabled SystemJobService
01-24 13:06:45.645  9416  9416 D AppCompatDelegate: Checking for metadata for AppLocalesMetadataHolderService : Service not found
01-24 13:06:45.667   739   739 W WindowManager: Unable to find process with pid=739 uid=1000
01-24 13:06:45.673   739   926 I ActivityTaskManager: START u0 {cmp=io.homeassistant.companion.android/.home.HomeActivity} from uid 10069
01-24 13:06:45.716  9416  9416 D SensorReceiver: Received intent: android.net.wifi.STATE_CHANGE
01-24 13:06:45.718  9416  9416 D SensorReceiver: Received intent: android.net.wifi.WIFI_STATE_CHANGED
01-24 13:06:45.718  9416  9416 D SensorReceiver: Sensor wifi_state corresponding to received event android.net.wifi.WIFI_STATE_CHANGED is disabled, skipping sensors update
01-24 13:06:45.719  9416  9416 D SensorReceiver: Received intent: android.media.RINGER_MODE_CHANGED
01-24 13:06:45.719  9416  9416 D SensorReceiver: Sensor audio_sensor corresponding to received event android.media.RINGER_MODE_CHANGED is disabled, skipping sensors update
01-24 13:06:45.722   739  2515 W ActivityTaskManager: Tried to set launchTime (0) < mLastActivityLaunchTime (4772043)
01-24 13:06:45.739  9416  9448 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:45.766  9416  9416 W mpanion.androi: Class androidx.compose.runtime.snapshots.SnapshotStateMap failed lock verification and will run slower.
01-24 13:06:45.766  9416  9416 W mpanion.androi: Common causes for lock verification issues are non-optimized dex code
01-24 13:06:45.766  9416  9416 W mpanion.androi: and incorrect proguard optimizations.
01-24 13:06:45.778  9416  9416 W mpanion.androi: Class androidx.compose.runtime.snapshots.SnapshotStateList failed lock verification and will run slower.
01-24 13:06:45.783  9416  9416 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:45.793  9416  9416 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:45.799  9416  9449 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:45.887   739  2515 D ConnectivityService: requestNetwork for uid/pid:10069/9416 NetworkRequest [ TRACK_DEFAULT id=85, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10069 AdministratorUids: [] RequestorUid: 10069 RequestorPackageName: io.homeassistant.companion.android] ]
01-24 13:06:45.888   739   824 D ConnectivityService: NetReassign [85 : null → 105]
01-24 13:06:45.889   739   739 D COMPANION_PROXY: got request NetworkRequest [ TRACK_DEFAULT id=85, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10069 AdministratorUids: [] RequestorUid: 10069 RequestorPackageName: io.homeassistant.companion.android] ] with score 60 and providerId 3
01-24 13:06:45.889   739   820 D UntrustedWifiNetworkFactory: got request NetworkRequest [ TRACK_DEFAULT id=85, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10069 AdministratorUids: [] RequestorUid: 10069 RequestorPackageName: io.homeassistant.companion.android] ] with score 60 and providerId 3
01-24 13:06:45.890   739   820 D WifiNetworkFactory: got request NetworkRequest [ TRACK_DEFAULT id=85, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10069 AdministratorUids: [] RequestorUid: 10069 RequestorPackageName: io.homeassistant.companion.android] ] with score 60 and providerId 3
01-24 13:06:45.985   739  2515 D CompatibilityChangeReporter: Compat change id reported: 136274596; UID 10069; state: ENABLED
01-24 13:06:45.989  9416  9416 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:45.995  9416  9416 I chatty  : uid=10069(io.homeassistant.companion.android) identical 2 lines
01-24 13:06:45.997  9416  9416 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:46.044   487   487 D nanohub : queueBatch: sensor=16, handle=100, period=200000000, latency=0
01-24 13:06:46.046   487   487 D nanohub : queueActivate: sensor=16, handle=100, enable=1
01-24 13:06:46.046  9416  9448 D HRSensor: Heart Rate sensor listener registered
01-24 13:06:46.080  1695  1728 D HCENfc_CardEmulationManager: getNfcCardEmulationInterface()
01-24 13:06:46.153  9416  9447 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:46.153  9416  9464 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:46.153  9416  9466 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:46.153  9416  9464 D ServerConnectionInfo: Using cloud / remote UI URL
01-24 13:06:46.153  9416  9447 D ServerConnectionInfo: Using cloud / remote UI URL
01-24 13:06:46.153  9416  9466 D ServerConnectionInfo: Using cloud / remote UI URL
01-24 13:06:46.158  9416  9469 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:46.162  9416  9469 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:46.168  9416  9416 V AnimationHandler: enable
01-24 13:06:46.169  9416  9416 V AnimationHandler: animatorRequesters 0 = android.view.ViewRootImpl@3ab6d9c
01-24 13:06:46.170  9416  9416 D HRSensor: HR event received with accuracy: no_contact and value: -1.0 with event count: 1
01-24 13:06:46.192  9416  9416 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:46.192  9416  9416 D ServerConnectionInfo: Using cloud / remote UI URL
01-24 13:06:46.192  9416  9447 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:46.192  9416  9447 D ServerConnectionInfo: Using cloud / remote UI URL
01-24 13:06:46.192  9416  9464 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:46.192  9416  9464 D ServerConnectionInfo: Using cloud / remote UI URL
01-24 13:06:46.197  9416  9416 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:46.199  9416  9466 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:46.200  9416  9466 D ServerConnectionInfo: Using cloud / remote UI URL
01-24 13:06:46.201  9416  9416 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:46.201  9416  9416 D ServerConnectionInfo: Using cloud / remote UI URL
01-24 13:06:46.212  9416  9416 D ServiceConnection: onServiceConnected(), componentName = ComponentInfo{com.google.android.wearable.healthservices/com.google.android.wearable.healthservices.passivemonitoring.client.PassiveMonitoringApiService}
01-24 13:06:46.365  9416  9450 I AdrenoGLES-0: QUALCOMM build                   : 85fd171, I13854cb805
01-24 13:06:46.365  9416  9450 I AdrenoGLES-0: Build Date                       : 12/29/20
01-24 13:06:46.365  9416  9450 I AdrenoGLES-0: OpenGL ES Shader Compiler Version: EV031.32.02.06
01-24 13:06:46.365  9416  9450 I AdrenoGLES-0: Local Branch                     : gfx-adreno.lnx.1.0
01-24 13:06:46.365  9416  9450 I AdrenoGLES-0: Remote Branch                    : 
01-24 13:06:46.365  9416  9450 I AdrenoGLES-0: Remote Branch                    : 
01-24 13:06:46.365  9416  9450 I AdrenoGLES-0: Reconstruct Branch               : 
01-24 13:06:46.365  9416  9450 I AdrenoGLES-0: Build Config                     : S L 11.0.2 AArch32
01-24 13:06:46.365  9416  9450 I AdrenoGLES-0: Driver Path                      : /vendor/lib/egl/libGLESv2_adreno.so
01-24 13:06:46.377  9416  9450 I AdrenoGLES-0: PFP: 0x005ff114, ME: 0x005ff066
01-24 13:06:46.381   359   359 I hwservicemanager: getTransport: Cannot find entry android.hardware.configstore@1.0::ISurfaceFlingerConfigs/default in either framework or device manifest.
01-24 13:06:46.446   739   762 D ArtManagerInternalImpl: /data/misc/iorapd/io.homeassistant.companion.android/11899/io.homeassistant.companion.android.home.HomeActivity/compiled_traces/compiled_trace.pb doesn't exist
01-24 13:06:46.447  9416  9445 I WM-Processor: Moving WorkSpec (95db1527-22d5-4092-8d73-dd4a3e7cfe93) to the foreground
01-24 13:06:46.450   739   762 I ActivityTaskManager: Displayed io.homeassistant.companion.android/.home.HomeActivity: +1s362ms
01-24 13:06:46.469  9416  9464 D SensorWorker: Updating all Sensors in foreground.
01-24 13:06:46.471  9416  9464 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:46.479   739   758 V AnimationHandler: disable animators for android.view.ViewRootImpl@44bfb39
01-24 13:06:46.479   739   758 V AnimationHandler: removeRequestorImpl for android.view.ViewRootImpl@44bfb39
01-24 13:06:46.673  9416  9464 D HRSensor: Re-registering listener as it appears to be stuck
01-24 13:06:46.676   487   510 D nanohub : queueActivate: sensor=16, handle=100, enable=0
01-24 13:06:46.689   487   510 D nanohub : queueBatch: sensor=16, handle=100, period=200000000, latency=0
01-24 13:06:46.691   487   510 D nanohub : queueActivate: sensor=16, handle=100, enable=1
01-24 13:06:46.691  9416  9464 D HRSensor: Heart Rate sensor listener registered
01-24 13:06:46.710  9416  9416 W mpanion.androi: Accessing hidden method Landroid/graphics/Canvas;->drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/Rect;Landroid/graphics/Paint;)V (greylist-max-o, linking, denied)
01-24 13:06:46.711  9416  9416 W mpanion.androi: Accessing hidden method Landroid/graphics/Canvas;->drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/RectF;Landroid/graphics/Paint;)V (greylist-max-o, linking, denied)
01-24 13:06:46.772  9416  9466 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:46.775  9416  9466 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:46.872  9416  9416 D HRSensor: HR event received with accuracy: no_contact and value: -1.0 with event count: 2
01-24 13:06:46.874  9416  9416 D HealthServices: Supported capabilities: PassiveMonitoringCapabilities(supportedDataTypesPassiveMonitoring=[DataType(name=HeartRate, timeType=SAMPLE, class=Double, isAggregate=false), DataType(name=Daily Distance, timeType=INTERVAL, class=Double, isAggregate=false), DataType(name=Distance, timeType=INTERVAL, class=Double, isAggregate=false), DataType(name=Daily Calories, timeType=INTERVAL, class=Double, isAggregate=false), DataType(name=Calories, timeType=INTERVAL, class=Double, isAggregate=false), DataType(name=Daily Steps, timeType=INTERVAL, class=Long, isAggregate=false), DataType(name=Steps, timeType=INTERVAL, class=Long, isAggregate=false)], supportedDataTypesPassiveGoals=[DataType(name=Daily Distance, timeType=INTERVAL, class=Double, isAggregate=false), DataType(name=Daily Calories, timeType=INTERVAL, class=Double, isAggregate=false), DataType(name=Daily Steps, timeType=INTERVAL, class=Long, isAggregate=false)], supportedHealthEventTypes=[], supportedUserActivityStates=[USER_ACTIVITY_PASSIVE, USER_ACTIVITY_EXERCISE])
01-24 13:06:46.884  9416  9416 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:46.901  9416  9476 D WebSocketRepository: Websocket: onOpen
01-24 13:06:46.911  9416  9475 D WebSocketRepository: Websocket: onOpen
01-24 13:06:46.912  9416  9474 D WebSocketRepository: Websocket: onOpen
01-24 13:06:46.912  9416  9476 D WebSocketRepository: Websocket: onMessage (text)
01-24 13:06:46.912  9416  9474 D WebSocketRepository: Websocket: onMessage (text)
01-24 13:06:46.915  9416  9475 D WebSocketRepository: Websocket: onMessage (text)
01-24 13:06:47.114  9416  9475 D WebSocketRepository: Message number null received
01-24 13:06:47.117  9416  9447 D WebSocketRepository: Auth Requested
01-24 13:06:47.118  9416  9475 D WebSocketRepository: Websocket: onMessage (text)
01-24 13:06:47.121  9416  9475 D WebSocketRepository: Message number null received
01-24 13:06:47.122  9416  9464 D WebSocketRepository: Sending message 1: {type=supported_features, id=1, features={coalesce_messages=1}}
01-24 13:06:47.122  9416  9476 D WebSocketRepository: Message number null received
01-24 13:06:47.123  9416  9466 D WebSocketRepository: Auth Requested
01-24 13:06:47.124  9416  9476 D WebSocketRepository: Websocket: onMessage (text)
01-24 13:06:47.128  9416  9476 D WebSocketRepository: Message number null received
01-24 13:06:47.130  9416  9470 D WebSocketRepository: Sending message 1: {type=supported_features, id=1, features={coalesce_messages=1}}
01-24 13:06:47.131  9416  9474 D WebSocketRepository: Message number null received
01-24 13:06:47.131  9416  9466 D WebSocketRepository: Auth Requested
01-24 13:06:47.132  9416  9474 D WebSocketRepository: Websocket: onMessage (text)
01-24 13:06:47.134  9416  9470 D WebSocketRepository: Sending message 2: {type=config/device_registry/list, id=2}
01-24 13:06:47.134  9416  9470 D WebSocketRepository: Message number 2 sent
01-24 13:06:47.135  9416  9474 D WebSocketRepository: Message number null received
01-24 13:06:47.139  9416  9464 D WebSocketRepository: Sending message 2: {type=config/entity_registry/list, id=2}
01-24 13:06:47.140  9416  9470 D WebSocketRepository: Sending message 1: {type=supported_features, id=1, features={coalesce_messages=1}}
01-24 13:06:47.140  9416  9464 D WebSocketRepository: Message number 2 sent
01-24 13:06:47.144  9416  9470 D WebSocketRepository: Sending message 2: {type=config/area_registry/list, id=2}
01-24 13:06:47.145  9416  9470 D WebSocketRepository: Message number 2 sent
01-24 13:06:47.146  9416  9470 D WebSocketRepository: Sending message 3: {type=get_states, id=3}
01-24 13:06:47.146  9416  9470 D WebSocketRepository: Message number 3 sent
01-24 13:06:47.169  9416  9416 I WM-SystemFgDispatcher: Started foreground service Intent { act=ACTION_START_FOREGROUND cmp=io.homeassistant.companion.android/androidx.work.impl.foreground.SystemForegroundService (has extras) }
01-24 13:06:47.171  2705  2705 I WearInputMethodService: WearInputMethodService.onBindInput():1016 
01-24 13:06:47.180  9416  9416 D Compose Focus: Owner FocusChanged(true)
01-24 13:06:47.182  2705  2705 I WearInputMethodService: WearInputMethodService.onFinishInput():2247 
01-24 13:06:47.182  2705  2705 I WearInputMethodService: WearInputMethodService.onStartInput():1731 
01-24 13:06:47.182  2705  2705 I WearInputMethodService: WearInputMethodService.onStartInput():1743 onStartInput(), Dummy InputConnection bound
01-24 13:06:47.188  9416  9416 I Choreographer: Skipped 40 frames!  The application may be doing too much work on its main thread.
01-24 13:06:47.203  9416  9416 D WebSocketRepository: Sending message 3: {type=subscribe_trigger, trigger={platform=state, entity_id=[]}, id=3}
01-24 13:06:47.214  1233  3433 I FontLog : (REDACTED) Received query %s, URI %s
01-24 13:06:47.214  1233  3433 I FontLog : (REDACTED) Query [%s] resolved to %s
01-24 13:06:47.218  1233  3433 I FontLog : (REDACTED) Fetch %s end status %s
01-24 13:06:47.224  1233  3433 I FontLog : (REDACTED) Pulling font file for id = %d, cache size = %d
01-24 13:06:47.244  1233  3433 I FontLog : (REDACTED) Pulling font file for id = %d, cache size = %d
01-24 13:06:47.271  9416  9476 D WebSocketRepository: Websocket: onMessage (text)
01-24 13:06:47.275  9416  9476 D WebSocketRepository: Message number 1 received
01-24 13:06:47.287  9416  9474 D WebSocketRepository: Websocket: onMessage (text)
01-24 13:06:47.287  9416  9475 D WebSocketRepository: Websocket: onMessage (text)
01-24 13:06:47.288  9416  9475 D WebSocketRepository: Message number 1 received
01-24 13:06:47.289  9416  9474 D WebSocketRepository: Message number 1 received
01-24 13:06:47.676  9416  9476 D WebSocketRepository: Websocket: onMessage (text)
01-24 13:06:47.847  9416  9476 D WebSocketRepository: Message number 2 received
01-24 13:06:47.985  9416  9475 D WebSocketRepository: Websocket: onMessage (text)
01-24 13:06:48.419  9416  9428 I mpanion.androi: Background concurrent copying GC freed 312648(14MB) AllocSpace objects, 22(788KB) LOS objects, 49% free, 17MB/35MB, paused 3.458ms total 634.725ms
01-24 13:06:48.751  9416  9464 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:48.765   739  1690 E TaskPersister: File error accessing recents directory (directory doesn't exist?).
01-24 13:06:48.779  9416  9470 D ServerConnectionInfo: localUrl is: false, usesInternalSsid is: false, usesWifi is: true
01-24 13:06:49.355  9416  9475 D WebSocketRepository: Message number 2 received
01-24 13:06:49.840  9416  9416 D WebSocketRepository: Message number 3 sent
01-24 13:06:49.845  2705  2705 I WearInputMethodService: WearInputMethodService.onFinishInput():2247 
01-24 13:06:49.845  2705  2705 I WearInputMethodService: WearInputMethodService.onStartInput():1731 
01-24 13:06:49.846  2705  2705 I WearInputMethodService: WearInputMethodService.onStartInput():1743 onStartInput(), Dummy InputConnection bound
01-24 13:06:49.847  9416  9416 W InputMethodManager: Ignoring onBind: cur seq=331, given seq=330
01-24 13:06:49.860  9416  9416 I Choreographer: Skipped 159 frames!  The application may be doing too much work on its main thread.
01-24 13:06:49.868  9416  9416 D WebSocketRepository: Sending message 4: {type=auth/current_user, id=4}
01-24 13:06:49.874  9416  9416 D WebSocketRepository: Message number 4 sent
01-24 13:06:49.877   739   926 I ActivityManager: PendingStartActivityUids startActivity to updateOomAdj delay:4151ms, uid:10069
01-24 13:06:49.925  9416  9450 I OpenGLRenderer: Davey! duration=2720ms; Flags=0, IntendedVsync=4774064965713, Vsync=4776714965607, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=4776720829061, AnimationStart=4776720834269, PerformTraversalsStart=4776724777030, DrawStart=4776724880936, SyncQueued=4776725502342, SyncStart=4776725999790, IssueDrawCommandsStart=4776726443175, SwapBuffers=4776780983748, FrameCompleted=4776786009998, DequeueBufferDuration=433281, QueueBufferDuration=466094, GpuCompleted=5804287567589865674, 
01-24 13:06:49.938   893   893 V AnimationHandler: disable animators for android.view.ViewRootImpl@e2b8430
01-24 13:06:49.939   893   893 V AnimationHandler: animatorRequesters 0 = android.view.ViewRootImpl@43b2e38
01-24 13:06:49.939   893   893 V AnimationHandler: animatorRequesters 1 = android.view.ViewRootImpl@6870d95
01-24 13:06:49.939   893   893 V AnimationHandler: animatorRequesters 2 = android.view.ViewRootImpl@6eb7b8d
01-24 13:06:49.939   893   893 V AnimationHandler: animatorRequesters 3 = android.view.ViewRootImpl@eb3dab2
01-24 13:06:50.058   739   739 D NotificationService: 0|io.homeassistant.companion.android|42|null|10069: granting content://settings/system/notification_sound
01-24 13:06:50.060   739   739 I chatty  : uid=1000(system) Binder:739_3 identical 2 lines
01-24 13:06:50.060   739   739 D NotificationService: 0|io.homeassistant.companion.android|42|null|10069: granting content://settings/system/notification_sound
01-24 13:06:50.062   739   739 W NotificationHistory: Attempted to add notif for locked/gone/disabled user 0
01-24 13:06:50.064  9416  9476 D WebSocketRepository: Websocket: onMessage (text)
01-24 13:06:50.068  1779  1779 D WCS     : [NotifCollectorService]NotificationService onNotificationPosted StatusBarNotification(pkg=io.homeassistant.companion.android user=UserHandle{0} id=42 tag=null key=0|io.homeassistant.companion.android|42|null|10069: Notification(channel=Sensor Worker shortcut=null contentView=null vibrate=null sound=null defaults=0x0 flags=0x62 color=0x00000000 vis=PRIVATE))
01-24 13:06:50.068  9416  9476 D WebSocketRepository: Message number 3 received
01-24 13:06:50.069  1779  1866 D WCS     : [CollectorHandler]handleMessage, event: ON_NOTIFICATION_POSTED_WITH_RANKING
01-24 13:06:50.070  1779  1866 D WCS     : [StreamManagerCollectorListener]onNotificationPosted: StatusBarNotification(pkg=io.homeassistant.companion.android user=UserHandle{0} id=42 tag=null key=0|io.homeassistant.companion.android|42|null|10069: Notification(channel=Sensor Worker shortcut=null contentView=null vibrate=null sound=null defaults=0x0 flags=0x62 color=0x00000000 vis=PRIVATE))
01-24 13:06:50.071  9416  9416 D WebSocketRepository: Sending message 5: {type=subscribe_events, event_type=device_registry_updated, id=5}
01-24 13:06:50.072  9416  9416 D WebSocketRepository: Message number 5 sent
01-24 13:06:50.081  1779  1779 D WCS     : [NotifCollectorService]NotificationService onNotificationPosted StatusBarNotification(pkg=io.homeassistant.companion.android user=UserHandle{0} id=42 tag=null key=0|io.homeassistant.companion.android|42|null|10069: Notification(channel=Sensor Worker shortcut=null contentView=null vibrate=null sound=null defaults=0x0 flags=0x62 color=0x00000000 vis=PRIVATE))
01-24 13:06:50.084  1779  1866 D WCS     : [StreamManagerCollectorListener]Posting local notification: AutoValue_StreamItemData{hidden=NOT_HIDDEN, isFullSync=false, localPackageName=io.homeassistant.companion.android, tag=null, local=true, lastDiffedTime=1706094410070, lastPostedAsInterruptiveTime=0, getLastOngoingTime=1706094410083, priority=-1, flags=98, group=null, group=null, userId=0, groupAlertBehavior=0, summaryText[present]=false, title[present]=true, ticker[present]=true, bitTitle[present]=false, subText[present]=false, contentText[present]=true, bigText[present]=false, hasBigPicture=false, hasLargeIcon=false, hasAppIcon=true, supplementalBitmapKeysSize=0, contentActionIndex=-1, doesContentIntentLaunchActivity=false, startScrollBottom=false, textLinesSize=0, wearableActionsCount=0, actionsCount=0, bridgedContentIntent[present]=false, bridgedContentIntentId[present]=false, displayName[present]=false, conversationTitle[present]=false, messagesSize=0, localOnly=false, shouldVibrate=false, vibrationPattern=null, hasSound=false, isAutoCancel=false, isOngoing=true, fullScreenIntent=null, remoteStreamItemId=null, isMediaStyle=false, getChannel=CwChannel{id=CwChannelId{id=Sensor Worker, package=io.homeassistant.companion.android, bridged=false}, defaultChannel=false, name=SensorWorker, importance=2, canBypassDnd=false, hasSound=true, sound=content://settings/system/notification_sound, shouldShowLights=false, lightColor=0, shouldVibrate=false, vibrationPattern=null, lockscreenVisibility=-1000, canShowBadge=true, group=null, deleted=false}, isNotClearable=true, isDismissable=true, color=0, creationTimeMs=23180532, isMediaNotification=false, onlyAlertOnce=false, originalPostTime=1706094409847, postTime=1706094409847, originalPackageName=io.homeassistant.companion.android, groupKey=null, hasGroupSummary=false, sortKey=, peopleSize=0, category=null, remoteNodeId=null, isOngoingActivityStyle=false, isEmergency=false, appName=Home Assistant, filteringData=FilteringData{originalPackageName=io.homeassistant.companion.android, isMediaStyle=false, tag=null, channelId=Sensor Worker, isEmptyNotification=false, isClockworkForegroundService=false, isFrameworksForegroundNotification=false, isLegacyGmailUndoNotification=false, hasInvalidWearableExtender=false, isFromAppHandlingMissedCallNotification=false, isFromDefaultSmsApp=false, isEmptySettingsNotification=false, dismissalId=null, groupKey=null, isOngoingActivityStyle=false}, filterReason=NOT_FILTERED, isGroupConversation=false, bridgeTag=null, isAncs=false, isFromMcu=false, hasPresented=false, isWorkProfile=false, getStreamIdHashCode=-1670362056, getDismissalId=null}
01-24 13:06:50.084  1779  1866 D WCS     : [CollectorHandler]handleMessage, event: ON_NOTIFICATION_POSTED_WITH_RANKING
01-24 13:06:50.084  1779  7899 D WCS     : [StreamDBQueue]Promised revision #9156 to queue a new op
01-24 13:06:50.084  1779  1866 D WCS     : [StreamManagerCollectorListener]onNotificationPosted: StatusBarNotification(pkg=io.homeassistant.companion.android user=UserHandle{0} id=42 tag=null key=0|io.homeassistant.companion.android|42|null|10069: Notification(channel=Sensor Worker shortcut=null contentView=null vibrate=null sound=null defaults=0x0 flags=0x62 color=0x00000000 vis=PRIVATE))
01-24 13:06:50.084  1779  7899 D WCS     : [WatchStreamManager]Promised set @ r#9156 for (io.homeassistant.companion.android,tag=null,id=42)
01-24 13:06:50.085  1779  9174 D WCS     : [AlertingPipeline]Not alerting: Device is off-body
01-24 13:06:50.085  1779  9174 D WCS     : [AlertingPipeline]Not alerting: Device is off-body
01-24 13:06:50.085  1779  9174 D WCS     : [WatchStreamDB]Record decision: StreamAlertDecision{streamItemId=StreamItemIdAndRevision{notifKey=0|io.homeassistant.companion.android|42|null|10069, packageName=io.homeassistant.companion.android, id=42, revision=9156, originalRevision=9156, updateCount=0}, muted=true, hasSound=true, shouldVibrate=false, vibrationPattern=null}
01-24 13:06:50.086  1779  9174 D WCS     : [MigrationStreamManager]notifyChange: StreamChangeEvent[modified=1, removed=0, modifiedTop=1, removedTop=0, reorder=true, possibleAlertingItem=none, alertingDecision=muted]
01-24 13:06:50.087  1779  9174 D WCS     : [WcsStreamListener]Notifying WCS client notification updates, modified items = 1
01-24 13:06:50.093  1779  9174 D WCS     : [WcsStreamDatabaseListener]Notifying SysUI notification listener
01-24 13:06:50.094  1779  9174 D WCS     : [NewStreamAdapter]Publishing revision #9156 to adapter clients
01-24 13:06:50.094  1779  1866 D WCS     : [StreamManagerCollectorListener]Posting local notification: AutoValue_StreamItemData{hidden=NOT_HIDDEN, isFullSync=false, localPackageName=io.homeassistant.companion.android, tag=null, local=true, lastDiffedTime=1706094410084, lastPostedAsInterruptiveTime=0, getLastOngoingTime=1706094410093, priority=-1, flags=98, group=null, group=null, userId=0, groupAlertBehavior=0, summaryText[present]=false, title[present]=true, ticker[present]=true, bitTitle[present]=false, subText[present]=false, contentText[present]=true, bigText[present]=false, hasBigPicture=false, hasLargeIcon=false, hasAppIcon=true, supplementalBitmapKeysSize=0, contentActionIndex=-1, doesContentIntentLaunchActivity=false, startScrollBottom=false, textLinesSize=0, wearableActionsCount=0, actionsCount=0, bridgedContentIntent[present]=false, bridgedContentIntentId[present]=false, displayName[present]=false, conversationTitle[present]=false, messagesSize=0, localOnly=false, shouldVibrate=false, vibrationPattern=null, hasSound=false, isAutoCancel=false, isOngoing=true, fullScreenIntent=null, remoteStreamItemId=null, isMediaStyle=false, getChannel=CwChannel{id=CwChannelId{id=Sensor Worker, package=io.homeassistant.companion.android, bridged=false}, defaultChannel=false, name=SensorWorker, importance=2, canBypassDnd=false, hasSound=true, sound=content://settings/system/notification_sound, shouldShowLights=false, lightColor=0, shouldVibrate=false, vibrationPattern=null, lockscreenVisibility=-1000, canShowBadge=true, group=null, deleted=false}, isNotClearable=true, isDismissable=true, color=0, creationTimeMs=23180543, isMediaNotification=false, onlyAlertOnce=false, originalPostTime=1706094409849, postTime=1706094409849, originalPackageName=io.homeassistant.companion.android, groupKey=null, hasGroupSummary=false, sortKey=, peopleSize=0, category=null, remoteNodeId=null, isOngoingActivityStyle=false, isEmergency=false, appName=Home Assistant, filteringData=FilteringData{originalPackageName=io.homeassistant.companion.android, isMediaStyle=false, tag=null, channelId=Sensor Worker, isEmptyNotification=false, isClockworkForegroundService=false, isFrameworksForegroundNotification=false, isLegacyGmailUndoNotification=false, hasInvalidWearableExtender=false, isFromAppHandlingMissedCallNotification=false, isFromDefaultSmsApp=false, isEmptySettingsNotification=false, dismissalId=null, groupKey=null, isOngoingActivityStyle=false}, filterReason=NOT_FILTERED, isGroupConversation=false, bridgeTag=null, isAncs=false, isFromMcu=false, hasPresented=false, isWorkProfile=false, getStreamIdHashCode=-1670362056, getDismissalId=null}
01-24 13:06:50.109  1779  7899 D WCS     : [StreamDBQueue]Promised revision #9157 to queue a new op
01-24 13:06:50.109  1779  7899 D WCS     : [WatchStreamManager]Promised set @ r#9157 for (io.homeassistant.companion.android,tag=null,id=42)
01-24 13:06:50.125  1779  9174 D WCS     : [AlertingPipeline]Not alerting: Device is off-body
01-24 13:06:50.125  1779  9174 D WCS     : [AlertingPipeline]Not alerting: Device is off-body
01-24 13:06:50.126  1779  9174 D WCS     : [WatchStreamDB]Record decision: StreamAlertDecision{streamItemId=StreamItemIdAndRevision{notifKey=0|io.homeassistant.companion.android|42|null|10069, packageName=io.homeassistant.companion.android, id=42, revision=9157, originalRevision=9156, updateCount=1}, muted=true, hasSound=true, shouldVibrate=false, vibrationPattern=null}
01-24 13:06:50.127  1779  9174 D WCS     : [MigrationStreamManager]notifyChange: StreamChangeEvent[modified=1, removed=0, modifiedTop=1, removedTop=0, reorder=true, possibleAlertingItem=none, alertingDecision=muted]
01-24 13:06:50.127  1779  9174 D WCS     : [WcsStreamListener]Notifying WCS client notification updates, modified items = 1
01-24 13:06:50.136  1779  9174 D WCS     : [WcsStreamDatabaseListener]Notifying SysUI notification listener
01-24 13:06:50.137  1779  9174 D WCS     : [NewStreamAdapter]Publishing revision #9157 to adapter clients
01-24 13:06:50.192  9416  9476 D WebSocketRepository: Websocket: onMessage (text)
01-24 13:06:50.198  9416  9476 D WebSocketRepository: Message number 4 received
01-24 13:06:50.317  9416  9476 D WebSocketRepository: Websocket: onMessage (text)
01-24 13:06:50.319  9416  9476 D WebSocketRepository: Message number 5 received
01-24 13:06:50.329  9416  9416 D WebSocketRepository: Sending message 6: {type=subscribe_events, event_type=area_registry_updated, id=6}
01-24 13:06:50.331  9416  9416 D WebSocketRepository: Message number 6 sent
01-24 13:06:50.450  9416  9469 I SensorReceiver: Sensor updates and sync completed
01-24 13:06:50.506  9416  9464 I SensorReceiver: Sensor updates and sync completed
01-24 13:06:50.513  9416  9452 I WM-WorkerWrapper: Worker result SUCCESS for Work [ id=95db1527-22d5-4092-8d73-dd4a3e7cfe93, tags={ io.homeassistant.companion.android.sensors.SensorWorker } ]
01-24 13:06:50.540  9416  9416 I WM-SystemFgDispatcher: Stopping foreground service
01-24 13:06:50.555  1779  1779 D WCS     : [NotifCollectorService]NotificationService onNotificationRemoved StatusBarNotification(pkg=io.homeassistant.companion.android user=UserHandle{0} id=42 tag=null key=0|io.homeassistant.companion.android|42|null|10069: Notification(channel=Sensor Worker shortcut=null contentView=null vibrate=null sound=null defaults=0x0 flags=0x62 color=0x00000000 vis=PRIVATE))
01-24 13:06:50.555  1779  1866 D WCS     : [CollectorHandler]handleMessage, event: ON_NOTIFICATION_REMOVED
01-24 13:06:50.556  1779  1866 D WCS     : [StreamManagerCollectorListener]onNotificationRemoved: StreamItemIdAndRevision{notifKey=0|io.homeassistant.companion.android|42|null|10069, packageName=io.homeassistant.companion.android, id=42, revision=0, originalRevision=0, updateCount=0}
01-24 13:06:50.556  1779  9174 D WCS     : [StreamDBQueue]Promised revision #9158 to queue a new op
01-24 13:06:50.556  1779  9174 D WCS     : [WatchStreamManager]Promised remove @ r#9158 for StreamItemIdAndRevision{notifKey=0|io.homeassistant.companion.android|42|null|10069, packageName=io.homeassistant.companion.android, id=42, revision=0, originalRevision=0, updateCount=0} (@9157): SBN removed: StreamItemIdAndRevision{notifKey=0|io.homeassistant.companion.android|42|null|10069, packageName=io.homeassistant.companion.android, id=42, revision=0, originalRevision=0, updateCount=0}
01-24 13:06:50.561  1779  8592 D WCS     : [StreamDatabase]remove. itemId: StreamItemIdAndRevision{notifKey=0|io.homeassistant.companion.android|42|null|10069, packageName=io.homeassistant.companion.android, id=42, revision=9157, originalRevision=9156, updateCount=1}
01-24 13:06:50.566  1779  8592 D WCS     : [MigrationStreamManager]notifyChange: StreamChangeEvent[modified=0, removed=1, modifiedTop=0, removedTop=1, reorder=false, possibleAlertingItem=none, alertingDecision=null]
01-24 13:06:50.566  1779  8592 D WCS     : [WcsStreamListener]Notifying WCS client notification updates, modified items = 0
01-24 13:06:50.576  9416  9476 D WebSocketRepository: Websocket: onMessage (text)
01-24 13:06:50.577  1779  8592 D WCS     : [WcsStreamDatabaseListener]Notifying SysUI notification listener
01-24 13:06:50.577  1779  8592 D WCS     : [NewStreamAdapter]Publishing revision #9158 to adapter clients
01-24 13:06:50.580  9416  9476 D WebSocketRepository: Message number 6 received
01-24 13:06:50.585  9416  9416 D WebSocketRepository: Sending message 7: {type=subscribe_events, event_type=entity_registry_updated, id=7}
01-24 13:06:50.586  9416  9416 D WebSocketRepository: Message number 7 sent
01-24 13:06:50.633   739   824 D ConnectivityService: releasing NetworkRequest [ TRACK_DEFAULT id=85, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10069 AdministratorUids: [] RequestorUid: 10069 RequestorPackageName: io.homeassistant.companion.android] ] (release request)
01-24 13:06:50.697  1779  1798 I id.wearable.ap: Background concurrent copying GC freed 63722(3661KB) AllocSpace objects, 14(280KB) LOS objects, 49% free, 3984KB/7968KB, paused 126us total 140.651ms
01-24 13:06:50.835  9416  9476 D WebSocketRepository: Websocket: onMessage (text)
01-24 13:06:50.842  9416  9476 D WebSocketRepository: Message number 7 received
01-24 13:06:51.427  9416  9507 D ProfileInstaller: Skipping profile installation for io.homeassistant.companion.android
01-24 13:06:51.717  9416  9428 I mpanion.androi: Background young concurrent copying GC freed 401773(13MB) AllocSpace objects, 1(1504KB) LOS objects, 41% free, 20MB/35MB, paused 267us total 243.708ms
01-24 13:06:52.920  9416  9428 I mpanion.androi: Background young concurrent copying GC freed 81902(2184KB) AllocSpace objects, 0(0B) LOS objects, 0% free, 88MB/88MB, paused 129us total 266.075ms
01-24 13:06:53.014   739  1690 E TaskPersister: File error accessing recents directory (directory doesn't exist?).
01-24 13:06:53.172  9416  9474 I mpanion.androi: Waiting for a blocking GC Alloc
01-24 13:06:53.204  9416  9428 I mpanion.androi: Background concurrent copying GC freed 114134(21MB) AllocSpace objects, 15(4008KB) LOS objects, 27% free, 63MB/87MB, paused 170us total 281.568ms
01-24 13:06:53.205  9416  9474 I mpanion.androi: WaitForGcToComplete blocked Alloc on Background for 32.683ms
01-24 13:06:53.205  9416  9474 I mpanion.androi: Starting a blocking GC Alloc
01-24 13:06:53.205  9416  9474 I mpanion.androi: Forcing collection of SoftReferences for 35MB allocation
01-24 13:06:53.205  9416  9474 I mpanion.androi: Starting a blocking GC Alloc
01-24 13:06:53.407  9416  9474 I mpanion.androi: Alloc concurrent copying GC freed 9986(537KB) AllocSpace objects, 0(0B) LOS objects, 27% free, 62MB/86MB, paused 148us total 202.529ms
01-24 13:06:53.408  9416  9474 W mpanion.androi: Throwing OutOfMemoryError "Failed to allocate a 37439694 byte allocation with 25165824 free bytes and 33MB until OOM, target footprint 90963400, growth limit 100663296" (VmSize 1207684 kB)
01-24 13:06:53.408  9416  9474 I mpanion.androi: Starting a blocking GC Alloc
01-24 13:06:53.408  9416  9474 I mpanion.androi: Starting a blocking GC Alloc
01-24 13:06:53.487  9416  9474 I mpanion.androi: Alloc young concurrent copying GC freed 778(62KB) AllocSpace objects, 0(0B) LOS objects, 27% free, 62MB/86MB, paused 131us total 78.765ms
01-24 13:06:53.487  9416  9474 I mpanion.androi: Forcing collection of SoftReferences for 35MB allocation
01-24 13:06:53.487  9416  9474 I mpanion.androi: Starting a blocking GC Alloc
01-24 13:06:53.678  9416  9474 I mpanion.androi: Alloc concurrent copying GC freed 302(33KB) AllocSpace objects, 0(0B) LOS objects, 27% free, 62MB/86MB, paused 131us total 190.759ms
01-24 13:06:53.678  9416  9428 I mpanion.androi: WaitForGcToComplete blocked HeapTrim on Alloc for 261.227ms
01-24 13:06:53.679  9416  9474 W mpanion.androi: Throwing OutOfMemoryError "Failed to allocate a 37439696 byte allocation with 25165824 free bytes and 33MB until OOM, target footprint 90962920, growth limit 100663296" (VmSize 1207620 kB)
01-24 13:06:53.681  9416  9474 E AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher
01-24 13:06:53.681  9416  9474 E AndroidRuntime: Process: io.homeassistant.companion.android, PID: 9416
01-24 13:06:53.681  9416  9474 E AndroidRuntime: java.lang.OutOfMemoryError: Failed to allocate a 37439696 byte allocation with 25165824 free bytes and 33MB until OOM, target footprint 90962920, growth limit 100663296
01-24 13:06:53.681  9416  9474 E AndroidRuntime:        at java.lang.StringFactory.newStringFromBytes(StringFactory.java:225)
01-24 13:06:53.681  9416  9474 E AndroidRuntime:        at java.lang.StringFactory.newStringFromBytes(StringFactory.java:249)
01-24 13:06:53.681  9416  9474 E AndroidRuntime:        at okio.Buffer.readString(Buffer.kt:313)
01-24 13:06:53.681  9416  9474 E AndroidRuntime:        at okio.Buffer.readUtf8(Buffer.kt:297)
01-24 13:06:53.681  9416  9474 E AndroidRuntime:        at okhttp3.internal.ws.WebSocketReader.readMessageFrame(WebSocketReader.kt:245)
01-24 13:06:53.681  9416  9474 E AndroidRuntime:        at okhttp3.internal.ws.WebSocketReader.processNextFrame(WebSocketReader.kt:106)
01-24 13:06:53.681  9416  9474 E AndroidRuntime:        at okhttp3.internal.ws.RealWebSocket.loopReader(RealWebSocket.kt:293)
01-24 13:06:53.681  9416  9474 E AndroidRuntime:        at okhttp3.internal.ws.RealWebSocket$connect$1.onResponse(RealWebSocket.kt:195)
01-24 13:06:53.681  9416  9474 E AndroidRuntime:        at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519)
01-24 13:06:53.681  9416  9474 E AndroidRuntime:        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
01-24 13:06:53.681  9416  9474 E AndroidRuntime:        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
01-24 13:06:53.681  9416  9474 E AndroidRuntime:        at java.lang.Thread.run(Thread.java:923)
01-24 13:06:53.686   739  9511 I DropBoxManagerService: add tag=data_app_crash isTagEnabled=true flags=0x2
01-24 13:06:53.688   739  4331 W ActivityTaskManager:   Force finishing activity io.homeassistant.companion.android/.home.HomeActivity
01-24 13:06:53.710  9416  9467 D WebSocketRepository: Unsubscribing from subscribe_trigger with data {trigger={platform=state, entity_id=[]}}
01-24 13:06:53.710  9416  9467 D WebSocketRepository: Sending message 8: {type=unsubscribe_events, subscription=3, id=8}
01-24 13:06:53.711  9416  9467 D WebSocketRepository: Message number 8 sent
01-24 13:06:53.714   739   763 W BroadcastQueue: Background execution not allowed: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to com.google.android.gms/.chimera.GmsIntentOperationService$PersistentTrustedReceiver
01-24 13:06:53.714   739   763 W BroadcastQueue: Background execution not allowed: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to com.google.android.gms/.stats.service.DropBoxEntryAddedReceiver
01-24 13:06:53.715  9416  9474 I Process : Sending signal. PID: 9416 SIG: 9
01-24 13:06:53.829   739  4331 I WindowManager: WIN DEATH: Window{9dea7a8 u0 io.homeassistant.companion.android/io.homeassistant.companion.android.home.HomeActivity}
01-24 13:06:53.829   739  3432 I ActivityManager: Process io.homeassistant.companion.android (pid 9416) has died: fg  TOP 
01-24 13:06:53.829   739  4331 W InputDispatcher: Attempted to unregister already unregistered input channel '9dea7a8 io.homeassistant.companion.android/io.homeassistant.companion.android.home.HomeActivity (server)'
01-24 13:06:53.832   487   487 D nanohub : queueActivate: sensor=16, handle=100, enable=0
01-24 13:06:53.833   432   432 I Zygote  : Process 9416 exited due to signal 9 (Killed)
01-24 13:06:53.857   893   893 V AnimationHandler: enable
01-24 13:06:53.858   893   893 V AnimationHandler: animatorRequesters 0 = android.view.ViewRootImpl@43b2e38
01-24 13:06:53.858   893   893 V AnimationHandler: animatorRequesters 1 = android.view.ViewRootImpl@6870d95
01-24 13:06:53.858   893   893 V AnimationHandler: animatorRequesters 2 = android.view.ViewRootImpl@6eb7b8d
01-24 13:06:53.858   893   893 V AnimationHandler: animatorRequesters 3 = android.view.ViewRootImpl@e2b8430
01-24 13:06:53.858   893   893 V AnimationHandler: animatorRequesters 4 = android.view.ViewRootImpl@eb3dab2
01-24 13:06:53.869   739   765 I libprocessgroup: Successfully killed process cgroup uid 10069 pid 9416 in 39ms
01-24 13:06:53.901   739   757 W ActivityManager: setHasOverlayUi called on unknown pid: 9416
01-24 13:06:53.907  2705  2705 I WearGboardApp: WearGboardApp.onTrimMemory():402 onTrimMemory(): 15

Screenshot or video of problem:

Additional information:

It may be important to note that my HA configuration has quite a lot of entities registered in the system, so a request for the entire list could get a large response that might lead to the memory allocation failure in the OKHTTP. However, there was not such issue on the previous version of Wear OS. The issue appeared after the fresh installation after my watch has been upgraded to Wear OS 3.5.

About this issue

  • Original URL
  • State: open
  • Created 5 months ago
  • Comments: 16 (8 by maintainers)

Most upvoted comments

its interesting that this was not an issue on Wear OS 2 and only an issue when you updated the OS on the watch.

IMHO it’s not that surprising since new software = more software = less free RAM 😄

do you have a Bluetooth tracker set up at home?

Oh yeah! It was set up and it was the source of the excessive device_tracker states. Thanks for the pointer!

So now I have removed the BLE tracker, cleaned the excessive entities and the companion app is back working like a charm.

Thank you, guys, for the invaluable help.

I still think that the HA REST API should provide for pagination or filtering for specific entity types. Regardless of the runaway BLE tracker, I can imagine a setup with quite some number of meaningful entities and it is barely acceptable for the owners of such setup that the companion apps might just crash on them. If I have the time to get into this, I could introduce a PR either to the HA core to enhance the REST API or to the companion app to use streaming for response parsing and filtering.

I have only two favorite switches enabled. No templates. It continues to crash. The crash contains the same allocation error in OKHTTP.

Btw, seems like most of the states are coming from device_tracker domain: {{ states.device_tracker | count }} = 58344

Probably there’s a way to filter them out completely.

@shprota do you have a Bluetooth tracker set up at home? 🤔

why do you have taht many device trackers?

Honestly, no idea. I will make a stab at cleaning those out of course. I actually was very surprised finding this out just now.

{{ states | count }} returns 59090