Hi Gordon,

The patch fixes my first issue (the broker not sending heartbeats). 

Unfortunately the second issue persists. Now I trigger a heartbeat timeout
in the client by disconnecting a network cable. The client notices the
missing heartbeat (shows the "debug Traffic timeout" message), but then does
not do any reconnect attempts. When the Sender is up to capacity, it seems
to block indefinitely in a sync() call. Stack trace below.      

--Wolf


kernel32.dll!7c809590()         
boost_thread-vc90-mt-gd-1_46_1.dll!boost::this_thread::interruptible_wait(void
* handle_to_wait_for=0x00001730, boost::detail::timeout target_time={...}) 
Line 454 + 0x34 bytes   C++
qpidclientd.dll!boost::detail::basic_cv_list_entry::wait(boost::detail::timeout
wait_until={...})  Line 82 + 0x20 bytes C++
qpidclientd.dll!boost::detail::basic_condition_variable::do_wait<boost::recursive_mutex>(boost::recursive_mutex
& lock={...}, boost::detail::timeout wait_until={...})  Line 218 + 0x1e
bytes   C++
qpidclientd.dll!boost::condition_variable_any::wait<boost::recursive_mutex>(boost::recursive_mutex
& m={...})  Line 369    C++
qpidclientd.dll!qpid::sys::Condition::wait(qpid::sys::Mutex & mutex={...}) 
Line 62 C++
qpidclientd.dll!qpid::sys::Monitor::wait()  Line 42     C++
qpidclientd.dll!qpid::sys::Waitable::wait()  Line 92    C++
qpidclientd.dll!qpid::client::SessionImpl::waitForCompletionImpl(const
qpid::framing::SequenceNumber & id={...})  Line 181     C++
qpidclientd.dll!qpid::client::SessionImpl::waitForCompletion(const
qpid::framing::SequenceNumber & id={...})  Line 174     C++
qpidclientd.dll!qpid::client::Future::wait(qpid::client::SessionImpl &
session={...})  Line 33 C++
qpidclientd.dll!qpid::client::SessionBase_0_10::sync()  Line 50 + 0x35 bytes
C++
qpidmessagingd.dll!qpid::client::amqp0_10::SenderImpl::waitForCapacity() 
Line 106 + 0xe bytes    C++
qpidmessagingd.dll!qpid::client::amqp0_10::SenderImpl::Send::operator()() 
Line 111        C++
qpidmessagingd.dll!qpid::client::amqp0_10::SessionImpl::execute<qpid::client::amqp0_10::SenderImpl::Send>(qpid::client::amqp0_10::SenderImpl::Send
& f={...})  Line 100    C++
qpidmessagingd.dll!qpid::client::amqp0_10::SenderImpl::send(const
qpid::messaging::Message & message={...}, bool sync=false)  Line 44 + 0x1e
bytes   C++
qpidmessagingd.dll!qpid::messaging::Sender::send(const
qpid::messaging::Message & message={...}, bool sync=false)  Line 35 + 0x2a
bytes   C++


--
View this message in context: 
http://qpid.2158936.n2.nabble.com/Heartbeats-in-C-broker-on-Windows-tp7118702p7150140.html
Sent from the Apache Qpid users 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