Forums | developer.brewmp.com Forums | developer.brewmp.com

Developer

Forums

Forums:

Hi
Im getting a "No service" message while I process/parse some data, it happens with long chunks of data. The parsing of the data is done in callback, any one who has come across with the problem and is it a device issue somehow ?

let me know If anyone has come across same problem and ideas what could be the possible reason to occur this message.

Thanks.

Possibly your phone is getting reset by watchdog timer. Try processing data in smaller chunks.

Possibly your phone is getting reset by watchdog timer. Try processing data in smaller chunks.

Yeah I felt so but then I have the callback which should not allow the watchdog timer to take control ? and data processing cannot be divided into smaller chunks.
Thanks.

Yeah I felt so but then I have the callback which should not allow the watchdog timer to take control ? and data processing cannot be divided into smaller chunks.
Thanks.

if you are saying your callback stops the watchdog, then you don't understand what a watchdog is ;) but if you are saying you are letting the system take control as it needs to then its fine.
like ruben says, smaller chunks, there is no "can't"

if you are saying your callback stops the watchdog, then you don't understand what a watchdog is ;) but if you are saying you are letting the system take control as it needs to then its fine.
like ruben says, smaller chunks, there is no "can't"

>>if you are saying your callback stops the watchdog, then you don't understand >>what a watchdog is ;) but if you are saying you are letting the system take control as it needs to then its fine.
May be I felt the callback prevents the watchdog to take control, and so might be under wrong impression and not knowing. But is their any way system can know the watchdog is taking the control and now somehow it should be prevented, not too sure what and how.
>like ruben says, smaller chunks, there is no "can't"
Yeah there is no cant, may be I want know how it can broken into chunks, as it is the whole data from server.
somewhere on the forum I read to use the timer callbacks, Im trying it right now, If it works.
Thanks.

>>if you are saying your callback stops the watchdog, then you don't understand >>what a watchdog is ;) but if you are saying you are letting the system take control as it needs to then its fine.
May be I felt the callback prevents the watchdog to take control, and so might be under wrong impression and not knowing. But is their any way system can know the watchdog is taking the control and now somehow it should be prevented, not too sure what and how.
>like ruben says, smaller chunks, there is no "can't"
Yeah there is no cant, may be I want know how it can broken into chunks, as it is the whole data from server.
somewhere on the forum I read to use the timer callbacks, Im trying it right now, If it works.
Thanks.

Well if you are getting your data from server via socket/http, it will be in chunks/blocks as socket/http is asynchronous. What is the problem in processing data in blocks? Using IShell_SetTimer setup a timer thread callback. Each time you get a callback, process a block of data.

Well if you are getting your data from server via socket/http, it will be in chunks/blocks as socket/http is asynchronous. What is the problem in processing data in blocks? Using IShell_SetTimer setup a timer thread callback. Each time you get a callback, process a block of data.

Thanks ruben. I was doing the processing in the callback with ISHELL_Resume after taking whole data from server. In morning I tried with timer callback but still gets reset. Im guessing my one iteration of callback is not more than 25-30 secs. It gets reset after 30 secs. Now I have divided into some more chunks let see if it works.
Thanks.

Thanks ruben. I was doing the processing in the callback with ISHELL_Resume after taking whole data from server. In morning I tried with timer callback but still gets reset. Im guessing my one iteration of callback is not more than 25-30 secs. It gets reset after 30 secs. Now I have divided into some more chunks let see if it works.
Thanks.

If your data processing per block takes 25/30 secs, it shouldn't reset. In that case possibly you are having bug in your code, which is causing crash. In almost all system watchdog timer timeout value is around 50-60 secs. If each block processing takes 25/30 secs, then you may want to revisit your data processing algorithm.

If your data processing per block takes 25/30 secs, it shouldn't reset. In that case possibly you are having bug in your code, which is causing crash. In almost all system watchdog timer timeout value is around 50-60 secs. If each block processing takes 25/30 secs, then you may want to revisit your data processing algorithm.

The code is working fine on other devices eg 7000, samsung 650 etc. It does not resets actually Im mistaken it exits the app and shows the No service message and again restarts the app.
Thanks.

The code is working fine on other devices eg 7000, samsung 650 etc. It does not resets actually Im mistaken it exits the app and shows the No service message and again restarts the app.
Thanks.

That behavior is resetting. Sounds like you’re accessing memory you don't own. It may run fine on other devices because you may be accessing unused memory, so nothing gets corrupted.

That behavior is resetting. Sounds like you’re accessing memory you don't own. It may run fine on other devices because you may be accessing unused memory, so nothing gets corrupted.

as for the watchdog, the whole point of watchdog is that it can take over the system when an application fails to respond within a timely manner, its a failsafe.
wouldn't be much good if you could override it by a function taking a long time ;)

