Parsing map failed

Hello @ChrisGammell, I make a new Topic because the problem is different.
Updating ncs to 2.4.0 solved topic I think there was some issue with the socket absed on error 95 that mean operation not supported on socket.
Now while typing this reply I had this, previously nothing happens.

I’ve upload artifact and turn on rollout. I’m pretty sure that part is correct.
it connects 'cause the console says:
After adding some logging to zcbor_utils I found the issue was cause by num_decoded < num_entries in zcbor_utils.c. It never enter the while cycle.
What I have to do? Thanks in advance.

Hi, Serjo!

From the console logs you shared, it looks like the returned manifest is empty (a0 is the CBOR empty map), suggesting there is not a rollout that meets the criteria for the device. Maybe check the device tags and/or blueprints against the release configuration to see if the device is supposed to get it.

Hi @tim, I don’t understand why is empty. I followed the guide. Release tag is needed. How can I check if I uploaded a right artifact?

I tried with your sample and I’ve the same output, I think I made a mistake in the artifact settings, could you provide an exhaustive example on how blueprints, tags, artifacts and releases have to set. Is a problem if I build the binary for the artifact with the provided vscode nrf extension instead of with the west command in cli?

Hi, Serjo!

If you create a release that does NOT specify a blueprint and does not have any device tags, the device should get the release. I’ve taken a screenshot of creating such a release.

Try this and see if the manifest now contains a release.

I’ve tried right now your suggestion and all works fine, I think the problem was in the settings of blueprint or tag, could you provide me a working example of both? Thank you very much @tim, finally after months I can do ota dfu.

The rules for whether a device gets a release are the following:

  • The release does NOT specify a blueprint nor any device tags (this is a release that is meant to be applied to all devices); OR
  • The device’s blueprint matches the releases blueprint; AND
  • The number of a device’s tags must be equal to the number of device tags specified in the release; AND
  • The value(s) of a device’s tags must be equal to the value(s) of the device tags specified in the release.

That said, there is a known bug for the following situation:

  • a device created on console without blueprint
  • device connects to CoAP gateway
  • device is updated on console to have a blueprint
  • release is created for blueprint
  • device does not get release until it reboots

If the above was your situation, then rebooting the device should serve as a workaround until we can fix this bug.

Rebooting doesn’t work for me. I’ll try changing blueprints and tags and if I figured out how to resolve I’ll say it to you.

1 Like