Estoy viendo como varios sslserver se quedan colgados comiendo el 100% de la CPU en varios servidores de correo instalados independientemente y por personas diferentes. Cuando me "atacho" al proceso veo el siguiente loop infinito:
[pid 21386] poll([{fd=4, events=POLLIN}], 1, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLIN}])
[pid 21386] poll([{fd=4, events=POLLIN}], 1, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLIN}])
[pid 21386] poll([{fd=4, events=POLLIN}], 1, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLIN}])
[pid 21386] poll([{fd=4, events=POLLIN}], 1, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLIN}])
[pid 21386] poll([{fd=4, events=POLLIN}], 1, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLIN}])
[pid 21386] poll([{fd=4, events=POLLIN}], 1, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLIN}])
Tengo una traza completa aquí, pero como no veo el problema lo próximo que quiero hacer es compilar el sslserver con simbolos de debug i dejar que vuelva a ocurrir para generar un core i mirar de debugear un poco.
A alguien más le ocurre?
[pid 21386] close(3 <unfinished ...>
[pid 21386] <... close resumed> ) = 0
[pid 21386] pipe( <unfinished ...>
[pid 21386] <... pipe resumed> [3, 5]) = 0
[pid 21386] pipe( <unfinished ...>
[pid 21386] <... pipe resumed> [6, 8]) = 0
[pid 21386] socketpair(PF_FILE, SOCK_STREAM, 0 <unfinished ...>
[pid 21386] <... socketpair resumed> , [9, 10]) = 0
[pid 21386] clone( <unfinished ...>
[pid 21386] <... clone resumed> child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x2b64dd084770) = 21387
[pid 21386] close(3 <unfinished ...>
[pid 21386] <... close resumed> ) = 0
[pid 21386] close(8 <unfinished ...>
[pid 21386] <... close resumed> ) = 0
[pid 21386] close(10 <unfinished ...>
[pid 21386] <... close resumed> ) = 0
[pid 21386] chroot("/var/qmail/ssl" <unfinished ...>
[pid 21386] <... chroot resumed> ) = 0
[pid 21386] setgroups(1, [1008] <unfinished ...>
[pid 21386] <... setgroups resumed> ) = 0
[pid 21386] setgid(1008 <unfinished ...>
[pid 21386] <... setgid resumed> ) = 0
[pid 21386] setuid(1008 <unfinished ...>
[pid 21386] <... setuid resumed> ) = 0
[pid 21386] read(9, <unfinished ...>
[pid 21386] <... read resumed> "y"..., 1) = 1
[pid 21386] fcntl(4, F_GETFL <unfinished ...>
[pid 21386] <... fcntl resumed> ) = 0x2 (flags O_RDWR)
[pid 21386] fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK <unfinished ...>
[pid 21386] <... fcntl resumed> ) = 0
[pid 21386] brk(0x65c000 <unfinished ...>
[pid 21386] <... brk resumed> ) = 0x65c000
[pid 21386] read(4, <unfinished ...>
[pid 21386] <... read resumed> 0x6372e0, 11) = -1 EAGAIN (Resource temporarily unavailable)
[pid 21386] poll([{fd=4, events=POLLIN}], 1, 26019 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLIN}])
[pid 21386] read(4, <unfinished ...>
[pid 21386] <... read resumed> "\26\3\1\0A\1\0\0=\3\1"..., 11) = 11
[pid 21386] read(4, <unfinished ...>
[pid 21386] <... read resumed> "..."..., 1087 <unfinished ...>
[pid 21386] <... write resumed> ) = 1087
[pid 21386] read(4, <unfinished ...>
[pid 21386] <... read resumed> 0x6372e0, 5) = -1 EAGAIN (Resource temporarily unavailable)
[pid 21386] poll([{fd=4, events=POLLIN}], 1, 25946 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLIN}])
[pid 21386] read(4, <unfinished ...>
[pid 21386] <... read resumed> "\26\3\1\0\206"..., 5) = 5
[pid 21386] read(4, <unfinished ...>
[pid 21386] <... read resumed> "\20\0\0\202\0\2004\325\365\237\240\334\266\3112\373\311J\221\225\371]\0277lSh\vi\215\206d\345a3\232\266\217\264\374\226\372\302\255\372\231\374D\304\311\373'\1=\203H[\375\316b\223\372W\265\30{/XZ\334\275\304\33\345\t\206\253\7\326\331\360\34\202Xh\2152c\251\257\366\372\243\200P\251\315\371?\376\204W\305\216l-F\t\313w\2733%S\371\337\"w\25Nf:\227j\302]\317\223Yw\223x\0369"..., 134) = 134
[pid 21386] read(4, <unfinished ...>
[pid 21386] <... read resumed> "\24\3\1\0\1"..., 5) = 5
[pid 21386] read(4, <unfinished ...>
[pid 21386] <... read resumed> "\1"..., 1) = 1
[pid 21386] read(4, <unfinished ...>
[pid 21386] <... read resumed> "\26\3\1\0 "..., 5) = 5
[pid 21386] read(4, <unfinished ...>
[pid 21386] <... read resumed> "\322\25qTp\253\27\22\207\345\211\315\264O9\315q\342\32.\3332\262L\240\2:\327\264~\212!"..., 32) = 32
[pid 21386] write(4, "\24\3\1\0\1\1\26\3\1\0 \\]{Q\370E[\v\331\342\343\335\256P\227\332\323 \23\257\n\37i\331&N{\303\323*\266\305"..., 43 <unfinished ...>
[pid 21386] <... write resumed> ) = 43
[pid 21386] write(2, "sslserver: ssl 21386 accept \n"..., 29 <unfinished ...>
[pid 21386] <... write resumed> ) = 29
[pid 21386] poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLIN}])
[pid 21386] read(4, <unfinished ...>
[pid 21386] <... read resumed> "\27\3\1\0!"..., 5) = 5
[pid 21386] read(4, <unfinished ...>
[pid 21386] <... read resumed> "\26\3\277\257t'~\266\270\\t\202\310\375\376`\231\257\ne%\200\345S\360\242\237\213$t\313\225\332"..., 33) = 33
[pid 21386] poll([{fd=5, events=POLLOUT}, {fd=6, events=POLLIN}], 2, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=5, revents=POLLOUT}])
[pid 21386] write(5, "EHLO proxad.net\r\n"..., 17 <unfinished ...>
[pid 21386] <... write resumed> ) = 17
[pid 21386] poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=6, revents=POLLIN}])
[pid 21386] read(6, <unfinished ...>
[pid 21386] <... read resumed> "250-systemadmin.es\r\n250-AUTH LOGIN PLAIN\r\n250-AUTH=LOGIN PLAIN\r\n250-PIPELINING\r\n250 8BITMIME\r\n"..., 16384) = 101
[pid 21386] poll([{fd=4, events=POLLOUT}], 1, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLOUT}])
[pid 21386] write(4, "\27\3\1\0u\263J\232EW\34\371f\3\357'\nZ\266\201g~pj\212\247\202\355\376\221\236\257\305f\267\210-}\2450|\214\347YJh\302\353g\203\232.\321\2465\27\32]J=\320\216U\17\n\0J\fC\225\211Ig.\357\r\274\357\375\215\na\275\320\253\5\236\30\n\212E\342\214\267\21\371\202U\264\215\27 \235\270\377=Z\227\10\307\f\244,\374\374\226\316x\254u@c"..., 122 <unfinished ...>
[pid 21386] <... write resumed> ) = 122
[pid 21386] poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLIN}])
[pid 21386] read(4, <unfinished ...>
[pid 21386] <... read resumed> "\27\3\1\0006"..., 5) = 5
[pid 21386] read(4, <unfinished ...>
[pid 21386] <... read resumed> "\235G\346EZ\322\347\377\261\f\270}{\337p\240\34eS\5\257\363\r\f\247\355\200\361\275N5Z\373\216\336{\241\234\224\30/\373R*\375\327\224\302\3+\234\34\375\r"..., 54) = 54
[pid 21386] poll([{fd=5, events=POLLOUT}, {fd=6, events=POLLIN}], 2, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=5, revents=POLLOUT}])
[pid 21386] write(5, "MAIL FROM:<oukudeuwu4367@proxad.net>\r\n"..., 38 <unfinished ...>
[pid 21386] <... write resumed> ) = 38
[pid 21386] poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=6, revents=POLLIN}])
[pid 21386] read(6, <unfinished ...>
[pid 21386] <... read resumed> "250 ok\r\n"..., 16384) = 8
[pid 21386] poll([{fd=4, events=POLLOUT}], 1, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLOUT}])
[pid 21386] write(4, "\27\3\1\0\30\301$\365\314\343\226\214K\332Xh\336M\21!\216g\\\321\317\304:$\222"..., 29 <unfinished ...>
[pid 21386] <... write resumed> ) = 29
[pid 21386] poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLIN}])
[pid 21386] read(4, <unfinished ...>
[pid 21386] <... read resumed> "\27\3\1\0002"..., 5) = 5
[pid 21386] read(4, <unfinished ...>
[pid 21386] <... read resumed> "\273bhF\342\213\376\5\252\257\233?\264\267\267\4\3329\36\6>\301\336\301tj\275{\221DZ\265\323\345hI}\271L\212\336O\346(9\233\270\341~\360"..., 50) = 50
[pid 21386] poll([{fd=5, events=POLLOUT}, {fd=6, events=POLLIN}], 2, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=5, revents=POLLOUT}])
[pid 21386] write(5, "RCPT TO:<fkmmgi@systemadmin.es>\r\n"..., 34 <unfinished ...>
[pid 21386] <... write resumed> ) = 34
[pid 21386] poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=6, revents=POLLIN}])
[pid 21386] read(6, <unfinished ...>
[pid 21386] <... read resumed> "550 5.1.1 sorry, no mailbox here by that name (chkuser)\r\n"..., 16384) = 57
[pid 21386] poll([{fd=4, events=POLLOUT}], 1, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLOUT}])
[pid 21386] write(4, "\27\3\1\0I\to]+1\225R\355\272\256|y\3479\35\3150\207\363\327<\344/h\236\251\262t\203R$\231\3208R:\1-\222\244T\253\322'\204\374\310\373C\362C\215\376\351[(}\247\353\16\237h[E\32tp\232\342.\5X\307"..., 78 <unfinished ...>
[pid 21386] <... write resumed> ) = 78
[pid 21386] poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLIN}])
[pid 21386] read(4, <unfinished ...>
[pid 21386] <... read resumed> "\27\3\1\0\26"..., 5) = 5
[pid 21386] read(4, <unfinished ...>
[pid 21386] <... read resumed> "\332\36\346\301Wp\236>\325\231\36\324\353\303\217P\357\213W\276Q\264"..., 22) = 22
[pid 21386] poll([{fd=5, events=POLLOUT}, {fd=6, events=POLLIN}], 2, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=5, revents=POLLOUT}])
[pid 21386] write(5, "QUIT\r\n"..., 6 <unfinished ...>
[pid 21386] <... write resumed> ) = 6
[pid 21386] poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=6, revents=POLLIN}])
[pid 21386] read(6, <unfinished ...>
[pid 21386] <... read resumed> "221 systemadmin.es\r\n"..., 16384) = 27
[pid 21386] poll([{fd=4, events=POLLOUT}], 1, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLOUT}])
[pid 21386] write(4, "\27\3\1\0+\3\231b\251\353$\234\302\23\v\210\227p\300\315\275\31\260\336\02702\36\34\215\3077\263b\r\362\2\1\371\375\244\275F\374\256H\371\260"..., 48 <unfinished ...>
[pid 21386] <... write resumed> ) = 48
[pid 21386] poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLIN}])
[pid 21386] read(4, <unfinished ...>
[pid 21386] <... read resumed> "QUIT\r"..., 5) = 5
[pid 21386] write(4, "\25UI\0\22\303 \260E\321\200g<+\335\252\177\263\"\206n\341k"..., 23 <unfinished ...>
[pid 21386] <... write resumed> ) = 23
[pid 21386] poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 2 ([{fd=4, revents=POLLIN}, {fd=6, revents=POLLHUP}])
[pid 21386] read(6, <unfinished ...>
[pid 21386] <... read resumed> ""..., 16384) = 0
[pid 21386] close(6 <unfinished ...>
[pid 21386] <... close resumed> ) = 0
[pid 21386] write(4, "\25UI\0\22;F\322s\307NQ\214\251\266\233(\263\337\242\311\242\360"..., 23 <unfinished ...>
[pid 21386] <... write resumed> ) = 23
[pid 21386] poll([{fd=4, events=POLLIN}], 1, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLIN}])
[pid 21386] poll([{fd=4, events=POLLIN}], 1, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLIN}])
[pid 21386] poll([{fd=4, events=POLLIN}], 1, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLIN}])
[pid 21386] poll([{fd=4, events=POLLIN}], 1, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLIN}])
[pid 21386] poll([{fd=4, events=POLLIN}], 1, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLIN}])
[pid 21386] poll([{fd=4, events=POLLIN}], 1, 1000020 <unfinished ...>
[pid 21386] <... poll resumed> ) = 1 ([{fd=4, revents=POLLIN}])