New Comment on Issue #github

Pcp Integration <[email protected]>
Newsgroups gmane.comp.sysutils.pcp
Message-ID <[email protected]>

[pcp:master] New Comment on Issue #265 *** buffer overflow detected ***: /usr/libexec/pcp/bin/pmlogger terminated ( https://github.com/performancecopilot/pcp/issues/265 )
By fche ( https://github.com/fche ) :

addr2line can partially decode th backtrace:

======= Backtrace: ========= /lib64/libc.so.6(+0x7566b)[0x7fd67804266b] /lib64/libc.so.6(__fortify_fail+0x37)[0x7fd6780e1c57] /lib64/libc.so.6(+0x112d80)[0x7fd6780dfd80] /lib64/libc.so.6(+0x114bca)[0x7fd6780e1bca] /lib64/libpcp.so.3(+0x5f69d)[0x7fd67860a69d] /usr/src/debug/pcp-3.11.5/src/libpcp/src/secureconnect.c:1630 /lib64/libpcp.so.3(+0x1dfa2)[0x7fd6785c8fa2] /usr/src/debug/pcp-3.11.5/src/libpcp/src/pdu.c:171 /lib64/libpcp.so.3(__pmGetPDU+0x5f)[0x7fd6785c99bf] /usr/libexec/pcp/bin/pmlogger(+0x7f5b)[0x55ea065e8f5b] fetch.c:130 /usr/libexec/pcp/bin/pmlogger(+0x8d3e)[0x55ea065e9d3e] callback.c:513 /usr/libexec/pcp/bin/pmlogger(+0x54e0)[0x55ea065e64e0] pmlogger.c:1025 /lib64/libc.so.6(__libc_start_main+0xf1)[0x7fd677fed731] /usr/libexec/pcp/bin/pmlogger(+0x65e9)[0x55ea065e75e9]

That secureconnect.c line is:

1619 int 1620 __pmSocketReady(int fd, struct timeval *timeout) 1621 { 1622 __pmSecureSocket socket; 1623 __pmFdSet onefd; 1624 1625 if (__pmDataIPC(fd, &socket) == 0 && socket.sslFd) 1626 if (SSL_DataPending(socket.sslFd)) 1627 return 1; /* proceed without blocking */ 1628 1629 FD_ZERO(&onefd); 1630 FD_SET(fd, &onefd); 1631 return select(fd+1, &onefd, NULL, NULL, timeout); 1632 }

and I bet this fd == -1, which may be the same bug corrected in this patch, or maybe a separate copy of the bug that you previously reported here as issue #116.

commit bd32862bf6630c604548a0859e641ea97a75fcd2 Author: Ken McDonell Date: Sat Oct 1 06:3012 2016 +1000 src/libpcp/pdu.c: allow -EINTR to be returned from pduread() If a SIGINT is received during a socket read of a PDU, we want to propagate -EINTR back to the caller, not PM_ERR_IPC or -1, so that the caller can decide what to do.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.