Hi Steve, I've made a minor code change that seems to eliminate those locking false positives:
http://svn.apache.org/viewvc?view=revision&revision=1498926 I've tried it against a local installation of Coverity. When you have a chance, can you kick off a coverity scan of upstream and see if we get the same results? If it eliminates the false positives, I'd consider Coverity's behavior buggy and would like to report it. BTW, I had no luck coming up with a model that would fix the issue. The tools don't give any (obvious) feedback as to how it's interpreting the model - or any way that I could find that would enable debugging of the model to find out what it was actually doing. -K ----- Original Message ----- > From: "Ken Giusti" <kgiu...@redhat.com> > To: dev@qpid.apache.org > Cc: shus...@riverace.com > Sent: Monday, July 1, 2013 6:46:55 PM > Subject: Re: New Defects reported by Coverity Scan for Apache-Qpid > > Ok - I'll give it a go, stay tuned. > > -K > > ----- Original Message ----- > > From: "Steve Huston" <shus...@riverace.com> > > To: dev@qpid.apache.org > > Sent: Monday, July 1, 2013 2:32:14 PM > > Subject: RE: New Defects reported by Coverity Scan for Apache-Qpid > > > > Yes, there is a way - I can do it, probably because I'm the admin for the > > project. If you create one, I'll set it up. > > > > > -----Original Message----- > > > From: Ken Giusti [mailto:kgiu...@redhat.com] > > > Sent: Monday, July 01, 2013 2:11 PM > > > To: dev@qpid.apache.org > > > Subject: Re: New Defects reported by Coverity Scan for Apache-Qpid > > > > > > Hi Steve, > > > > > > I've marked that particular error as "false positive" in Coverity > > > Connect, > > > but > > > from what I can tell, the "right" way to fix such lock wrapper classes is > > > to > > > create a "model" for those wrapper classes. There's some documentation > > > here: > > > > > > http://scan5.coverity.com:8080/docs/en/cov_checker_ref.html#static_c_ch > > > ecker_LOCK > > > > > > > > > Is there a way to configure a model file for the coverity checker? A > > > quick > > > look > > > at our project page on the coverity web site didn't seem to allow that. > > > > > > > > > ----- Original Message ----- > > > > From: "Steve Huston" <shus...@riverace.com> > > > > To: dev@qpid.apache.org > > > > Sent: Monday, July 1, 2013 1:18:58 PM > > > > Subject: RE: New Defects reported by Coverity Scan for Apache-Qpid > > > > > > > > I agree, Ken. If anyone knows how to make Coverity stop this, please > > > > let me know. Else I'll check into it. I know there are a few ways to > > > > mark things as false positive. > > > > > > > > > -----Original Message----- > > > > > From: Ken Giusti [mailto:kgiu...@redhat.com] > > > > > Sent: Monday, July 01, 2013 1:17 PM > > > > > To: Qpid Dev > > > > > Subject: Re: New Defects reported by Coverity Scan for Apache-Qpid > > > > > > > > > > Unless I'm missing something subtle, this appears to be a false > > > > > positive. > > > > > > > > > > Coverity marked a few uses of ScopedLock with this error, but not > > > > > all, which seems curious. > > > > > > > > > > -K > > > > > > > > > > > > > > > ----- Forwarded Message ----- > > > > > > From: scan-ad...@coverity.com > > > > > > To: dev@qpid.apache.org > > > > > > Sent: Sunday, June 30, 2013 5:39:43 PM > > > > > > Subject: New Defects reported by Coverity Scan for Apache-Qpid > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > __________________________________________________________ > > > > > ____________ > > > > > > __ > > > > > > CID 1040637: Missing unlock (LOCK) > > > > > > > > > > > > > > > /qpidbuilds/trunk/qpid/cpp/src/qpid/broker/amqp_0_10/Connection.cpp: > > > > > > 379 ( > > > > > > lock) > > > > > > 376 > > > > > > 377 void Connection::doIoCallbacks() { > > > > > > 378 if (!isOpen()) return; // Don't process IO callbacks > > > > > > until > > > > > > we > > > > > > are open. > > > > > > >>> > > > > > "qpid::sys::ScopedLock<qpid::sys::Mutex>::ScopedLock(qpid::sys::Mute > > > > > x > > > > > &)" > > > > > > >>> locks "this->ioCallbackLock.mutex". > > > > > > 379 ScopedLock<Mutex> l(ioCallbackLock); > > > > > > 380 while (!ioCallbacks.empty()) { > > > > > > 381 boost::function0<void> cb = ioCallbacks.front(); > > > > > > 382 ioCallbacks.pop(); > > > > > > 383 ScopedUnlock<Mutex> ul(ioCallbackLock); > > > > > > > > > > > > > > > > > > > > > /qpidbuilds/trunk/qpid/cpp/src/qpid/broker/amqp_0_10/Connection.cpp: > > > > > > 386 ( > > > > > > missing_unlock) > > > > > > 383 ScopedUnlock<Mutex> ul(ioCallbackLock); > > > > > > 384 cb(); // Lend the IO thread for management > > > > > > processing > > > > > > 385 } > > > > > > >>> CID 1040637: Missing unlock (LOCK) Returning without unlocking > > > > > > >>> "this->ioCallbackLock.mutex". > > > > > > 386 } > > > > > > 387 > > > > > > 388 bool Connection::doOutput() { > > > > > > 389 try { > > > > > > 390 doIoCallbacks(); > > > > > > > > > > > > > > > > > > > > __________________________________________________________ > > > > > ____________ > > > > > > __ To view the defects in Coverity Scan visit, > > > > > > http://scan.coverity.com > > > > > > > > > > > > To unsubscribe from the email notification for new defects, > > > > > > http://scan5.coverity.com/cgi-bin/unsubscribe.py > > > > > > > > > > > > > > > > > > > > > -------------------------------------------------------------------- > > > > > - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For > > > > > additional commands, e-mail: dev-h...@qpid.apache.org > > > > > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional > > > > commands, e-mail: dev-h...@qpid.apache.org > > > > > > > > > > -- > > > -K > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional > > > commands, e-mail: dev-h...@qpid.apache.org > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org > > For additional commands, e-mail: dev-h...@qpid.apache.org > > > > -- > -K > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org > For additional commands, e-mail: dev-h...@qpid.apache.org > > -- -K --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org