-->
Page 1 of 1

there is no poison after the block. Expected poison address:

PostPosted: Thu Jul 06, 2017 10:08 pm
by stern0m1
What does this mean?

there is no poison after the block. Expected poison address: 0x3fff0194, actual data: 0x0 0x0 0x0 0x0
block start: 3fff00dc

I get this error occasionally on the serial monitor and then the esp8266 resets.

Thanks

Re: there is no poison after the block. Expected poison addr

PostPosted: Fri Jul 07, 2017 12:46 pm
by QuickFix
Poison (or have you been using Google translate)? :shock:
Or do you mean "Position"?

Re: there is no poison after the block. Expected poison addr

PostPosted: Fri Jul 07, 2017 1:54 pm
by stern0m1
I mean exactly what I wrote, poison.
Subsequently I found some reference to poison here:

https://github.com/esp8266/Arduino/blob ... cfg.h#L129

in relation to memory management. I don't have the a clue what this means.

If anyone can explain would be greatly appreciated.

Thanks

Re: there is no poison after the block. Expected poison addr

PostPosted: Sat Jul 08, 2017 8:30 am
by martinayotte
This looks like memory allocation boundary check.
This means that some code is overwriting some memory areas that are outside the allocated blocks.
For example, if a 32 bytes block is allocated but code writing into that block writes 40 bytes, it will corrupt the "poison" boundary and when free() been called or some other management functions looking at the sanity of thoses boundaries, the exception will be triggered.