#117403·zephyr

ICBMSG as IPC Backend as Logging backend fails to bind

Author: kjdtkdCreated Aug 26, 2026Updated Sep 18, 2026
Labelspriority: mediumarea: IPC

Describe the bug

Tested on an STM32H747XI using ICBMSG for ipc backend/logging backend from the m4 core to the m7 core. Issue experienced on current main branch. Functionality works as expected with no changes to code on current V4.4-branch.

Likely related to the major ICBMSG overhaul recently introduced.

Regression

  • This is a regression.

Steps to reproduce

Using an STM32H747 board.

m4 core: CONFIG_LOG=y CONFIG_LOG_BACKEND_UART=n CONFIG_UART_CONSOLE=n CONFIG_LOG_BACKEND_IPC_SERVICE=y CONFIG_IPC_SERVICE_BACKEND_ICBMSG=y CONFIG_STM32_ENABLE_DEBUG_SLEEP_STOP=y CONFIG_MBOX=y CONFIG_IPC_SERVICE=y

m7 core: CONFIG_MBOX=y CONFIG_IPC_SERVICE=y CONFIG_LOG_MULTIDOMAIN=y CONFIG_LOG_LINK_IPC_SERVICE=y CONFIG_IPC_SERVICE_BACKEND_ICBMSG=y CONFIG_IPC_SERVICE_LOG_LEVEL_DBG=y CONFIG_IPC_SERVICE_BACKEND_ICBMSG_LOG_LEVEL_DBG=y

Relevant log output

From M7 core:

bash
[00:00:04.000,000] <dbg> ipc_icbmsg.open: Shm_q TX prod: 0x38000000, cons: 0x38000018
[00:00:04.000,000] <dbg> ipc_icbmsg.open: Shm_q RX prod: 0x38008000, cons: 0x38008018
[00:00:04.000,000] <dbg> ipc_icbmsg.open:   TX 16 blocks of 2044 bytes at 0x38000040, max allocable 32700 bytes
[00:00:04.000,000] <dbg> ipc_icbmsg.open:   RX 16 blocks of 2044 bytes at 0x38008040, max allocable 32700 bytes
[00:00:04.000,000] <dbg> ipc_icbmsg.send_packet: send packet: 0x38000040 [idx:0, ept:255 prio:1 size:16(16)]
[00:00:04.000,000] <dbg> ipc_icbmsg.msg_q_produce: addr:0x38000008 Produce index: 0, block_index: 128, active_count: 0
[00:00:04.000,000] <dbg> ipc_service.ipc_service_register_endpoint: Register endpoint logging
[00:00:04.000,000] <dbg> ipc_icbmsg.register_ept: Register EP (pending), local:0
[00:00:04.000,000] <dbg> ipc_icbmsg.send_packet: send packet: 0x3800083c [idx:1, ept:255 prio:1 size:6(6)]
[00:00:04.000,000] <dbg> ipc_icbmsg.msg_q_produce: addr:0x38000009 Produce index: 1, block_index: 129, active_count: 1

No further ipc_icbmsg logs received. Reference logs received on v4.4-branch

[00:00:04.000,000] <dbg> ipc_icbmsg: open:   RX 16 blocks of 2028 bytes at 0x38008140, max allocable 32444 bytes
[00:00:04.000,000] <dbg> ipc_service: ipc_service_register_endpoint: Register endpoint logging
[00:00:05.000,000] <inf> m4_core: Test

Impact

Functional Limitation – Some features not working as expected, but system usable.

Environment

OS Linux Zephyr SDK 1.0.1

Additional Context

This also introduces some odd behavior with the log system, which constantly reports: " log: 1 unordered messages since last report" After every batch of logs. the number of unordered messages is always 1, irrespective of how many logs are pushed in that batch.

Source: zephyrproject-rtos/zephyr