[omniORB] potential deadlock?

Michael Teske subscribe at teskor.de
Tue Oct 24 09:32:35 BST 2017


Hi,

don't know if this is really a problem, but I recently ran a program of
mine with TSAN thread-sanitizer and it found this lock-order-inversion
(potential deadlock) in omniorb:

SocketCollection::Select holds pd_collection_lock
(if count >0 in line 269)
and calls notifyReadable (line 315)
which may call giopServer::notifyRzReadable
which wants pd_lock

versus

giopServer::instantiate holds pd_lock
and calls tcpEndpoint::Bind()
which calls SocketCollection::addSocket
which wants pd_collection_lock

Maybe it's not a real problem because giopServer::instantiate is called
only on creation time, but I though I'd let you know.

Greetings,
  Michael



More information about the omniORB-list mailing list