Hide Forgot
Description of problem: During connecting an authentication requiring broker the command "qpid-tool guest@hostname" have different behaviour on the various platforms: a) On Rhel5-x86-64 and Rhel6-x86-64 the tool tries to connect the broker via the "guest" account; asks the user for password, but fails at this moment; the system can read no input from the keyboard. b) On Rhel5-i386 and Rhel6-i386 connects the broker via "anonymous" account (without password request). Version-Release number of selected component (if applicable): cyrus-sasl-2.1.22-5.el5_4.3 cyrus-sasl-devel-2.1.22-5.el5_4.3 cyrus-sasl-lib-2.1.22-5.el5_4.3 cyrus-sasl-plain-2.1.22-5.el5_4.3 python-qpid-0.10-1.el5 python-qpid-qmf-0.10-10.el5 python-saslwrapper-0.10-4.el5 qpid-cpp-client-0.10-7.el5 qpid-cpp-client-devel-0.10-7.el5 qpid-cpp-client-devel-docs-0.10-7.el5 qpid-cpp-client-ssl-0.10-7.el5 qpid-cpp-mrg-debuginfo-0.10-6.el5 qpid-cpp-server-0.10-7.el5 qpid-cpp-server-cluster-0.10-7.el5 qpid-cpp-server-devel-0.10-7.el5 qpid-cpp-server-ssl-0.10-7.el5 qpid-cpp-server-store-0.10-7.el5 qpid-cpp-server-xml-0.10-7.el5 qpid-java-client-0.10-6.el5 qpid-java-common-0.10-6.el5 qpid-java-example-0.10-6.el5 qpid-qmf-0.10-10.el5 qpid-qmf-debuginfo-0.10-6.el5 qpid-qmf-devel-0.10-10.el5 qpid-tools-0.10-5.el5 ruby-saslwrapper-0.10-4.el5 saslwrapper-0.10-4.el5 saslwrapper-devel-0.10-4.el5 How reproducible: 100% Steps to Reproduce: 1. Set authentication request for the broker by modifying row "auth=yes" in the /etc/qpidd.conf file. 2. Try to use "qpid-tool guest@hostname" command. Actual results: On Rhel5/6-x86-64 the tool asks the user for password but fails and can read no input from the keyboard. On Rhel5/6-i386 connects the broker via "anonymous" account. Expected results: The tool should ask the user for password and after its confirmation connect the broker via the "guest" account. Additional info: Qpid configuration file transcript: [root@hostname ~]# cat /etc/qpidd.conf log-enable=info+ log-to-file=/var/lib/qpidd/qpidd.log truncate=no auth=yes qpidd.log transcript part from Rhel5-x86-64: [root@hostname ~]# tailf /var/lib/qpidd/qpidd.log 2011-06-06 14:42:09 info > TPL write cache page size: 4 (Kib) 2011-06-06 14:42:09 info > TPL number of write cache pages: 64 2011-06-06 14:42:09 info Registered replication exchange 2011-06-06 14:42:10 info Most recent persistence id found: 0x0 2011-06-06 14:42:10 info SASL enabled 2011-06-06 14:42:10 notice Listening on TCP port 5672 2011-06-06 14:42:10 info SSL plugin not enabled, you must set --ssl-cert-db to enable it. 2011-06-06 14:42:10 info Policy file not specified. ACL Disabled, no ACL checking being done! 2011-06-06 14:42:10 notice Broker running 2011-06-06 14:42:28 info SASL: Mechanism list: LOGIN PLAIN ANONYMOUS qpidd.log transcript part fom Rhel5-i386: [root@hostname ~]# tailf /var/lib/qpidd/qpidd.log 2011-06-06 15:44:22 info Queue "qmfagent-45bf8e9c-9260-4de7-affb-15c0c210429b": Flow limit created: flowStopCount=0, flowResumeCount=0, flowStopSize=83886080, flowResumeSize=73400320 2011-06-06 15:44:40 info SASL: Mechanism list: ANONYMOUS LOGIN PLAIN 2011-06-06 15:44:40 info 10.34.37.202:5672-10.34.37.203:42256 SASL: Authentication succeeded for: anonymous@QPID 2011-06-06 15:44:40 info Queue "reply-dhcp-37-203.lab.eng.brq.redhat.com.3523.1": Policy created: type=reject; maxCount=0; maxSize=104857600 2011-06-06 15:44:40 info Queue "reply-dhcp-37-203.lab.eng.brq.redhat.com.3523.1": Flow limit created: flowStopCount=0, flowResumeCount=0, flowStopSize=83886080, flowResumeSize=73400320 2011-06-06 15:44:40 info Queue "topic-dhcp-37-203.lab.eng.brq.redhat.com.3523.1": Policy created: type=ring; maxCount=0; maxSize=104857600 2011-06-06 15:44:40 info Queue "qmfc-v2-dhcp-37-203.lab.eng.brq.redhat.com.3523.1": Policy created: type=reject; maxCount=0; maxSize=104857600 2011-06-06 15:44:40 info Queue "qmfc-v2-dhcp-37-203.lab.eng.brq.redhat.com.3523.1": Flow limit created: flowStopCount=0, flowResumeCount=0, flowStopSize=83886080, flowResumeSize=73400320 2011-06-06 15:44:40 info Queue "qmfc-v2-ui-dhcp-37-203.lab.eng.brq.redhat.com.3523.1": Policy created: type=ring; maxCount=0; maxSize=104857600 2011-06-06 15:44:40 info Queue "qmfc-v2-hb-dhcp-37-203.lab.eng.brq.redhat.com.3523.1": Policy created: type=ring; maxCount=0; maxSize=104857600
Retested on RHEL 5.6 with last released and current candidate with the same results. The observation proved above case a). qpid-tool running w/o password (qpid-tool guest@...) get hanged after password is entered: [root@dhcp-26-233 ~]# qpid-tool guest@localhost Management Tool for QPID qpid: Please enter your password: u I doubt that there is conflict between qpid-tool's interactive mode and interactive password question. Interestingly when you get to such situation SECOND key press is echoed! Analysis of the hanged qpid-tool shows: [root@dhcp-26-233 ~]# ps auxw | grep qpid-too root 22089 0.1 2.7 185528 10260 pts/0 Sl+ 14:16 0:00 /usr/bin/python /usr/bin/qpid-tool guest@localhost root 22175 0.0 0.1 61228 752 pts/1 R+ 14:17 0:00 grep qpid-too [root@dhcp-26-233 ~]# pstack 22089 Thread 3 (Thread 0x425e2940 (LWP 22092)): #0 0x0000003df0e0cd01 in sem_wait () from /lib64/libpthread.so.0 #1 0x00000038e3cb9478 in PyThread_acquire_lock () from /usr/lib64/libpython2.4.so.1.0 #2 0x00000038e3c97364 in PyEval_RestoreThread () from /usr/lib64/libpython2.4.so.1.0 #3 0x00002af9cb7774e5 in ?? () from /usr/lib64/python2.4/lib-dynload/timemodule.so #4 0x00000038e3c9639a in PyEval_EvalFrame () from /usr/lib64/libpython2.4.so.1.0 #5 0x00000038e3c972c5 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.4.so.1.0 #6 0x00000038e3c95a1f in PyEval_EvalFrame () from /usr/lib64/libpython2.4.so.1.0 #7 0x00000038e3c972c5 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.4.so.1.0 #8 0x00000038e3c95a1f in PyEval_EvalFrame () from /usr/lib64/libpython2.4.so.1.0 #9 0x00000038e3c972c5 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.4.so.1.0 #10 0x00000038e3c95a1f in PyEval_EvalFrame () from /usr/lib64/libpython2.4.so.1.0 #11 0x00000038e3c95e46 in PyEval_EvalFrame () from /usr/lib64/libpython2.4.so.1.0 #12 0x00000038e3c95e46 in PyEval_EvalFrame () from /usr/lib64/libpython2.4.so.1.0 #13 0x00000038e3c972c5 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.4.so.1.0 #14 0x00000038e3c4c6d7 in ?? () from /usr/lib64/libpython2.4.so.1.0 #15 0x00000038e3c36430 in PyObject_Call () from /usr/lib64/libpython2.4.so.1.0 #16 0x00000038e3c3c52f in ?? () from /usr/lib64/libpython2.4.so.1.0 #17 0x00000038e3c36430 in PyObject_Call () from /usr/lib64/libpython2.4.so.1.0 #18 0x00000038e3c90f1d in PyEval_CallObjectWithKeywords () from /usr/lib64/libpython2.4.so.1.0 #19 0x00000038e3cbceed in ?? () from /usr/lib64/libpython2.4.so.1.0 #20 0x0000003df0e0673d in start_thread () from /lib64/libpthread.so.0 #21 0x0000003df06d44bd in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x42fe3940 (LWP 22093)): #0 0x0000003df06c6750 in __read_nocancel () from /lib64/libc.so.6 #1 0x0000003df066bcde in _IO_file_read_internal () from /lib64/libc.so.6 #2 0x0000003df066cd57 in _IO_new_file_underflow () from /lib64/libc.so.6 #3 0x0000003df0662578 in getdelim () from /lib64/libc.so.6 #4 0x0000003df06d00f9 in getpass () from /lib64/libc.so.6 #5 0x00002af9cc68cfae in saslwrapper::ClientImpl::interact(sasl_interact*) () from /usr/lib64/libsaslwrapper.so.1 #6 0x00002af9cc68e095 in saslwrapper::ClientImpl::start(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&) () from /usr/lib64/libsaslwrapper.so.1 #7 0x00002af9cc68e49c in saslwrapper::Client::start(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&) () from /usr/lib64/libsaslwrapper.so.1 #8 0x00002af9cc47276b in ?? () from /usr/lib64/python2.4/site-packages/_saslwrapper.so #9 0x00000038e3c36430 in PyObject_Call () from /usr/lib64/libpython2.4.so.1.0 #10 0x00000038e3c9480c in PyEval_EvalFrame () from /usr/lib64/libpython2.4.so.1.0 #11 0x00000038e3c972c5 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.4.so.1.0 #12 0x00000038e3c95a1f in PyEval_EvalFrame () from /usr/lib64/libpython2.4.so.1.0 #13 0x00000038e3c95e46 in PyEval_EvalFrame () from /usr/lib64/libpython2.4.so.1.0 #14 0x00000038e3c95e46 in PyEval_EvalFrame () from /usr/lib64/libpython2.4.so.1.0 #15 0x00000038e3c972c5 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.4.so.1.0 #16 0x00000038e3c4c7ca in ?? () from /usr/lib64/libpython2.4.so.1.0 #17 0x00000038e3c36430 in PyObject_Call () from /usr/lib64/libpython2.4.so.1.0 #18 0x00000038e3c9480c in PyEval_EvalFrame () from /usr/lib64/libpython2.4.so.1.0 #19 0x00000038e3c95e46 in PyEval_EvalFrame () from /usr/lib64/libpython2.4.so.1.0 #20 0x00000038e3c972c5 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.4.so.1.0 #21 0x00000038e3c4c6d7 in ?? () from /usr/lib64/libpython2.4.so.1.0 #22 0x00000038e3c36430 in PyObject_Call () from /usr/lib64/libpython2.4.so.1.0 #23 0x00000038e3c3c52f in ?? () from /usr/lib64/libpython2.4.so.1.0 #24 0x00000038e3c36430 in PyObject_Call () from /usr/lib64/libpython2.4.so.1.0 #25 0x00000038e3c90f1d in PyEval_CallObjectWithKeywords () from /usr/lib64/libpython2.4.so.1.0 #26 0x00000038e3cbceed in ?? () from /usr/lib64/libpython2.4.so.1.0 #27 0x0000003df0e0673d in start_thread () from /lib64/libpthread.so.0 #28 0x0000003df06d44bd in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x2af9c6fcb170 (LWP 22089)): #0 0x0000003df0e0d91b in read () from /lib64/libpthread.so.0 #1 0x00002aaaaace8aa7 in rl_getc () from /usr/lib64/libreadline.so.5 #2 0x00002aaaaace8eba in rl_read_key () from /usr/lib64/libreadline.so.5 #3 0x00002aaaaacd7921 in readline_internal_char () from /usr/lib64/libreadline.so.5 #4 0x00002aaaaace952e in rl_callback_read_char () from /usr/lib64/libreadline.so.5 #5 0x00002aaaaaaaf1b5 in ?? () from /usr/lib64/python2.4/lib-dynload/readline.so #6 0x00000038e3c337df in PyOS_Readline () from /usr/lib64/libpython2.4.so.1.0 #7 0x00000038e3c8b16b in ?? () from /usr/lib64/libpython2.4.so.1.0 #8 0x00000038e3c9639a in PyEval_EvalFrame () from /usr/lib64/libpython2.4.so.1.0 #9 0x00000038e3c972c5 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.4.so.1.0 #10 0x00000038e3c95a1f in PyEval_EvalFrame () from /usr/lib64/libpython2.4.so.1.0 #11 0x00000038e3c972c5 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.4.so.1.0 #12 0x00000038e3c97312 in PyEval_EvalCode () from /usr/lib64/libpython2.4.so.1.0 #13 0x00000038e3cb39f9 in ?? () from /usr/lib64/libpython2.4.so.1.0 #14 0x00000038e3cb4ea8 in PyRun_SimpleFileExFlags () from /usr/lib64/libpython2.4.so.1.0 #15 0x00000038e3cbb33d in Py_Main () from /usr/lib64/libpython2.4.so.1.0 #16 0x0000003df061d994 in __libc_start_main () from /lib64/libc.so.6 #17 0x0000000000400629 in _start ()