[Vortex] Bug? Channel iterators returning channels that aren't open yet
Jens Alfke
jens at mooseyard.com
Tue Apr 8 07:38:14 CEST 2008
I believe I'm running into a race condition in Vortex (current SVN),
where client code can open a channel asynchronously, and then using
vortex_connection_get_channel_by_func can find that VortexChannel
before it's been fully opened. If it sends a message over that
channel, the message can go over the socket before the channel's been
created, causing the remote peer to panic and abort the connection.
I'm definitely seeing an intermittent bug with that effect (one peer
complains about getting a message for a nonexistent channel). It
frustratingly goes away if I turn on full logging, but I'm seeing some
other results that strongly suggest that
vortex_connection_get_channel_by_func is showing me channels whose
VortexOnChannelCreated callbacks haven't been called yet.
I'm about to change my code to stop iterating over the channel list,
since this behavior's causing other problems for me too; that should
work around the problem. But I wanted to note its existence so that it
could be fixed. Sorry I don't have a test case, but maybe my
description will be of help to an expert looking through the Vortex
code.
—Jens
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1875 bytes
Desc: not available
Url : http://lists.aspl.es/pipermail/vortex/attachments/20080407/b75c2ff1/attachment.bin
More information about the Vortex
mailing list