Operating System - HP-UX
1832914 Members
3464 Online
110048 Solutions
New Discussion

Re: Can thread run after the process recvs sig 11

 
Sumanth N
Occasional Advisor

Can thread run after the process recvs sig 11

Hello all,
I have a strange situation,
I had run tusc on one of the application which was taking high CPU,
the output is confusing,

the process recvs signal 11 at
09:53:48 [12107]{2852081} Received signal 11, SIGSEGV, in user mode, [caught], partial siginfo
09:53:48 [12107]{2852081} Siginfo: si_code: I_NONEXIST, faulting address: 0x6e737460, si_errno: 0
09:53:48 [12107]{2852081} PC: 0xc0197b5f, instruction: 0x48980000

10:45:16 [12107]{2852040} lseek(2, 0, SEEK_CUR) .............................................................. = 2519

The application does not crash and one of threads runs and consumes all the CPU.
The high CPU usage starts after the process gets ths signal and after this thread starts executing.

10:45:16 [12107]{2852040} lseek(2, 0, SEEK_CUR) .............................................................. = 2519

The process will be alive, I checked this with top.

Is this possible?
Should the application crash immediately after recving signal 11?

Thanks in advance.

1 REPLY 1
A. Clay Stephenson
Acclaimed Contributor

Re: Can thread run after the process recvs sig 11

While the default behavior of a process upon receipt of a SIGSEGV is to terminate and (under most UNIX flovors) to generate a core file, SIGSEGV is a catchable signal so the actual behavior is determined by whatever signal handler is in place for this process at the time --- and that is the whim of the programmer. In your case the default signal handler has been replaced with a custom signal handler. You must contact the developer for a fix.
If it ain't broke, I can fix that.