GPRS_C_SDK icon indicating copy to clipboard operation
GPRS_C_SDK copied to clipboard

Detected XCPU in the GDB loop (0x9db00000)

Open cryarchy opened this issue 6 years ago • 10 comments

1. SDK version(SDK 版本)

{ V2.107 }

2. In what kind of operation problems appear, and how to reproduce the problem ?(什么样的操作步骤问题会出现,是否是稳定复现,如何复现问题?)

{ Unsure:

I suspect the cause might be the use of Trace, memcpy, memset or strcmp in the function(handle_response) triggered after the API_EVENT_ID_SOCKET_RECEIVED event. i.e:

...
void handle_response(char *response, double lat, double lng) {
    // uses `Trace`, `memcpy`, `memset` and `strcmp` 
}
...
void EventDispatch(API_Event_t* pEvent) {
    ...
    case API_EVENT_ID_SOCKET_RECEIVED:
        ...
        handle_response(myBuffer, latVal, lngVal);
        ...
}
...

Ruby Script Output

Detected event: 0x820c4c88.
Detected event: 0x820c4db4.
Assert received!! Reading detail...
ASSERT DETAIL : 

##############################################
# FATAL assert 
# --> Active Job = 184
# --> Old Job = 0x8209c2c4
# --> New Job = 0x8209c2b8
##############################################
Detected BCPU in the GDB loop (0x9db10000), connect GDB debugger for more info.
Detected XCPU in the GDB loop (0x9db00000), connect GDB debugger for more info.

gdb info

(gdb) bt f
#0  0x8200deb1 in sxs_Raise ()
No symbol table info available.
#1  0x00000000 in ?? ()
No symbol table info available.

Source window content }


cryarchy avatar Jun 24 '18 07:06 cryarchy

I have stripped out major of the code that I thought was causing the problem. The only C-library function in use now in the aforementioned handle_response function is strstr. I still get the same error.

The trace result

cryarchy avatar Jun 24 '18 09:06 cryarchy

Another similar error (GDB output):

(gdb) bt f
#0  0x81c0741b in _sxr_HFree ()
No symbol table info available.
#1  0x8200e4f3 in sxr_FreeJob ()
No symbol table info available.
Backtrace stopped: frame did not save the PC

cryarchy avatar Jun 24 '18 10:06 cryarchy

please dump longer logs in pastebin!

punee995 avatar Jun 24 '18 10:06 punee995

@punee995 Thanks. I was unaware of its existence. Also, I am unsure if the information I am providing is adequate to get the issue resolved. Feel free to request for and instruct on how to obtain more information.

cryarchy avatar Jun 24 '18 10:06 cryarchy

Different backtrace after re-flashing:

(gdb) bt f
#0  0x8200deb1 in sxs_Raise ()
No symbol table info available.
#1  0x81c07385 in _sxr_HFree ()
No symbol table info available.
#2  0x881406f9 in l1a_MonitorReq ()
No symbol table info available.
#3  0x88097e4b in l1s_CchControlJob ()
No symbol table info available.
#4  0x88097d21 in l1s_RxCbchJob ()
No symbol table info available.
#5  0xfdfdfdfd in ?? ()
No symbol table info available.

cryarchy avatar Jun 24 '18 10:06 cryarchy

I have been trying to narrow down the possible causes of this error. Currently, I think it is being caused by multiple writes to the socket. I have different programs achieving the same task of obtaining data from a server and after a few running iterations, this error pops after Line 206

cryarchy avatar Jun 25 '18 04:06 cryarchy

It means we can not use Socket_TcpipWrite twice to write data to the socket server in one process? how can we write several char variables to the socket server? I have also confusing about this issue.

will88china avatar Dec 13 '18 06:12 will88china

我重新烧录较大的lod文件可以顺利解决这个问题

mymx avatar Jun 21 '19 03:06 mymx

alguien pudo solucionarlo?

CRONOS-IOS avatar May 01 '20 00:05 CRONOS-IOS

I fixed this by flashing the Factory AT command binary from https://docs.ai-thinker.com/en/gprs/firmware

with this tool https://docs.ai-thinker.com/_media/gprs/ai-thinker_a9_a9g_at_v02.02.20190915r.rar

Thanks to @lamqhoang for the solution.

marcosasilvalepe avatar Dec 07 '20 14:12 marcosasilvalepe