Skip to content

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%
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information