as for the watchdog, the whole point of watchdog is that it can take over the system when an application fails to respond within a timely manner, its a failsafe.
wouldn't be much good if you could override it by a function taking a long time ;)

>>Sounds like you’re accessing memory you don't own.
Hmm Well I dont think Im making any specific memory calls,all I do is Malloc the length and copy the string.
>>wouldn't be much good if you could override it by a function taking a long time
Yeah Im doing it into the chunks.
Thanks.

>>Sounds like you’re accessing memory you don't own.
Hmm Well I dont think Im making any specific memory calls,all I do is Malloc the length and copy the string.
>>wouldn't be much good if you could override it by a function taking a long time
Yeah Im doing it into the chunks.
Thanks.

Dips wrote:
Hmm Well I dont think Im making any specific memory calls,all I do is Malloc the length and copy the string.
You may want to double check if you are allocating enough memory for NULL termination of the string, and after string copy if you are terminating the string with NULL.

Dips wrote:
Hmm Well I dont think Im making any specific memory calls,all I do is Malloc the length and copy the string.
You may want to double check if you are allocating enough memory for NULL termination of the string, and after string copy if you are terminating the string with NULL.

Thanks, I will double check If I have left any memory leak.
Thanks.

Thanks, I will double check If I have left any memory leak.
Thanks.

I dont know If It is stange when I give a DBGPRINTF with every string parse, can say 20 -25 DBGPRINTF in between, It works fine.
I guess it needs time to execute the statements ? Instead of DBGPRINTF I can have the emyty PostEvent calls if it is so ?
Any other suggestion(s) ?
Thanks.

I dont know If It is stange when I give a DBGPRINTF with every string parse, can say 20 -25 DBGPRINTF in between, It works fine.
I guess it needs time to execute the statements ? Instead of DBGPRINTF I can have the emyty PostEvent calls if it is so ?
Any other suggestion(s) ?
Thanks.

I dont think empty post events are helping me resolve my problem, any other advice for me ?
Thanks.

I dont think empty post events are helping me resolve my problem, any other advice for me ?
Thanks.

Dips wrote:I dont know If It is stange when I give a DBGPRINTF with every string parse, can say 20 -25 DBGPRINTF in between, It works fine.
I guess it needs time to execute the statements ? Instead of DBGPRINTF I can have the emyty PostEvent calls if it is so ?
Any other suggestion(s) ?
Thanks.
I am not sure I understand your comments. In this thread, it was told by every participating forum members that it is very likely that you application is doing invalid memory access. If you are unable to reproduce the problem in emulator, that's because memory initialization/release mechanisms are different. But it is very likely that in your application possibly accessing uninitialized/invalid memory, or there could be memory over/underwrite. You may want to test your application using "Microsoft AppVerifier" in the emulator, just in case you can indentify the issue easily. Otherwise you have to little more rigorous debugging.

Dips wrote:I dont know If It is stange when I give a DBGPRINTF with every string parse, can say 20 -25 DBGPRINTF in between, It works fine.
I guess it needs time to execute the statements ? Instead of DBGPRINTF I can have the emyty PostEvent calls if it is so ?
Any other suggestion(s) ?
Thanks.
I am not sure I understand your comments. In this thread, it was told by every participating forum members that it is very likely that you application is doing invalid memory access. If you are unable to reproduce the problem in emulator, that's because memory initialization/release mechanisms are different. But it is very likely that in your application possibly accessing uninitialized/invalid memory, or there could be memory over/underwrite. You may want to test your application using "Microsoft AppVerifier" in the emulator, just in case you can indentify the issue easily. Otherwise you have to little more rigorous debugging.

DBGPRINTF may have some internal functionality that keeps the watchdog happy its not an uncommon thing
thats if you are saying adding DBGPRINTFS stops the watchdog happening, i'm having a little trouble following your posts.
but i think if you want us to help you much futher you're probably going to have paste the code.

DBGPRINTF may have some internal functionality that keeps the watchdog happy its not an uncommon thing
thats if you are saying adding DBGPRINTFS stops the watchdog happening, i'm having a little trouble following your posts.
but i think if you want us to help you much futher you're probably going to have paste the code.

Hmm I did went back to recheck on my memory issues, Its not the emulator Im checking on but on various devices.
May be Im just little confident on it is the behaviour of the watch dog timer and the statements taking a amount of processing.
I have reach at something but only half way, will keep on post when I feel it is near to resolve.
Thanks.

Hmm I did went back to recheck on my memory issues, Its not the emulator Im checking on but on various devices.
May be Im just little confident on it is the behaviour of the watch dog timer and the statements taking a amount of processing.
I have reach at something but only half way, will keep on post when I feel it is near to resolve.
Thanks.