ARMmbed / sockets

mbed sockets library abstraction layer
Other
6 stars 18 forks source link

Having two streams open causes a k64f to hang. #16

Closed rainierwolfcastle closed 8 years ago

rainierwolfcastle commented 9 years ago

@bremoran

rainierwolfcastle commented 9 years ago

ARM Internal Ref: IOTSFW-994

bremoran commented 8 years ago

I see no indication of a sockets-related hang. It is possible that this is related to https://github.com/ARMmbed/minar/issues/12 and that the added event burden of running two TCPStreams caused the issue to come to light more easily.

https://github.com/ARMmbed/sockets/issues/33

The referenced test opens 4 simultaneous connections to an echo server. The test sends 54-60 byte packets to the echo server. A new packet is sent each time the old one is received.

The test I have added ran to 320 iterations before anything went wrong. At that point, stream 3 stopped posting messages. The remaining tests ran to 1680 messages each, then they all stopped posting messages.

This particular failure mode leads me to believe that this is a scheduling error. I have also seen a minar assert during testing after leaving a stopped board for a while:

assertation failed: to_a < from && or_b >= from, file: /Users/bremor01/dev/yotta/import/so
ckets/yotta_modules/minar/source/minar.cpp, line 553

I suspect that this issue is shadowing https://github.com/ARMmbed/minar/issues/12. Proving this will be difficult until that issue is fixed.

bremoran commented 8 years ago

Subsequent testing has not been able to reproduce this issue. I believe this issue can be closed now.