-
Notifications
You must be signed in to change notification settings - Fork 171
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Failed to commit pending..... (CON-407) #316
Comments
All of this is without rebooting....
Now go back and look at 56053, at that previous point in time the same code ran without error when committing fabric 1.
|
How long do these commits take? Could the previous one not be finished when then makes the next one fail? |
5001105 maps to ESP_ERR_NVS_NOT_ENOUGH_SPACE I am using the partition table from the light example. Can this really be too small?
So let's make the partition larger.
And that works. So, what is taking up more than 24,576 bytes in the nvs partition? |
Next I added a print on read write. Why is is reading these keys over and over, maybe 100 times?
Is there some tool which can extract this partition and decode it? |
flash.txt Lot's of questions here, first one why are all these 8 and 16 bit values being persisted out in 24 bytes? and now I see why I ran out of space. lots of junk in here. Looks like 50% wasted space. This stuff is 0x6c30 long which is why it didn't fit into 0x6000.
|
When I look at the device again in Google Home it says it has three fabrics, but F2 is F1 duplicated. |
Wasting space with 20 bytes is because this code in esp-matter core is insufficient: It needs to be a switch() with more cases to account for one and two byte attribute values. A similar switch is needed when the values are read. |
Also, is it esp-matter which is not respecting the feature map and simply persisting all attribute values? |
Thanks @jonsmirl for reporting. It looks like you are creating quiet a lot of endpoints, 17. Storing blobs in NVS takes a lot of space than primitive data types (structure of nvs entry), treating them as primitive types is better approach and would save a lot, working on that.
For color control cluster ( Can you provide the data-model that you are using for this, so that I can run some tests at my end to compare things before/after my changes. |
I believe your permissions are set to view this: Boris fixed the g/su/... bug. 300:3 Mandatory When you get shrinking the blobs down working I can combine everything and recheck. Then I will hunt for who is duplicating that fabric. |
This is the fix for the g/su/.. bug. |
@jonsmirl I have working patch for this, but thinking about handling upgrades with this as this will break the nvs data structure. Right now handling this using config option. Also, there's a way to handle it runtime, working on that. |
Always write the values using the new format. When you read the values you need to allow for two different sizes on the read - old and new. |
Closing this now |
Something is broken with this. After I reboot the device I can't commit anything. I suspect this has to do with switching to encrypted partitions. After reboot, maybe the device can't write to the encypted partitions any more?
The text was updated successfully, but these errors were encountered: