Hi guys,

I have a crash which I can reproduce reliably on the dispatcher at trunk.

A dispatcher is configured to pull messages from a QPID-java broker
queue for subscribing.

qdmanage -b localhost:2727 create --type=connector name=broker
role=on-demand addr=localhost port=5672
qdmanage -b localhost:2727 create --type=address prefix=myqueue waypoint=true
qdmanage -b localhost:2727 create --type=autoLink addr=myqueue dir=in
connection=broker

The queue on the broker is filled with a large quantity of messages.
Reading the messages from the dispatcher, while creating a new
connection for each consumer crashes.

@Test
public void dispatcherSend() throws JMSException {
    int consumers = 1000;
    String remoteURI = "amqp://dispatcher-host:2727";

    for (int i = 0; i < consumers; i++) {
        System.out.println("On consumer " + i);

        ConnectionFactory connectionFactory = new
JmsConnectionFactory(remoteURI);
        Connection connection = connectionFactory.createConnection();
        connection.start();
        Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
        Queue queue = session.createQueue("atr.queue");
        MessageConsumer consumer = session.createConsumer(queue);
        consumer.receive(1000);
        connection.close();
    }
}


I have seen two different assertions fail with these crashes:

qdrouterd: 
/src/new/atrufanow/qpid-env/qpid-dispatch/src/router_core/connections.c:474:
qdr_link_cleanup_CT: Assertion `(unsettled).size == 1' failed.

qdrouterd: 
/src/new/atrufanow/qpid-env/qpid-dispatch/src/router_core/transfer.c:114:
qdr_link_process_deliveries: Assertion `(link->undelivered).size == 1'
failed.

Host is linux Redhat and compiler is GCC 4.4.7

Alexandre

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to