Address space error when running OPC UA on Zephyr
Description
I'm trying to run OPC UA on Zephyr MIMX1170_EVK board in Zephyr. When Running the demo cli_pubsub_server
application, the following error is happening:
*** Booting Zephyr OS build v4.1.0-16-g8ca5b2f20fdf ***
[00:00:00.060,000] <inf> net_config: Initializing network
[00:00:00.060,000] <inf> net_config: Waiting interface 1 (0x800033d4) to be up...
uart:~$ Build date : Apr 29 2025 07:43:11
Common library DATE='Apr 29 2025 05:38:16' VERSION='1.6.0*' SIGNATURE='9b5f9cb443e5a6fc64e25025cf7da9859d420b39' DOCKER='N.A.'
Client/Server toolkit library DATE='Apr 29 2025 05:38:16' VERSION='1.6.0*' SIGNATURE='9b5f9cb443e5a6fc64e25025cf7da9859d420b39' DOCKER='N.A.'
S2OPC initialization OK
Create endpoint 'opc.tcp://192.168.42.21:4841'
Setting up security...
Test_Server_Client: Certificates and key loaded
SourceTimestamp write on NodeId=i=2266 failed due to constant metadata in address space. It should be forbidden by AccessLevel.
Maximum length of queue 'Services' exceeded: 18 (>16)
Maximum length of queue 'Services' exceeded: 20 (>16)
Maximum length of queue 'Services' exceeded: 22 (>16)
Maximum length of queue 'Services' exceeded: 24 (>16)
Maximum length of queue 'Services' exceeded: 26 (>16)
Maximum length of queue 'Services' exceeded: 28 (>16)
Maximum length of queue 'Services' exceeded: 30 (>16)
Maximum length of queue 'Services' exceeded: 32 (>16)
Error while updating address space: Setting runtime variables of server build information nodes failed. Please check address space content includes necessary base information nodes.
- Writing runtime variable i=11709 failed with status 0x80340000
Endpoint number 0 closed with error status: 8
Server stopped!
Assertion failed. Context = WEST_TOPDIR/modules/lib/s2opc/samples/embedded/cli_pubsub_server/src/cli_pubsub_server.c:870 => SOPC_Atomic_Int_Get(&gStopped) == 0 && "Server failed to start."
Assertion failed. Context =
server.c:870 => SOPC_Atomic_Int_Get(&gStopped) == 0 && "Server failed to start."
assertion "false" failed: file "WEST_TOPDIR/modules/lib/s2opc/src/Common/helpers/sopc_assert.c", line 75, function: SOPC_Assert_Failure
[00:00:05.562,000] <inf> phy_mii: PHY (0) Link speed 100 Mb, full duplex
[00:00:05.562,000] <inf> eth_nxp_enet_mac: Link is up
[00:00:05.565,000] <inf> net_config: Interface 1 (0x800033d4) coming up
[00:00:05.565,000] <inf> net_config: IPv4 address: 192.0.2.10
Configure DUMMY with 127.0.0.1 , Mask = 255.255.255.0, GW= 127.0.0.1
Configure ETHERNET with 192.168.42.21 , Mask = 255.255.255.0, GW= 192.168.42.2
Using interface (ethernet)
Waiting for the network to be up
+--------------------------------------------------------------
| S2OPC sample CLI is integrated into ZEPHYR native SHELL |
| Call the ZEPHYR shell command 'sopc' to access demo control |
+--------------------------------------------------------------
abort()
[00:00:05.841,000] <err> os: r0/a1: 0x00000004 r1/a2: 0x00000000 r2/a3: 0x00000004
[00:00:05.841,000] <err> os: r3/a4: 0x00000004 r12/ip: 0x000016d1 r14/lr: 0x3000dacd
[00:00:05.841,000] <err> os: xpsr: 0x010f0000
[00:00:05.841,000] <err> os: Faulting instruction address (r15/pc): 0x3000dadc
[00:00:05.841,000] <err> os: >>> ZEPHYR FATAL ERROR 4: Kernel panic on CPU 0
[00:00:05.841,000] <err> os: Current thread: 0x80006238 (main)
[00:00:05.879,000] <err> os: Halting system
Here is Zephyr's build summary:
Memory region Used Size Region Size %age Used
FLASH: 928472 B 64 MB 1.38%
RAM: 587900 B 64 MB 0.88%
OCRAM: 0 GB 256 KB 0.00%
OCRAM1: 0 GB 512 KB 0.00%
OCRAM2: 0 GB 512 KB 0.00%
ITCM: 0 GB 256 KB 0.00%
DTCM: 13952 B 256 KB 5.32%
IDT_LIST: 0 GB 32 KB 0.00%