Page 1 of 1

SIGINT seen in processTick()

Posted: Tue Oct 08, 2013 11:42 am
by terry_opie
As the subject indicates, I'm getting a SIGINT in processTick(), which has the side effect of hanging everything. Here is the stack of the hung thread:

Code: Select all

Thread [3] (Suspended: Signal 'SIGINT' received. Description: Interrupt.)	
	4 ShortSocketList::processTick() tcp.cpp:4771 0x0201e03c	
	3 TCPTimerTask() tcp.cpp:2390 0x02023d56	
	2 TopOfStackKillfunction() ucosmcfc.c:40 0x0200f2d8	
	1 <symbol is not available> 0x00000000	
I can't seem to nail down what causes this to happen. It is only happening on one certain html page. The html page uses common js that all the other pages use, and even if it was a problem with the js, the Netburner should still stay up and running. It is using the exact same postHandler as all of my other pages. The data that it is passing is just one byte of data that it saves to a local variable.

Sometimes it happens as soon as the page loads, or after sitting there for a bit. Other times after a few clicks of the form submit buttons on the page. And still other times, I can't force it no matter what I do.

Here is my thread/task and where it got hung up...

Code: Select all

Thread [7] (Suspended)	
	7 OSSched() ucos.c:345 0x0200f9c6	
	6 OSFifoPend() ucos.c:1219 0x02011580	
	5 CanRxMessage() canif.cpp:201 0x0200eb64	
	4 canRx() can.cpp:381 0x02006594	
	3 handleCAN() can.cpp:129 0x02006cea	
	2 TopOfStackKillfunction() ucosmcfc.c:40 0x0200f2d8	
	1 <symbol is not available> 0x00000000	
The last line within my code is frame 4 which is this line:

Code: Select all

CanRxMessage can_msg( &canFifo, 1);
Any ideas? Thanks...

Re: SIGINT seen in processTick()

Posted: Fri Oct 11, 2013 10:06 am
by terry_opie
Anyone? This is a SIGINT being seen in system files which is hanging everything up. Should I Open a ticket?

Re: SIGINT seen in processTick()

Posted: Fri Nov 22, 2013 7:28 am
by terry_opie
Any ideas? This is still an issue for me...
Thank you!

Re: SIGINT seen in processTick()

Posted: Fri Nov 22, 2013 8:21 am
by pbreed
Almost always caused from over runnign your task stack....

Large classes or variables have to be static, global, or allocated, putting them as local variables use up the task stack space.

What platform is this on?

If its an SBL2E then you can have as little as 500 bytes of stack.

On some of the larger platfroms the default is 8K or so but can be increased.....

Open a ticket with the details....

Re: SIGINT seen in processTick()

Posted: Fri Nov 22, 2013 8:37 am
by terry_opie
Its on a CB34EX...

And I'll have to dig into it myself for now to see if that is the cause. Since the point when I asked the original question to now, we've went out of our support period. :( And I hate opening tickets when its something I can track down myself, which is why I never opened the ticket.

That explanation does make sense. The page/function handled when this is occurring is the point when I have the largest amount of "data" being handled. I don't remember what I put on the stack and what I declare globally.

Re: SIGINT seen in processTick()

Posted: Fri Nov 22, 2013 10:57 am
by pbreed
If the function is not going to be used by multiple tasks, ie its not reentrant, your almost always sfer declaring all the variables static....


Paul