Skip to content

Four buttons, one incident type each - #8

Open
thomas-roos wants to merge 2 commits into
mainfrom
four-button-incidents
Open

thomas-roos wants to merge 2 commits into
mainfrom
four-button-incidents

Conversation

@thomas-roos

Copy link
Copy Markdown
Contributor

platform.exein.io now accepts heap_drop, stack_low and log findings, so each DK button triggers one Zephyr incident type.

Button Trigger Incident on runtime.exein.io
1 5 identical LOG_ERR Log Event (one incident)
2 24 × 512 B heap burst (unchanged) Heap Exhaustion
3 thread stack_hog at ~85% of its 1 KB stack for 20 s Free Stack Below Critical Threshold
4 160 × 32 B leak over 16 s, freed afterwards Memory Leak
  • app/prj.conf: POLICY_P2, POLICY_STACK_LOW, POLICY_LOG on; THREAD_STACK_WARN_PCT=80, MEM_LEAK_WINDOW_EVENTS=16
  • runtime-zephyr/: blob rebuilt against NCS v3.1.0 from upstream ec8d57d + the issue Upstream: net_mgmt L4 handler uses 64-bit event type, breaks on NCS v3.1 (blob built with the fix) #3 network.c fix (as before), protobuf 56d7242; sha256 updated in module.yml. The first commit's title says "blob rebuild pending": the second commit is that rebuild.
  • README: per-button table with expected logs and incidents

Same change as exein-io/dots-zephyr-runtime#1 (there against NCS v3.3.1).

Testing: scripts/build.sh builds, links the new blob, nuSIM region check passes. Not yet run on a board. Before merging (a v* tag publishes to the web flasher), check:

  • each button produces its incident
  • the idle board raises no Log Event (the LOG policy reports every LOG_ERR, including modem/LTE errors) and no stack incident (80% applies to all threads)

🤖 Generated with Claude Code

thomas-roos and others added 2 commits October 23, 2026 13:31
platform.exein.io now accepts heap_drop, stack_low and log findings, so the
workshop triggers all four Zephyr incident types:
- Button 1: 5 identical LOG_ERR -> Log Event (one incident)
- Button 2: heap burst -> Heap Exhaustion (unchanged)
- Button 3: thread "stack_hog" at ~85% of its stack for 20 s
  -> Free Stack Below Critical Threshold
- Button 4: 160 x 32 B leak over 16 s, freed afterwards -> Memory Leak

prj.conf enables POLICY_P2/STACK_LOW/LOG, THREAD_STACK_WARN_PCT=80 and
MEM_LEAK_WINDOW_EVENTS=16.

Not complete: those options are compiled into the runtime-zephyr blob,
which still has HEAP_LOW only. It must be rebuilt against NCS v3.1
before Buttons 1, 3 and 4 produce incidents.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Rebuilt against NCS v3.1.0 from upstream ec8d57d plus the issue #3
network.c fix (version ec8d57d-dirty, as before), protobuf 56d7242,
with the app/prj.conf monitor block of the previous commit. Only the
blob and its sha256 in module.yml change.

Built with scripts/build.sh (nuSIM check passed), not yet tested on a
board.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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 this pull request may close these issues.

1 participant