You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Gordon Sim (JIRA)" <ji...@apache.org> on 2011/04/04 16:38:05 UTC

[jira] [Resolved] (QPID-3174) broker crash using rdma+sasl

     [ https://issues.apache.org/jira/browse/QPID-3174?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gordon Sim resolved QPID-3174.
------------------------------

    Resolution: Fixed

> broker crash using rdma+sasl
> ----------------------------
>
>                 Key: QPID-3174
>                 URL: https://issues.apache.org/jira/browse/QPID-3174
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: 0.9
>            Reporter: michael j. goulish
>            Assignee: Ken Giusti
>             Fix For: 0.10
>
>
> This is sometimes very hard to observe.  I was lucky enough to see it three times in the space of 500 iterations yesterday, but now, with same code & scripts & system, I have no repetition after 6000 iterations.
> my tree rev number is  1084895
> Here is the backtrace -- all 3 have been identical:
>       #0  0x0000003f8d030265 in raise (sig=<value optimized out>)
>         at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
>       #1  0x0000003f8d031d10 in abort () at abort.c:88
>       #2  0x0000003f8d0296e6 in __assert_fail (
>           assertion=0x2b28f90400aa "completionsNeeded.get() > 0",
>           file=0x2b28f903fe58 "./qpid/broker/AsyncCompletion.h", line=167,
>           function=0x2b28f9040440 "void qpid::broker::AsyncCompletion::end(qpid::broker::AsyncCompletion::Callback&)") at assert.c:78
>       #3  0x00002b28f8fe2935 in qpid::broker::AsyncCompletion::end (this=0x2aaab60c2e50,
>           cb=<value optimized out>) at ./qpid/broker/AsyncCompletion.h:167
>       #4  0x00002b28f8fdf3f3 in qpid::broker::SessionState::handleContent (
>           this=0x2aaabc4157d0, frame=..., id=<value optimized out>)
>           at qpid/broker/SessionState.cpp:265
>       #5  0x00002b28f8fdf830 in qpid::broker::SessionState::handleIn (this=0x2aaabc4157d0,
>           frame=...) at qpid/broker/SessionState.cpp:355
>       #6  0x00002b28f94799dc in qpid::amqp_0_10::SessionHandler::handleIn (
>           this=0x2aaab0025680, f=...) at qpid/amqp_0_10/SessionHandler.cpp:93
>       #7  0x00002b28f8f2622b in operator() (this=0x2aaab38cffa0, frame=...)
>           at ./qpid/framing/Handler.h:42
>       #8  qpid::broker::Connection::received (this=0x2aaab38cffa0, frame=...)
>           at qpid/broker/Connection.cpp:164
>       #9  0x00002b28f8ef8300 in qpid::amqp_0_10::Connection::decode (this=0x2aaabc47d240,
>           buffer=<value optimized out>, size=<value optimized out>)
>           at qpid/amqp_0_10/Connection.cpp:58
>       #10 0x00002b28f94c25e5 in qpid::sys::cyrus::CyrusSecurityLayer::decode (
>           this=0x2aaabc468480, input=0x2aaab2aa97d0 "", size=118)
>           at qpid/sys/cyrus/CyrusSecurityLayer.cpp:59
>       #11 0x00002b28f999c7d8 in qpid::sys::RdmaIOHandler::readbuff (this=0x2aaab002d9e0,
>           buff=0xffffffffffffffff) at qpid/sys/RdmaIOPlugin.cpp:218
>       #12 0x00002b28f9bba75a in boost::function2<void, Rdma::AsynchIO&, Rdma::Buffer*, std::allocator<boost::function_base> >::operator() (this=0x0, a0=..., a1=0x6)
> here is my broker start script:
> -------------- start script -----------------------
> #! /bin/bash
> export LD_LIBRARY_PATH=$TRUNK/qpid/cpp/src/.libs
> QPID_SRC=$TRUNK/qpid/cpp/src
> QPIDD=${QPID_SRC}/.libs/qpidd
> echo $QPIDD
> rm -rf /tmp/mick
> mkdir /tmp/mick
> $QPIDD                                        \
>   --no-module-dir                             \
>   --load-module ${QPID_SRC}/.libs/rdma.so     \
>   --data-dir /tmp/mick/data_1                 \
>   --auth=yes                                  \
>   --mgmt-enable=yes                           \
>   --port 5813                                 \
>   --log-enable info+                          \
>   --log-to-file /tmp/mick/qpidd_1.log         \
>   --log-source yes                            \
>   --sasl-config=${QPID_SRC}/tests/sasl_config \
>   -d
> echo "started broker from $QPIDD"
> ----------- end script ------------------------
> and here is my client iterator script;
> ---------------------- start script ---------------------
> #! /bin/bash
> rm core.* ~/.qpidd/core*
> count=0
> while [ $count -lt 10000 ]
> do
>   echo "==========================================="
>   echo "TEST $count"
>   echo "==========================================="
>   sleep 1
>   core_files=`ls -l core.* ~/.qpidd/core* | wc -l`
>   echo "core files:  ${core_files}"
>   if [ ${core_files} -gt 0 ]; then
>     echo "core files found!"
>     exit 1
>   else
>     echo "no core files found."
>   fi
>   ./qpid-perftest --username zig --password zig --protocol rdma --broker 20.0.40.14 --port 5813 --qt 4 --count 10
>   count=$(( $count + 1 ))
> done
> ---------------------- end script -----------------------
> the sasl config directory that the broker is pointing at was created by the script cpp/src/tests/sasl_test_setup.sh
> also, you need to set  "ulimit -l 131072"    (at least that value)   before starting the broker.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org