SIGINT seen in processTick()

Discussion to talk about software related topics only.
Post Reply
User avatar
terry_opie
Posts: 27
Joined: Tue Jul 30, 2013 8:33 am

SIGINT seen in processTick()

Post 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...
User avatar
terry_opie
Posts: 27
Joined: Tue Jul 30, 2013 8:33 am

Re: SIGINT seen in processTick()

Post by terry_opie »

Anyone? This is a SIGINT being seen in system files which is hanging everything up. Should I Open a ticket?
User avatar
terry_opie
Posts: 27
Joined: Tue Jul 30, 2013 8:33 am

Re: SIGINT seen in processTick()

Post by terry_opie »

Any ideas? This is still an issue for me...
Thank you!
User avatar
pbreed
Posts: 1088
Joined: Thu Apr 24, 2008 3:58 pm

Re: SIGINT seen in processTick()

Post 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....
User avatar
terry_opie
Posts: 27
Joined: Tue Jul 30, 2013 8:33 am

Re: SIGINT seen in processTick()

Post 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.
User avatar
pbreed
Posts: 1088
Joined: Thu Apr 24, 2008 3:58 pm

Re: SIGINT seen in processTick()

Post 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
Post Reply