Sony's Developer World forum

    • Home
    • Forum guidelines

    Upcoming maintenance 

     

    Dear Customers and Partners.

    This website will be undergoing scheduled maintenance on June 14, 2023. Please be aware there may be disruption to the developer portal website and associated services during the scheduled maintenance period.

    This upgrade is essential to ensure the continued performance, reliability, and security of Developer World.

    We apologize for any inconvenience.

     

     

    up_assert: Assertion failed at file:manager/audio_manager.cpp line: 649 task: init

    Spresense
    3
    8
    3831
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      Ben eaton last edited by

      still working on relatively simple audio recording looper with files named by GNSS - it records 6 or 7 times - never a fixed amount then throws this error:

      up_assert: Assertion failed at file:manager/audio_manager.cpp line: 649 task: init

      i'll post the full snippet below

      up_assert: Assertion failed at file:manager/audio_manager.cpp line: 649 task: init
      up_dumpstate: sp:     0d0509bc
      up_dumpstate: IRQ stack:
      up_dumpstate:   base: 0d047d00
      up_dumpstate:   size: 00000800
      up_dumpstate:   used: 000000f0
      up_dumpstate: User stack:
      up_dumpstate:   base: 0d050c58
      up_dumpstate:   size: 00001fec
      up_dumpstate:   used: 00000690
      up_stackdump: 0d0509a0: 0d0509cc 00000000 0d050a10 0d045a00 0d03e388 00000000 00000000 0d03e388
      up_stackdump: 0d0509c0: 00000000 0d0133d1 000fd080 000fd8e4 000fd040 0d01bac5 0d050a50 0d011fbd
      up_stackdump: 0d0509e0: 0d050a30 000fd040 0001e006 00008000 00000000 00000000 0d045a00 0d045a00
      up_stackdump: 0d050a00: 0d03e388 0d000b1f c0000000 0d04e9ac 00000007 00000001 00000000 00000000
      up_stackdump: 0d050a20: 00000000 0d007ab1 0d04ebd7 0d005367 02330000 00000007 0d04e9ac 0d020241
      up_stackdump: 0d050a40: 00000007 0d005427 0d036c06 0a041204 0d045a08 0d045a00 0d045a08 0d000497
      up_stackdump: 0d050a60: 0d08d460 0000000a 0000000a 0d050b40 00000020 0d050b48 00000020 0d050b50
      up_stackdump: 0d050a80: 00000020 0d04e6c0 00000000 0d000000 0d03e388 00000000 00000000 00000000
      up_stackdump: 0d050aa0: 00000000 ffffffe9 00000000 00000000 00000000 00000000 00000000 00000000
      up_stackdump: 0d050ac0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      up_stackdump: 0d050ae0: 00000000 00000000 00000001 0d050b54 0d04e6c0 00000020 000fd7b4 0d006fd7
      up_stackdump: 0d050b00: 0d020938 01000000 00000000 00000000 00000000 00000000 00000000 00000000
      up_stackdump: 0d050b20: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      up_stackdump: 0d050b40: 00000000 00000000 00000000 0d006fc5 00000000 0d050c28 00000000 0d03e3a0
      up_stackdump: 0d050b60: 0d045a00 0d000000 0d03e388 00000000 00000000 00000000 00000000 ffffffe9
      up_stackdump: 0d050b80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      up_stackdump: 0d050ba0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      up_stackdump: 0d050bc0: 00000000 0d045a08 005dba00 005dbfff 000fd7b4 0d001fd1 0d00047e 01000000
      up_stackdump: 0d050be0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      up_stackdump: 0d050c00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      up_stackdump: 0d050c20: 00000000 00000000 0d03e3a0 0d03e3a0 0d000000 0d001fd1 0d01a5b3 00000101
      up_stackdump: 0d050c40: 00000000 00000000 00000000 0d002bab 00000000 00000000 deadbeef 0d050c64
      up_taskdump: Idle Task: PID=0 Stack Used=0 of 0
      up_taskdump: hpwork: PID=1 Stack Used=584 of 2028
      up_taskdump: lpwork: PID=2 Stack Used=352 of 2028
      up_taskdump: lpwork: PID=3 Stack Used=352 of 2028
      up_taskdump: lpwork: PID=4 Stack Used=352 of 2028
      up_taskdump: init: PID=5 Stack Used=1680 of 8172
      up_taskdump: cxd56_pm_task: PID=6 Stack Used=320 of 996
      up_taskdump: <pthread>: PID=7 Stack Used=704 of 1020
      up_taskdump: AMNG: PID=8 Stack Used=648 of 2028
      up_taskdump: PLY_OBJ: PID=9 Stack Used=320 of 3052
      up_taskdump: SUB_PLY_OBJ: PID=10 Stack Used=320 of 3044
      up_taskdump: OMIX_OBJ: PID=11 Stack Used=328 of 3044
      up_taskdump: RENDER_CMP_DEV0: PID=12 Stack Used=312 of 2020
      up_taskdump: RENDER_CMP_DEV1: PID=13 Stack Used=312 of 2020
      up_taskdump: FED_OBJ: PID=14 Stack Used=544 of 2028
      up_taskdump: REC_OBJ: PID=15 Stack Used=600 of 2028
      up_taskdump: CAPTURE_CMP_DEV0: PID=16 Stack Used=560 of 2012
      
      

      which references this function in the audio_manager.cpp file

      int AS_ReceiveAudioResult(FAR AudioResult *packet)
      {
        err_t           err_code;
        FAR MsgQueBlock *que;
        FAR MsgPacket   *msg;
      
        err_code = MsgLib::referMsgQueBlock(s_appMid, &que);
        F_ASSERT(err_code == ERR_OK);
      
        err_code = que->recv(TIME_FOREVER, &msg);
        F_ASSERT(err_code == ERR_OK);
        F_ASSERT(msg->getType() == MSG_AUD_MGR_RST);
      
        *packet = msg->moveParam<AudioResult>();
        err_code = que->pop();
        F_ASSERT(err_code == ERR_OK);
      
        return AS_ERR_CODE_OK;
      }
      

      it crashes no matter how long i try and record for - 10 second loops or 1 minute loops

      b

      1 Reply Last reply Reply Quote
      • TE-KarlKomierowski
        TE-KarlKomierowski DeveloperWorld last edited by

        Hi @Ben-eaton

        In the folder sdk/tools/ you will find a script called callstack.py
        You can use this tool to analyze your stack dumps.

        spresense/sdk/tools$ ./callstack.py 
        Usage: python ./callstack.py <System.map> <stackdump.log>
        

        What code are you running?

        1 Reply Last reply Reply Quote
        • B
          Ben eaton last edited by

          hi @TE-KarlKomierowski
          a variant on the code for the previous issue i posted about freezing audio at 192khz but using the recorderSize instead of millis to determine the size of the audio chunks i'm writing to file

          thanks

          b

          1 Reply Last reply Reply Quote
          • TE-KarlKomierowski
            TE-KarlKomierowski DeveloperWorld last edited by

            Have you tried to isolate and verify the functions alone?
            Audio without GNSS, GNSS without Audio etc?

            1 Reply Last reply Reply Quote
            • B
              Ben eaton last edited by

              yeah - so i built this up from the recorder example - in my sketch in the other issue i posted (sorry i know i've spread my issues accross two posts but they felt like they could be separate things) i don't get this crash the main difference between the two is using a timer with millis() rather than the size of the recorder to chunk the audio - am in the process of stripping it back to individual functions - - just trying to trace using the python script -
              but my main issue at the moment is that the board seems to freeze up when running in highRes mode as the recorder seems to be running happily at 48khz without the above crash

              cheers

              best

              ben

              1 Reply Last reply Reply Quote
              • B
                Ben eaton last edited by

                hi @TE-KarlKomierowski

                so ran the sketch with no gnss - ran the sketch at 192khz audio

                got the same error - but as it crashes on the board after 20 minutes or so of running - i don't seem to get a log file to use the python script with

                thanks

                best

                b

                B 1 Reply Last reply Reply Quote
                • B
                  Ben eaton @Ben eaton last edited by

                  @Ben-eaton
                  is there an explanation of how to better understand what is happening in a crash

                  i am still receiving 'assertion failed' and then a whole bunch of error stuff underneath and no real way to work out what is causing this

                  best

                  b

                  1 Reply Last reply Reply Quote
                  • K
                    KamilTomaszewski DeveloperWorld last edited by

                    Hi @Ben-eaton,

                    To analyze a stack dump the Spresense full SDK provide a tool where you can specify two files as arguments. One is your saved log file, and the other one is the system map file. Doing that you should be able to get the stack trace. If you have build your software with the Arduino IDE you should be able to find where your map file is located in the Arduino IDE log window. Go to File -> Preferences -> Settings -> Show verbose output during and select compilation and when you build your sketch you should be able to find where your build folder is. Normally this folder would be located in /tmp and look something like this:

                    /tmp/arduino_build_724727/
                    

                    Fetch the full SDK from github:

                    git clone --recursive git@github.com:sonydevworld/spresense.git
                    

                    Change directory to the SDK:

                    $cd spresense/sdk
                    spresense/sdk$ ./tools/callstack.py -h
                    Usage: python ./tools/callstack.py <System.map> <stackdump.log>
                    

                    Now just specify the location of your files:

                    ./tools/callstack.py /tmp/arduino_build_724727/output.map stackoverflow.log
                    

                    Best regards,
                    Kamil Tomaszewski

                    1 Reply Last reply Reply Quote
                    • First post
                      Last post
                    Developer World
                    Copyright © 2021 Sony Group Corporation. All rights reserved.
                    • Contact us
                    • Legal