diff --git a/src/networkpluginserver.cpp b/src/networkpluginserver.cpp index 9a7f1d4a..2af2a2a8 100644 --- a/src/networkpluginserver.cpp +++ b/src/networkpluginserver.cpp @@ -952,6 +952,17 @@ void NetworkPluginServer::pingTimeout() { else { LOG4CXX_INFO(logger, "Disconnecting backend " << (*it) << " (ID=" << (*it)->id << "). PING response not received."); toRemove.push_back(*it); + +#ifndef WIN32 + // generate coredump for this backend to find out why it wasn't able to respond to PING + std::string pid = (*it)->id; + if (!pid.empty()) { + try { + kill(boost::lexical_cast(pid), SIGABRT); + } + catch (...) { } + } +#endif } if ((*it)->users.size() == 0) {