Hello.I have written a simple program that tries to open a connection to a
qpid broker. 
I am using qpid 0.5 on Centos5.4 x86_64.

I have the following code :
/* 
 * File:   main.cpp
 * Author: root
 *
 * Created on March 2, 2010, 4:49 PM
 */

#include <stdlib.h>
#include <qpid/client/Connection.h>
#include <qpid/client/Session.h>
#include <qpid/client/SubscriptionManager.h>

#include <string>
#include <stdexcept>
using namespace std;

int main(int argc, char** argv) {
    qpid::client::Connection connection;
    std::cout<<"Begin"<<std::endl;    
    try {
        connection.open("host", 5672, "user", "password");
    } catch( std::exception &e) {
        std::cout<<e.what()<<std::endl;
    } catch(...)  {
        std::cout<<"errors"<<std::endl;
    }    
    if( connection.isOpen() ) {
        std::cout<<"Opened"<<std::endl;
    }
    std::cout<<"exit"<<std::endl;
    return (EXIT_SUCCESS);
}
The problem is that if the first argument of connection.open is not a valid
host (for example an ip where there is no qpid broker) the program gets
stucked in the open() function. 
This is the gdb backtrace when the host parameter is not valid. The SIGINT
signal is caused by me pressing CTRL +C .

(gdb) run
Starting program: /root/NetBeansProjects/test/dist/Debug/GNU-Linux-x86/test 
[Thread debugging using libthread_db enabled]
[New Thread 0x2b9f6590f080 (LWP 18906)]
Begin

Program received signal SIGINT, Interrupt.
0x0000003fa14d44f0 in __connect_nocancel () from /lib64/libc.so.6
(gdb) bt
#0  0x0000003fa14d44f0 in __connect_nocancel () from /lib64/libc.so.6
#1  0x00002b9f64da7376 in qpid::sys::Socket::connect (this=0x2675030,
ho...@0x2682228, p=<value optimized out>) at qpid/sys/posix/Socket.cpp:159
#2  0x00002b9f649cbb5d in qpid::client::TCPConnector::connect
(this=0x2674f40, ho...@0x2682228, port=5672) at
qpid/client/Connector.cpp:189
#3  0x00002b9f649bfacb in qpid::client::ConnectionImpl::open
(this=0x2682130) at qpid/client/ConnectionImpl.cpp:137
#4  0x00002b9f649b26f9 in qpid::client::Connection::open
(this=0x7fff7c9ea390, settin...@0xffffffff) at
qpid/client/Connection.cpp:122
#5  0x00002b9f649b2dce in qpid::client::Connection::open
(this=0x7fff7c9ea390, ho...@0x7fff7c9ea400, port=5672, u...@0x7fff7c9ea3f0,
p...@0x7fff7c9ea3e0, 
    vho...@0x7fff7c9ea3d0, maxFrameSize=65535) at
qpid/client/Connection.cpp:100
#6  0x0000000000402201 in main (argc=1, argv=0x7fff7c9ea518) at main.cpp:26


-- 
View this message in context: 
http://n2.nabble.com/Connection-open-get-stuck-with-wrong-host-address-tp4661786p4661786.html
Sent from the Apache Qpid developers mailing list archive at Nabble.com.

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to