[ https://issues.apache.org/jira/browse/QPID-7786?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pavel Moravec resolved QPID-7786. --------------------------------- Resolution: Fixed Fix Version/s: qpid-cpp-1.37.0 > qpidd segfaults during startup when SSL certificate cant be read > ---------------------------------------------------------------- > > Key: QPID-7786 > URL: https://issues.apache.org/jira/browse/QPID-7786 > Project: Qpid > Issue Type: Bug > Components: C++ Broker > Reporter: Pavel Moravec > Assignee: Pavel Moravec > Fix For: qpid-cpp-1.37.0 > > > When qpidd can't read NSS password file, or when SSL certificate name is not > found / readable in the NSS database, qpidd segfaults at startup with > backtrace: > {code} > (gdb) bt > #0 0x00007f3010a4f704 in qpid::sys::SocketAddress::nextAddress > (this=this@entry=0x7ffe36dc0570) at > /usr/src/debug/qpid-cpp-0.34/src/qpid/sys/posix/SocketAddress.cpp:321 > #1 0x00007f301113ec17 in qpid::sys::SocketAcceptor::listen > (this=this@entry=0x29bf500, interfaces=..., port=port@entry=5671, > backlog=backlog@entry=10, factory=...) > at /usr/src/debug/qpid-cpp-0.34/src/qpid/sys/SocketTransport.cpp:150 > #2 0x00007f3010fdfdbb in qpid::sys::SslPlugin::initialize > (this=0x7f3011407180 <qpid::sys::sslPlugin>, target=...) at > /usr/src/debug/qpid-cpp-0.34/src/qpid/sys/SslPlugin.cpp:126 > #3 0x00007f3010a876af in operator() (a1=..., p=<optimized out>, > this=<synthetic pointer>) at /usr/include/boost/bind/mem_fn_template.hpp:165 > #4 operator()<boost::_mfi::mf1<void, qpid::Plugin, qpid::Plugin::Target&>, > boost::_bi::list1<qpid::Plugin* const&> > (a=<synthetic pointer>, > f=<synthetic pointer>, > this=<synthetic pointer>) at /usr/include/boost/bind/bind.hpp:313 > #5 operator()<qpid::Plugin*> (a1=@0x2488ce0: 0x7f3011407180 > <qpid::sys::sslPlugin>, this=<synthetic pointer>) at > /usr/include/boost/bind/bind_template.hpp:47 > #6 for_each<__gnu_cxx::__normal_iterator<qpid::Plugin* const*, > std::vector<qpid::Plugin*> >, boost::_bi::bind_t<void, boost::_mfi::mf1<void, > qpid::Plugin, qpid::Plugin::Target&>, boost::_bi::list2<boost::arg<1>, > boost::reference_wrapper<qpid::Plugin::Target> > > > (__f=..., __last=..., > __first=<qpid::sys::sslPlugin>) at /usr/include/c++/4.8.2/bits/stl_algo.h:4417 > #7 qpid::(anonymous namespace)::each_plugin<boost::_bi::bind_t<void, > boost::_mfi::mf1<void, qpid::Plugin, qpid::Plugin::Target&>, > boost::_bi::list2<boost::arg<1>, > boost::reference_wrapper<qpid::Plugin::Target> > > > (f=...) at > /usr/src/debug/qpid-cpp-0.34/src/qpid/Plugin.cpp:73 > #8 0x00007f3010a877a2 in qpid::Plugin::initializeAll (t=...) at > /usr/src/debug/qpid-cpp-0.34/src/qpid/Plugin.cpp:91 > #9 0x00007f3010ffc99a in qpid::broker::Broker::Broker (this=0x249bae0, > conf=...) at /usr/src/debug/qpid-cpp-0.34/src/qpid/broker/Broker.cpp:376 > #10 0x0000000000405c82 in qpid::broker::QpiddBroker::execute > (this=this@entry=0x7ffe36dc284e, options=0x24909a0) at > /usr/src/debug/qpid-cpp-0.34/src/posix/QpiddBroker.cpp:229 > #11 0x0000000000409d04 in qpid::broker::run_broker (argc=3, > argv=0x7ffe36dc2be8, hidden=<optimized out>) at > /usr/src/debug/qpid-cpp-0.34/src/qpidd.cpp:108 > #12 0x00007f300fb0db35 in __libc_start_main (main=0x404ce0 <main(int, > char**)>, argc=3, ubp_av=0x7ffe36dc2be8, init=<optimized out>, > fini=<optimized out>, rtld_fini=<optimized out>, > stack_end=0x7ffe36dc2bd8) at ../csu/libc-start.c:274 > #13 0x0000000000404f51 in _start () > (gdb) list > 316 (void) getAddrInfo(*this); > 317 } > 318 } > 319 > 320 bool SocketAddress::nextAddress() const { > 321 bool r = currentAddrInfo->ai_next != 0; > 322 if (r) > 323 currentAddrInfo = currentAddrInfo->ai_next; > 324 return r; > 325 } > (gdb) p currentAddrInfo > $2 = (addrinfo *) 0x0 > (gdb) > {code} > It is OK if the broker won't start, but it should not segfault. -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org