# How canister limits access?

**URL:** <https://forum.dfinity.org/t/how-canister-limits-access/9088>\
**Category:** Developers\
**Tags:** Functional-Programming\
**Created:** [November 26, 2021, 1:16am UTC](https://forum.dfinity.org/t/how-canister-limits-access/9088 "2021-11-26T01:16:20Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![bitbruce](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/bitbruce/32/4689_2.png) [@bitbruce](https://forum.dfinity.org/u/bitbruce)\
**Post date:** [November 26, 2021, 1:16am UTC](https://forum.dfinity.org/t/how-canister-limits-access/9088/1 "2021-11-26T01:16:20Z")

</div>

We did two tests.

1. Test writing and reading HashMap: poptl-giaaa-aaaak-aaboa-cai  
At the beginning, it was possible to execute 100 times in one for loop, but later it was continuously limited to access and reported an error: “Canister poptl-giaaa-aaaak-aaboa-cai exceeded the cycles limit for single message execution.”
2. Token transfer test: ond2n-sqaaa-aaaak-aabiq-cai  
We write a for-loop in another canister to call Token’s transfer(). At first, it can loop 100 times at once, but later it will report an error if it loops more than 3 times: “IC0503: Canister ond2n-sqaaa-aaaak-aabiq-cai trapped explicitly: could not perform self call”
