现象:
cpu使用 接近100%
strace 跟踪结果
1 2 3 4 |
poll([{fd=9, events=POLLIN}], 1, 0) = 0 (Timeout) poll([{fd=9, events=POLLIN}], 1, 0) = 0 (Timeout) poll([{fd=9, events=POLLIN}], 1, 0) = 0 (Timeout) ... |
进程调用栈:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
Thread 3 (Thread 0x7fba3bdbe700 (LWP 31517)): #0 0x0000003967ee8ef3 in epoll_wait () from /lib64/libc.so.6 #1 0x00007fba3f043add in ?? () from /usr/lib64/libzmq.so.3 #2 0x00007fba3f06104b in ?? () from /usr/lib64/libzmq.so.3 #3 0x00000039682079d1 in start_thread () from /lib64/libpthread.so.0 #4 0x0000003967ee88fd in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x7fba3b3bd700 (LWP 31518)): #0 0x0000003967ee8ef3 in epoll_wait () from /lib64/libc.so.6 #1 0x00007fba3f043add in ?? () from /usr/lib64/libzmq.so.3 #2 0x00007fba3f06104b in ?? () from /usr/lib64/libzmq.so.3 #3 0x00000039682079d1 in start_thread () from /lib64/libpthread.so.0 #4 0x0000003967ee88fd in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7fba49651700 (LWP 31457)): #0 0x0000003ea80695aa in ?? () from /usr/lib64/libpython2.6.so.1.0 #1 0x0000003ea80d72b7 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.6.so.1.0 #2 0x0000003ea80d5a94 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.6.so.1.0 #3 0x0000003ea80d7647 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.6.so.1.0 #4 0x0000003ea80d5a94 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.6.so.1.0 #5 0x0000003ea80d7647 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.6.so.1.0 #6 0x0000003ea80d5a94 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.6.so.1.0 #7 0x0000003ea8060917 in ?? () from /usr/lib64/libpython2.6.so.1.0 #8 0x0000003ea80d1308 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.6.so.1.0 #9 0x0000003ea8060917 in ?? () from /usr/lib64/libpython2.6.so.1.0 #10 0x0000003ea80d1308 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.6.so.1.0 #11 0x0000003ea8060917 in ?? () from /usr/lib64/libpython2.6.so.1.0 #12 0x0000003ea80d1308 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.6.so.1.0 #13 0x0000003ea8060917 in ?? () from /usr/lib64/libpython2.6.so.1.0 #14 0x0000003ea80d1308 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.6.so.1.0 #15 0x0000003ea80d7647 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.6.so.1.0 #16 0x0000003ea80d5a94 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.6.so.1.0 #17 0x0000003ea80d7647 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.6.so.1.0 #18 0x0000003ea80d5a94 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.6.so.1.0 #19 0x0000003ea80d7647 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.6.so.1.0 #20 0x0000003ea80d7722 in PyEval_EvalCode () from /usr/lib64/libpython2.6.so.1.0 #21 0x0000003ea80f1b9c in ?? () from /usr/lib64/libpython2.6.so.1.0 #22 0x0000003ea80f1c70 in PyRun_FileExFlags () from /usr/lib64/libpython2.6.so.1.0 #23 0x0000003ea80f315c in PyRun_SimpleFileExFlags () from /usr/lib64/libpython2.6.so.1.0 #24 0x0000003ea80ff892 in Py_Main () from /usr/lib64/libpython2.6.so.1.0 #25 0x0000003967e1ed5d in __libc_start_main () from /lib64/libc.so.6 #26 0x0000000000400649 in _start () |
从调用栈来看,就算有bug也是libzmq的bug