[Vortex] Bug in vortex_connection on_close_full list handling

Gernot Seidler gseidler at egenera.com
Thu Jan 13 07:53:16 CET 2011


Hi Francis,

Thanks for your prompt answers to my questions. I appreciate the support.

I think I found a bug in vortex-1.1.6.b4526.g4526 that is triggered when using the vortex_alive feature.
__vortex_alive_trigger_failure() calls vortex_connection_remove_on_close_full(), which removes the on_close_full handler with the connection->handlers_mutex
held.

Another thread might be in the process of already shutting down the connection, which triggers the code path:
vortex_connection_shutdown()
_vortex_connection_set_not_connected()
_vortex_connection_invoke_on_close()

_vortex_connection_invoke_on_close() walks the on_close_full list with the connection->op_mutex held.
The same mutex should be used when modifying or traversing the list.
_vortex_connection_invoke_on_close() should also use the connection->handlers_mutex.


Best regards

Gernot Seidler
Software Architect
Egenera Inc. | Converge. Unify. Simplify.(tm)
508-858-3185 (office)
508-481-3114 (fax)
http://www.egenera.com
<http://www.egenera.com/>http://blog.egenera.com<http://blog.egenera.com/>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.aspl.es/pipermail/vortex/attachments/20110113/29a80897/attachment.html>


More information about the Vortex mailing list