Un-kill-able process hang at umtxpi state with 100% cpu

BBlister bblister at gmail.com
Mon Mar 23 11:13:03 UTC 2015


On the FreeBSD multiuser student server that I administer, a student managed
to created a program that takes 100% of one of the CPU cores with a process
that cannot be killed.

uname -a
FreeBSD zafora 9.2-STABLE FreeBSD 9.2-STABLE #1 r264312: Thu Apr 10 15:25:33
EEST 2014     root at zafora.icte.uowm.gr:/usr/obj/usr/src/sys/zafora  amd64

The process (uses 100% cpu):
[root at zafora ~]# ps axuwww | grep  35662
ictest00301 35662 100.0  0.0  12684  1912 19- R    Tue04PM   8343:29.56 ./c1


[root at zafora ~]# procstat 35662
35662 35661 35661 20142 20142   4 ictest00301 umtxpi    FreeBSD ELF64 c1

which has the parent process of a make command (I killed the parent process,
but nothing happened)
ictest00301 35661   0.0  0.0   6280    320 19- I    Tue04PM      0:00.01
make execute

The specific process is blocked (cannot be killed) with the following wait
[root at zafora ~]# procstat -t 35662
  PID    TID COMM             TDNAME           CPU  PRI STATE   WCHAN
35662 100196 c1               -                  2  122 sleep   umtxpi
35662 100997 c1               -                  0  122 sleep   umtxpi
35662 101757 c1               -                  1  122 sleep   uwait
35662 102464 c1               -                  2  120 run     umtxpi

Even though I have implemented resource limits in /etc/login.conf as to the
CPU usage, they cannot be enforced, and the server's logfile is filled with

Mar 23 13:06:46 zafora kernel: pid 35662 (c1), uid 1100301, was killed:
exceeded maximum CPU limit

but nothing happens. Of course 
kill -9 35662 

has not effect.

How I can kill this process? If one student managed to make an un-killable
process that gets 100% of the CPU with restrictions cannot be enforced, then
soon the server will be filled with such processes, and a
reboot will be mandatory. 

Thank you.

View this message in context: http://freebsd.1045724.n5.nabble.com/Un-kill-able-process-hang-at-umtxpi-state-with-100-cpu-tp5999345.html
Sent from the freebsd-questions mailing list archive at Nabble.com.

More information about the freebsd-questions mailing list