| 1 |
PAL refactor breaks existing host or Zephyr build |
Medium |
High |
Purely mechanical move of code into *_impl.h files; verified with existing test suites before any new backend work |
Host CI: 11/11 tests pass; Zephyr CMakeLists.txt updated with new source paths |
| 2 |
Include-path resolution picks wrong *_impl.h |
Low |
High |
Each backend directory contains only its subset of impl files; no name overlap between split directories (freertos/ vs lwip/) |
Build each configuration; verify include resolution with -H flag |
| 3 |
lwIP macro remapping pollutes downstream translation units |
Medium |
Medium |
Macros scoped inside #if !LWIP_COMPAT_SOCKETS; when compat sockets enabled (recommended), no macros defined; fallback to inline wrapper functions if conflicts arise |
Build with lwIP stubs + strict warnings |
| 4 |
Thread destructor abort leaves resources in use |
Low |
High |
Defined cleanup order: (1) abort or wait, (2) delete task handle, (3) delete trampoline context, (4) delete join semaphore; invariant: no use of handles after deletion |
Test under address sanitizer on host; dedicated destructor-while-running test |
| 5 |
Pool exhaustion causes silent failure |
Medium |
Medium |
allocate_message() returns nullptr; transport code must check return value; log on allocation failure in transport receive loops |
Pool exhaustion test: allocate until nullptr, release one, re-allocate succeeds; review all allocate_message() call sites |
| 6 |
FreeRTOS config mismatch (missing counting semaphores, etc.) |
Medium |
Medium |
Document required config in docs/FREERTOS_PORT.md; compile-time configASSERT on handle creation; CI build with minimal stub config |
CI compile-check with stubs; integrator checklist in documentation |
| 7 |
ThreadX config mismatch (missing TX_BLOCK_POOL support, timer tick rate) |
Medium |
Medium |
Document required ThreadX APIs and settings in docs/THREADX_PORT.md; lazy pool init returns TX_POOL_ERROR on misconfiguration |
CI compile-check with stubs; integrator checklist in documentation |
| 8 |
ThreadX linux port behavior differs from bare-metal ThreadX |
Low |
Medium |
The linux port is the official Eclipse ThreadX port; API surface and scheduling semantics are identical; timing-sensitive tests use relative assertions with tolerance |
ThreadX linux port CI: 31/31 runtime tests pass; compare results with hardware when available |
| 9 |
ThreadX thread stack overflow (static UCHAR stack_[] member) |
Medium |
High |
Default SOMEIP_THREADX_THREAD_STACK_SIZE set to 4096 bytes; documented as configurable; ThreadX provides TX_ENABLE_STACK_CHECKING for debug builds |
Runtime tests exercise nested function calls; integrators can enable TX_ENABLE_STACK_CHECKING |