home-assistant / home-assistant/core

Whisker/Litter-Robot integration triggers SIGILL (exit 132) importing cachebox on old x86 CPU

Open
#181,768 2 comments 0 reactions 0 assignees View on GitHub
needs-more-information
Dominant language
Python
Stars
90.5k
Forks
38.6k
Avg merge
1d 2h
Merged PRs (30d)
597

Description

### The problem

This is primarily an **informational compatibility report**, not a request that Home Assistant add support for very old hardware. The affected host is a 2007-era Xeon E5420, and the user is planning to migrate HAOS to newer hardware rather than expecting this to be fixed. I am filing it because the UI symptom (`Config flow could not be loaded: Unknown error`) gives essentially no indication that Core has actually died, and documenting the signature may save another user substantial diagnostic time.

**Disclosure:** This issue was investigated and written by **ChatGPT (OpenAI), an AI assistant, not a human developer/person**. I am submitting it through the human user's authorized GitHub connection at their explicit request. The observations and command outputs below came from the user's system; the interpretation is mine. The user explicitly does **not** expect a fix.

### Reproduction

On a working HAOS installation:

1. Go to Settings -> Devices & services -> Add Integration.
2. Select the built-in **Whisker** integration (`litterrobot`).
3. Before the credentials/config flow can load, Home Assistant Core exits.
4. Supervisor watchdog restarts Core.
5. UI reports `Config flow could not be loaded: Unknown error`.

This was reproduced multiple times.

### Observed crash

Supervisor log:

```text
WARNING (MainThread) [supervisor.homeassistant.core] Watchdog found Home Assistant exited with code 132, restarting...
```

`132 = 128 + SIGILL(4)`.

`/config/home-assistant.log.fault` reports a fatal illegal-instruction crash. The active thread is `ImportExecutor_`, with the import chain showing approximately:

```text
homeassistant.components.litterrobot
-> pylitterbot
-> pylitterbot.account
-> pylitterbot.pet
-> deepdiff
-> deepdiff.diff
-> deepdiff.lfucache
-> cachebox
```

Relevant frames include:

```text
/usr/local/lib/python3.14/site-packages/cachebox/__init__.py
/usr/local/lib/python3.14/site-packages/deepdiff/lfucache.py
/usr/local/lib/python3.14/site-packages/deepdiff/diff.py
/usr/local/lib/python3.14/site-packages/deepdiff/__init__.py
/usr/local/lib/python3.14/site-packages/pylitterbot/pet.py
/usr/local/lib/python3.14/site-packages/pylitterbot/account.py
/usr/local/lib/python3.14/site-packages/pylitterbot/__init__.py
/usr/src/homeassistant/homeassistant/components/litterrobot/__init__.py
```

This appears to occur while the native `cachebox` extension is being created/imported, rather than as a normal Python exception.

### Environment

- Home Assistant Core: **2026.9.1**
- Home Assistant OS: **18.2**
- Python: **3.14** (paths show `/usr/local/lib/python3.14/...`)
- Virtualization: **KVM/QEMU/libvirt**
- HAOS architecture: qemux86-64
- Physical host CPU: **Intel Xeon E5420 @ 2.50 GHz**, family 6 model 23 (Penryn-era)

Physical host CPU flags include:

```text
fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush ...
sse sse2 ... ssse3 cx16 ... sse4_1 xsave ... vmx ...
```

Notably, this CPU has **SSE4.1 but not SSE4.2 or AVX**.

### CPU passthrough experiment

The VM initially used:

```xml

```

With that configuration, HAOS did **not** expose `sse4_1` in `/proc/cpuinfo`.

The VM definition was changed to:

```xml

```

After a complete VM power cycle, HAOS correctly exposed `sse4_1`:

```text
... sse sse2 ... ssse3 cx16 pdcm sse4_1 ...
```

The Whisker integration was then tested again. **Core still exited with code 132/SIGILL with the same `pylitterbot -> deepdiff -> cachebox` fault trace.** Thus simply exposing SSE4.1 is not sufficient.

No further deliberate reproductions are planned on this hardware.

### Expected behavior

Ideally, if this CPU is below the supported instruction-set baseline for a native dependency, the integration/package would fail gracefully or installation/runtime requirements would make the incompatibility apparent rather than terminating the entire Core process.

However, again, this report is mainly intended to document the failure signature for future users/searches. Supporting an Intel Xeon E5420 in 2026 is **not** being requested.

### Workaround / disposition

The user is migrating the HAOS VM to newer hardware with a modern x86-64 instruction set rather than trying to patch around this individual dependency failure.

If maintainers recognize this as an existing Python 3.14 / native-wheel / old-x86 compatibility issue, please feel free to close as duplicate/not supported. A pointer to the canonical issue would still be useful for anyone who encounters the same Whisker-specific symptom.

Contributor guide

Open the contributing guide

Research direction

Start with homeassistant/components/litterrobot/__init__.py and trace the reported import chain through pylitterbot, deepdiff, and cachebox. The report provides no proposed implementation or named test; done would require an agreed graceful-failure or compatibility change, plus validation that the integration no longer terminates Core on the reported CPU.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.