Bug 1039626
Summary: | [amqp1.0] calling getTimestampConfig() qmf method leads to broker crash | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise MRG | Reporter: | Petr Matousek <pematous> | ||||
Component: | qpid-cpp | Assignee: | Gordon Sim <gsim> | ||||
Status: | CLOSED CURRENTRELEASE | QA Contact: | Petr Matousek <pematous> | ||||
Severity: | high | Docs Contact: | |||||
Priority: | high | ||||||
Version: | Development | CC: | esammons, gsim, iboverma, jross, mcressma | ||||
Target Milestone: | 3.0 | ||||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | qpid-cpp-0.22-30 | Doc Type: | Bug Fix | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2015-01-21 12:56:59 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 1010399 | ||||||
Attachments: |
|
Description
Petr Matousek
2013-12-09 16:13:17 UTC
coredump: Core was generated by `qpidd'. Program terminated with signal 11, Segmentation fault. #0 qpid::broker::Broker::getTimestampConfig (this=0x1fc34d0, receive=@0x7ff3d173d468, context=0x0) at /usr/src/debug/qpid-0.22/cpp/src/qpid/broker/Broker.cpp:1012 1012 std::string userId = context->getUserId(); (gdb) t a a bt Thread 4 (Thread 0x7ff3d471b7a0 (LWP 26625)): #0 0x0000003a326e9163 in epoll_wait () at ../sysdeps/unix/syscall-template.S:82 #1 0x00000035acb4dd0d in qpid::sys::Poller::wait (this=0x1fbf640, timeout=...) at /usr/src/debug/qpid-0.22/cpp/src/qpid/sys/epoll/EpollPoller.cpp:566 #2 0x00000035acb4e3e1 in qpid::sys::Poller::run (this=0x1fbf640) at /usr/src/debug/qpid-0.22/cpp/src/qpid/sys/epoll/EpollPoller.cpp:518 #3 0x00000033f07bc532 in qpid::broker::Broker::run (this=<value optimized out>) at /usr/src/debug/qpid-0.22/cpp/src/qpid/broker/Broker.cpp:433 #4 0x00000000004073b7 in qpid::broker::QpiddBroker::execute (this=<value optimized out>, options=<value optimized out>) at /usr/src/debug/qpid-0.22/cpp/src/posix/QpiddBroker.cpp:206 #5 0x000000000040cb04 in qpid::broker::run_broker (argc=1, argv=0x7fff42377648, hidden=<value optimized out>) at /usr/src/debug/qpid-0.22/cpp/src/qpidd.cpp:108 #6 0x0000003a3261ed1d in __libc_start_main (main=0x406c60 <main(int, char**)>, argc=1, ubp_av=0x7fff42377648, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=0x7fff42377638) at libc-start.c:226 #7 0x0000000000406b99 in _start () Thread 3 (Thread 0x7ff3d22c5700 (LWP 26626)): #0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:239 #1 0x00000035acba2a4d in wait (this=0x1fc2e00) at /usr/src/debug/qpid-0.22/cpp/src/qpid/sys/posix/Condition.h:69 #2 wait (this=0x1fc2e00) at /usr/src/debug/qpid-0.22/cpp/src/qpid/sys/Monitor.h:45 #3 qpid::sys::Timer::run (this=0x1fc2e00) at /usr/src/debug/qpid-0.22/cpp/src/qpid/sys/Timer.cpp:186 #4 0x00000035acb438fa in qpid::sys::(anonymous namespace)::runRunnable (p=<value optimized out>) at /usr/src/debug/qpid-0.22/cpp/src/qpid/sys/posix/Thread.cpp:35 #5 0x0000003a32e079d1 in start_thread (arg=0x7ff3d22c5700) at pthread_create.c:301 #6 0x0000003a326e8b6d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115 Thread 2 (Thread 0x7ff3d0d41700 (LWP 26628)): #0 0x0000003a326e9163 in epoll_wait () at ../sysdeps/unix/syscall-template.S:82 #1 0x00000035acb4dd0d in qpid::sys::Poller::wait (this=0x1fbf640, timeout=...) at /usr/src/debug/qpid-0.22/cpp/src/qpid/sys/epoll/EpollPoller.cpp:566 #2 0x00000035acb4e3e1 in qpid::sys::Poller::run (this=0x1fbf640) at /usr/src/debug/qpid-0.22/cpp/src/qpid/sys/epoll/EpollPoller.cpp:518 #3 0x00000035acb438fa in qpid::sys::(anonymous namespace)::runRunnable (p=<value optimized out>) at /usr/src/debug/qpid-0.22/cpp/src/qpid/sys/posix/Thread.cpp:35 #4 0x0000003a32e079d1 in start_thread (arg=0x7ff3d0d41700) at pthread_create.c:301 #5 0x0000003a326e8b6d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115 Thread 1 (Thread 0x7ff3d1742700 (LWP 26627)): #0 qpid::broker::Broker::getTimestampConfig (this=0x1fc34d0, receive=@0x7ff3d173d468, context=0x0) at /usr/src/debug/qpid-0.22/cpp/src/qpid/broker/Broker.cpp:1012 #1 0x00000033f07babb0 in qpid::broker::Broker::ManagementMethod (this=0x1fc34d0, methodId=<value optimized out>, args=..., text="") at /usr/src/debug/qpid-0.22/cpp/src/qpid/broker/Broker.cpp:568 #2 0x00000033f06e2157 in qmf::org::apache::qpid::broker::Broker::doMethod (this=0x1fc4950, methodName="getTimestampConfig", inMap=std::map with 0 elements, outMap=std::map with 0 elements, userId="") at /usr/src/debug/qpid-0.22/cpp/src/qmf/org/apache/qpid/broker/Broker.cpp:1579 #3 0x00000033f08c98ec in qpid::management::ManagementAgent::handleMethodRequest (this=0x1fc3e80, body=<value optimized out>, rte="qmf.default.topic", rtk="direct.c54d8cf1-a812-4f6d-b533-8441129097b3", cid= "1", userId="", viaLocal=true) at /usr/src/debug/qpid-0.22/cpp/src/qpid/management/ManagementAgent.cpp:1447 #4 0x00000033f08d7a65 in qpid::management::ManagementAgent::dispatchAgentCommand (this=0x1fc3e80, msg=..., viaLocal=true) at /usr/src/debug/qpid-0.22/cpp/src/qpid/management/ManagementAgent.cpp:2313 #5 0x00000033f08d82f8 in qpid::management::ManagementAgent::dispatchCommand (this=0x1fc3e80, deliverable=<value optimized out>, routingKey="broker", topic=false, qmfVersion=2) at /usr/src/debug/qpid-0.22/cpp/src/qpid/management/ManagementAgent.cpp:1255 #6 0x00000033f08e9039 in qpid::broker::ManagementDirectExchange::route (this=0x1fd3210, msg=...) at /usr/src/debug/qpid-0.22/cpp/src/qpid/management/ManagementDirectExchange.cpp:48 #7 0x00007ff3d4286f3b in qpid::broker::amqp::IncomingToExchange::handle (this=0x7ff3cc0429c0, message=...) at /usr/src/debug/qpid-0.22/cpp/src/qpid/broker/amqp/Session.cpp:673 #8 0x00007ff3d4255990 in qpid::broker::amqp::DecodingIncoming::readable (this=0x7ff3cc0429c0, delivery=0x7ff3cc042f80) at /usr/src/debug/qpid-0.22/cpp/src/qpid/broker/amqp/Incoming.cpp:121 #9 0x00007ff3d42800ef in qpid::broker::amqp::Session::readable (this=0x7ff3cc028610, link=0x7ff3cc036190, delivery=0x7ff3cc042f80) at /usr/src/debug/qpid-0.22/cpp/src/qpid/broker/amqp/Session.cpp:566 #10 0x00007ff3d4244cae in qpid::broker::amqp::Connection::process (this=0x7ff3cc000aa8) at /usr/src/debug/qpid-0.22/cpp/src/qpid/broker/amqp/Connection.cpp:272 #11 0x00007ff3d4242deb in qpid::broker::amqp::Connection::decode (this=0x7ff3cc000aa8, buffer=<value optimized out>, size=<value optimized out>) at /usr/src/debug/qpid-0.22/cpp/src/qpid/broker/amqp/Connection.cpp:98 #12 0x00007ff3d4277101 in qpid::broker::amqp::Sasl::decode (this=0x7ff3cc000a50, buffer=<value optimized out>, size=355) at /usr/src/debug/qpid-0.22/cpp/src/qpid/broker/amqp/Sasl.cpp:49 #13 0x00000035acb98da0 in qpid::sys::AsynchIOHandler::readbuff (this=0x7ff3c4000aa0, buff=0x7ff3c4001a00) at /usr/src/debug/qpid-0.22/cpp/src/qpid/sys/AsynchIOHandler.cpp:130 #14 0x00000035acb2bc94 in operator() (this=0x7ff3c40010a0, h=...) at /usr/include/boost/function/function_template.hpp:1013 #15 qpid::sys::posix::AsynchIO::readable (this=0x7ff3c40010a0, h=...) at /usr/src/debug/qpid-0.22/cpp/src/qpid/sys/posix/AsynchIO.cpp:453 #16 0x00000035acb9d453 in boost::function1<void, qpid::sys::DispatchHandle&>::operator() (this=<value optimized out>, a0=<value optimized out>) at /usr/include/boost/function/function_template.hpp:1013 #17 0x00000035acb9c5a1 in qpid::sys::DispatchHandle::processEvent (this=0x7ff3c40010a8, type=qpid::sys::Poller::READABLE) at /usr/src/debug/qpid-0.22/cpp/src/qpid/sys/DispatchHandle.cpp:280 #18 0x00000035acb4e3d2 in process (this=0x1fbf640) at /usr/src/debug/qpid-0.22/cpp/src/qpid/sys/Poller.h:131 #19 qpid::sys::Poller::run (this=0x1fbf640) at /usr/src/debug/qpid-0.22/cpp/src/qpid/sys/epoll/EpollPoller.cpp:522 ---Type <return> to continue, or q <return> to quit--- #20 0x00000035acb438fa in qpid::sys::(anonymous namespace)::runRunnable (p=<value optimized out>) at /usr/src/debug/qpid-0.22/cpp/src/qpid/sys/posix/Thread.cpp:35 #21 0x0000003a32e079d1 in start_thread (arg=0x7ff3d1742700) at pthread_create.c:301 #22 0x0000003a326e8b6d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115 Created attachment 834387 [details]
reproducer - qmf2_qpid_ctrl utility
Fixed upstream: https://svn.apache.org/r1549993 Also needs https://svn.apache.org/r1550190 to prevent windows linking failure. This issue has been fixed. Verified on rhel6.5 (x86_64, i386). packages under test: qpid-cpp-*-0.22-30 -> VERIFIED |