# KeyError:2 when loading overlay bitfile

**URL:** <https://discuss.pynq.io/t/keyerror-2-when-loading-overlay-bitfile/4152>\
**Category:** Support\
**Created:** [May 6, 2022, 1:33pm UTC](https://discuss.pynq.io/t/keyerror-2-when-loading-overlay-bitfile/4152 "2022-05-06T13:33:47Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![madcat](https://avatars.discourse-cdn.com/v4/letter/m/73ab20/32.png) [@madcat](https://discuss.pynq.io/u/madcat)\
**Post date:** [May 6, 2022, 1:33pm UTC](https://discuss.pynq.io/t/keyerror-2-when-loading-overlay-bitfile/4152/1 "2022-05-06T13:33:47Z")

</div>

Hi all,

I am currently encountering the following error when loading the overlay:

```auto
from pynq import Overlay
/usr/lib/python3.9/site-packages/pynq/pmbus.py:230: UserWarning: Could not initialise libsensors library
  warnings.warn("Could not initialise libsensors library")

overlay = Overlay('/usr/lib/python3.9/site-packages/pynq/overlays/addr/adder.bit')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.9/site-packages/pynq/overlay.py", line 330, in __init__
    self.parser = self.device.get_bitfile_metadata(self.bitfile_name)
  File "/usr/lib/python3.9/site-packages/pynq/pl_server/xrt_device.py", line 520, in get_bitfile_metadata
    return XclBin(bitfile_name)
  File "/usr/lib/python3.9/site-packages/pynq/pl_server/xclbin_parser.py", line 286, in __init__
    self.ip_dict, self.mem_dict = _xclbin_to_dicts(filename)
  File "/usr/lib/python3.9/site-packages/pynq/pl_server/xclbin_parser.py", line 236, in _xclbin_to_dicts
    sections[xclbin.AXLF_SECTION_KIND.EMBEDDED_METADATA].decode(),
KeyError: 2

```

**Versions:**  
PYNQ version 2.5.1  
Git commit: 6fee2225bf90cd0ecb085017c5408a3d384a0632  
Vivado 2020.2

It seems, the “sections” array is empty. But why?

I have pleaced the files **adder.bit** , **adder.tcl** and **adder.hwh** in the same directory.

Can please someone push me in the right direction?

Thank you very much and best regards  
Frank

---

<div class="post-metadata">

**Author:** ![marioruiz](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/marioruiz/32/2177_2.png) [@marioruiz](https://discuss.pynq.io/u/marioruiz)\
**Post date:** [May 6, 2022, 1:51pm UTC](https://discuss.pynq.io/t/keyerror-2-when-loading-overlay-bitfile/4152/2 "2022-05-06T13:51:28Z")

</div>

Hi @madcat,

What board are you using?

Mario

---

<div class="post-metadata">

**Author:** ![madcat](https://avatars.discourse-cdn.com/v4/letter/m/73ab20/32.png) [@madcat](https://discuss.pynq.io/u/madcat)\
**Post date:** [May 6, 2022, 2:04pm UTC](https://discuss.pynq.io/t/keyerror-2-when-loading-overlay-bitfile/4152/3 "2022-05-06T14:04:53Z")

</div>

Hi @marioruiz

it’s a custom board based on the MPSoC Ultrascale+ (DEVICE=“xazu5ev” PACKAGE=“sfvc784”)  
Running PetaLinux 2020.2

Thanks for your response 🙂  
Frank

---

<div class="post-metadata">

**Author:** ![marioruiz](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/marioruiz/32/2177_2.png) [@marioruiz](https://discuss.pynq.io/u/marioruiz)\
**Post date:** [May 6, 2022, 2:09pm UTC](https://discuss.pynq.io/t/keyerror-2-when-loading-overlay-bitfile/4152/4 "2022-05-06T14:09:52Z")

</div>

Hi,

This could be a bug in that version of PYNQ, if you want to stay with that version I suggest you use the PYNQ version 2.5.

PYNQ 2.5.1 introduced support for Alveo, and it seems that a bug for embedded.

If possible, I would also suggest you move to PYNQ 2.7.

Mario

---

<div class="post-metadata">

**Author:** ![madcat](https://avatars.discourse-cdn.com/v4/letter/m/73ab20/32.png) [@madcat](https://discuss.pynq.io/u/madcat)\
**Post date:** [May 6, 2022, 2:25pm UTC](https://discuss.pynq.io/t/keyerror-2-when-loading-overlay-bitfile/4152/5 "2022-05-06T14:25:09Z")

</div>

Hi Mario,

thanks again for your quick response 🙂

All right, I will try to get my overlay running on both versions (2.5 and 2.7)

I will keep you informed 🙂

Thanks Mario and kind regards  
Frank

---

<div class="post-metadata">

**Author:** ![madcat](https://avatars.discourse-cdn.com/v4/letter/m/73ab20/32.png) [@madcat](https://discuss.pynq.io/u/madcat)\
**Post date:** [May 11, 2022, 1:19pm UTC](https://discuss.pynq.io/t/keyerror-2-when-loading-overlay-bitfile/4152/6 "2022-05-11T13:19:51Z")

</div>

Hi Mario,

I have upgraded to Pynq version 2.7 and the KeyError is gone 🙂

I have a question regarding the XRT. With Pynq versions prior to 2.7, Pynq is using the XRT directly in code? With Pynq version 2.7, Pynq is using the xclbinutil binary for doing the job? Just for the understanding

Thank you for your help!  
Best regards  
Frank

---

<div class="post-metadata">

**Author:** ![marioruiz](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/marioruiz/32/2177_2.png) [@marioruiz](https://discuss.pynq.io/u/marioruiz)\
**Post date:** [May 11, 2022, 1:32pm UTC](https://discuss.pynq.io/t/keyerror-2-when-loading-overlay-bitfile/4152/7 "2022-05-11T13:32:02Z")

</div>

Hi,

XRT for edge was only introduced in 2.7. Previously, it was only used for data center cards.  
xclbin format is something that has no official support for edge. You may see in the code that `xclbinutil` is being used, but this is only for memory allocation purposes.

Mario

---

<div class="post-metadata">

**Author:** ![madcat](https://avatars.discourse-cdn.com/v4/letter/m/73ab20/32.png) [@madcat](https://discuss.pynq.io/u/madcat)\
**Post date:** [May 11, 2022, 1:44pm UTC](https://discuss.pynq.io/t/keyerror-2-when-loading-overlay-bitfile/4152/8 "2022-05-11T13:44:23Z")

</div>

Thx Mario!

---

<div class="post-metadata">

**Author:** ![marioruiz](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/marioruiz/32/2177_2.png) [@marioruiz](https://discuss.pynq.io/u/marioruiz)\
**Post date:** [May 31, 2022, 12:07pm UTC](https://discuss.pynq.io/t/keyerror-2-when-loading-overlay-bitfile/4152/9 "2022-05-31T12:07:44Z")

</div>


