Welcome to the Pycom forum Forum
    • \[\[global:header.categories\]\]
    • \[\[global:header.recent\]\]
    • \[\[global:header.tags\]\]
    • \[\[global:header.popular\]\]
    • Login

    Explore Pybytes | Official Documentation | Report a Firmware Bug/Issue | GitHub

    Guru Meditation InstrFetchProhibited Wrong Program Counter

    Scheduled Pinned Locked Moved Issues & Bugs
    wipy 2crash
    1 Posts 1 Posters 1.1k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • N Offline
      nevercast
      last edited by

      Hello.

      I'm having an issue on my WiPy 2 running the latest firmware build from pycom-micropython/

      We have some frozen modules, and some patched C modules to include utimeq and asyncio support.

      It seems during execution of our main loop, we get an InstrFetchProhibited error, which to my understanding is fail to fetch instruction from a CODE block. So I suspected that it was trying to read code from a none CODE section.

      Looking at the dump, it seems the program counter is 0x02. Which is obviously NOT okay.

      Guru Meditation Error of type InstrFetchProhibited occurred on core  0. Exception was unhandled.
      Register dump:
      PC      : 0x00000002  PS      : 0x00060930  A0      : 0x800efe56  A1      : 0x3ffd2ec0
      A2      : 0x3ffd2f1c  A3      : 0x3ffe94b0  A4      : 0x00000000  A5      : 0x00000073
      A6      : 0x00000004  A7      : 0x00000010  A8      : 0x800eaf84  A9      : 0x3ffe64d0
      A10     : 0x3ffd2f1c  A11     : 0x3ffe94b0  A12     : 0x00000000  A13     : 0x3ffd31f0
      A14     : 0x0000002a  A15     : 0x3ffd3100  SAR     : 0x0000001a  EXCCAUSE: 0x00000014
      EXCVADDR: 0x00000000  LBEG    : 0x4000c46c  LEND    : 0x4000c477  LCOUNT  : 0x00000000
      
      Backtrace: 0x00000002:0x3ffd2ec0 0x400efe56:0x3ffd2ee0 0x400eff48:0x3ffd2f70 0x400ea7e8:0x3ffd2fc0 0x400f53a0:0x3ffd2fe0 0x400ed39d:0x3ffd3080 0x400e9978:0x3ffd3100 0x400e9f67:0x3ffd3120 0x400f4ffa:0x3ffd3160 0x400ed39d:0x3ffd3200 0x400e9978:0x3ffd3240 0x400e9f67:0x3ffd3260 0x400f4ffa:0x3ffd32a0 0x400ed39d:0x3ffd3340 0x400e9978:0x3ffd33c0 0x400e9f67:0x3ffd33e0 0x400f4ffa:0x3ffd3420 0x400ed39d:0x3ffd34c0 0x400e9978:0x3ffd3550 0x400e99e5:0x3ffd3570 0x400f5041:0x3ffd3590 0x400ed39d:0x3ffd3630 0x400e9978:0x3ffd3670 0x400e99e5:0x3ffd3690 0x400f5041:0x3ffd36b0 0x400ed39d:0x3ffd3750 0x400e9978:0x3ffd37e0 0x400e99e5:0x3ffd3800 0x400f5041:0x3ffd3820 0x400ed39d:0x3ffd38c0 0x400e9978:0x3ffd3940 0x400e99a5:0x3ffd3960 0x400d8960:0x3ffd3980 0x400d8c23:0x3ffd3a10 0x400d7c56:0x3ffd3a30
      

      My interpretation of the Backtrace arguments was PC:A1 register pair. I'm not significantly familiar with the Xtensa CPU or instruction set, so looking at an objdump of the application didn't yield a lot of insight for me. I can tell it's failing during a 'string' % (modulo, operation) but I couldn't work out much more than that.

      Any suggestions where to look, and why the PC would jump to 0?

      Cheers.

      1 Reply Last reply Reply Quote 0

      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

      With your input, this post could be even better 💗

      Register Login
      • 1 / 1
      • First post
        Last post

      Pycom on Twitter

      Pycom