7 Replies Latest reply on Apr 10, 2018 11:48 PM by axel.lin_1746341

    SDK-3.7.0 GKI_exception 65535 Send - Buffer corrupted

    axel.lin_1746341

      jayi jact dhak

      I got below messages and device does not work, it happens sometimes.

       

      [11:07:13:939] 00:00:42.030176 GKI_create_task func=0x803e409  id=1  name=BTU  stack=0x0  stackSize=6144␍␍␊

      [11:07:13:944] 00:00:42.038176 GKI_create_task func=0x803f929  id=0  name=HCISU  stack=0x0  stackSize=4096␍␍␊

      [11:07:14:050] 00:00:42.016104 GKI_exception(): Task State Table␍␍␊

      [11:07:14:056] 00:00:42.020104 GKI_exception 65527 getbuf: Size is too big␍␍␊

      [11:07:14:081] 00:00:42.026104 GKI_exception(): Task State Table␍␍␊

      [11:07:14:081] 00:00:42.031104 GKI_exception 65535 Send - Buffer corrupted␍␍␊

      [11:07:18:049] 00:00:46.016104 GKI_exception(): Task State Table␍␍␊

      [11:07:18:056] 00:00:46.020104 GKI_exception 65527 getbuf: Size is too big␍␍␊

      [11:07:18:070] 00:00:46.026104 GKI_exception(): Task State Table␍␍␊

      [11:07:18:070] 00:00:46.030104 GKI_exception 65535 Send - Buffer corrupted␍␍␊

      [11:07:22:050] 00:00:50.016104 GKI_exception(): Task State Table␍␍␊

      [11:07:22:056] 00:00:50.020104 GKI_exception 65527 getbuf: Size is too big␍␍␊

      [11:07:22:078] 00:00:50.026104 GKI_exception(): Task State Table␍␍␊

      [11:07:22:078] 00:00:50.030104 GKI_exception 65535 Send - Buffer corrupted␍␍␊

      [11:07:26:260] 00:00:54.029496 GKI_exception(): Task State Table␍␍␊

      [11:07:26:267] 00:00:54.033496 GKI_exception 65535 Send - Buffer corrupted␍␍␊

      [11:07:30:261] 00:00:58.030496 GKI_exception(): Task State Table␍␍␊

      [11:07:30:267] 00:00:58.034496 GKI_exception 65527 getbuf: Size is too big␍␍␊

      [11:07:30:291] 00:00:58.040496 GKI_exception(): Task State Table␍␍␊

      [11:07:30:291] 00:00:58.044496 GKI_exception 65535 Send - Buffer corrupted␍␍␊

      [11:07:34:261] 00:01:02.030496 GKI_exception(): Task State Table␍␍␊

      [11:07:34:267] 00:01:02.034496 GKI_exception 65527 getbuf: Size is too big␍␍␊

      [11:07:34:275] 00:01:02.040496 GKI_exception(): Task State Table␍␍␊

      [11:07:34:283] 00:01:02.044496 GKI_exception 65535 Send - Buffer corrupted␍␍␊

      ....

      endless messages as above.

        • 1. Re: SDK-3.7.0 GKI_exception 65535 Send - Buffer corrupted
          jerming_1699796

          Same situation here. Endless messages....

          • 2. Re: SDK-3.7.0 GKI_exception 65535 Send - Buffer corrupted
            dhak

            axel.lin_1746341 jerming_1699796


            Can you provide more details? Which application and platform you tried with? Any particular steps to reproduce it? What buffer-pools application is initialised with?

             

            [11:07:34:267] 00:01:02.034496 GKI_exception 65527 getbuf: Size is too big␍␍␊

            One possible reason I could think of is that once the application has exhausted buffer pools of greater or equal size, same API(GKI_getbuf) will try to get the buffer from buffer-pools of lower size and hence will report 'size is too big' error. Also, you're getting "buffer corrupted" which also suggests that buffer-pool(s) got messed up somehow. You should look for where you are using GKI_send_msg().

             

             

            1 of 2 people found this helpful
            • 3. Re: SDK-3.7.0 GKI_exception 65535 Send - Buffer corrupted
              axel.lin_1746341

              dkumar wrote:

               

              axel.lin jerming


              Can you provide more details? Which application and platform you tried with? Any particular steps to reproduce it? What buffer-pools application is initialised with?

               

              [11:07:34:267] 00:01:02.034496 GKI_exception 65527 getbuf: Size is too big␍␍␊

              One possible reason I could think of is that once the application has exhausted buffer pools of greater or equal size, same API(GKI_getbuf) will try to get the buffer from buffer-pools of lower size and hence will report 'size is too big' error. Also, you're getting "buffer corrupted" which also suggests that buffer-pool(s) got messed up somehow. You should look for where you are using GKI_send_msg().

               

               

              I run my own application.

              The problem is it does not always happen so I don't think it's related to buffer-pool configuration, it happens sometimes.

              Once this happen, the device is not functional.

              The issue happens immediately after below messages: (which means it happens right after boot)

              [11:07:13:939] 00:00:42.030176 GKI_create_task func=0x803e409  id=1  name=BTU  stack=0x0  stackSize=6144␍␍␊

              [11:07:13:944] 00:00:42.038176 GKI_create_task func=0x803f929  id=0  name=HCISU  stack=0x0  stackSize=4096

               

              I don't want to guess the root cause as it's a closed source library.

              I can only report the issue as-is.

              • 4. Re: SDK-3.7.0 GKI_exception 65535 Send - Buffer corrupted
                rash

                Can you try increasing more Stack size and check for the issue. Increasing the buffer size should help.

                • 5. Re: SDK-3.7.0 GKI_exception 65535 Send - Buffer corrupted
                  axel.lin_1746341

                  rash wrote:

                   

                  Can you try increasing more Stack size and check for the issue. Increasing the buffer size should help.

                  The point is it only happens occasionally.

                  And it happens immediately after boot.

                   

                  That is why I don't think it's stack size issue.

                  If it's stack size issue, it should be easy to reproduce but it's not such case.

                  • 6. Re: SDK-3.7.0 GKI_exception 65535 Send - Buffer corrupted
                    axel.lin_1746341

                    dkumar wrote:

                     

                    axel.lin jerming


                    Can you provide more details? Which application and platform you tried with? Any particular steps to reproduce it? What buffer-pools application is initialised with?

                     

                    [11:07:34:267] 00:01:02.034496 GKI_exception 65527 getbuf: Size is too big␍␍␊

                    One possible reason I could think of is that once the application has exhausted buffer pools of greater or equal size, same API(GKI_getbuf) will try to get the buffer from buffer-pools of lower size and hence will report 'size is too big' error. Also, you're getting "buffer corrupted" which also suggests that buffer-pool(s) got messed up somehow. You should look for where you are using GKI_send_msg().

                     

                     

                    If I have the API to check GKI buffer usage statistics, I can report with better description.

                    However, such API is still unavailable.

                     

                    Note, once this issue happen the device no longer work, a dead device is pretty critical issue.

                    • 7. Re: SDK-3.7.0 GKI_exception 65535 Send - Buffer corrupted
                      axel.lin_1746341

                      I no longer hit the endless "Send - Buffer corrupted issue" in new sdks, so you can close this issue.

                      However, I still hit ble scan stop issue https://community.cypress.com/thread/8770

                      Actually, the main problem of BT library is if someone hit issues, it's hard to workaround the issue.

                      And it usually takes very long time to get fix.

                      If cypress can expose more APIs for diagnostics, it will be helpful.