Good suggestion - mail sent. Will report back here.

> On Jun 15, 2017, at 10:24 PM, Brice Goglin <brice.gog...@inria.fr> wrote:
> 
> You can email scan-ad...@coverity.com <mailto:scan-ad...@coverity.com> to 
> report bugs and/or ask what's going on.
> Brice
> 
> 
> 
> 
> Le 16/06/2017 07:12, Gilles Gouaillardet a écrit :
>> Ralph, 
>> 
>> 
>> my 0.02 US$ 
>> 
>> 
>> i noted the error message mentions 'holding lock 
>> "pmix_mutex_t.m_lock_pthread"', but it does not explicitly mentions 
>> 
>> 'pmix_global_lock' (!) 
>> 
>> at line 446, PMIX_WAIT_THREAD() does release 'cb.lock', which has the same 
>> type than 'pmix_global_lock', but is not the very same lock. 
>> 
>> so maybe coverity is being mislead by PMIX_WAIT_THREAD(), and hence the 
>> false positive 
>> 
>> 
>> if you have contacts at coverity, it would be interesting to report this 
>> false positive 
>> 
>> 
>> 
>> Cheers, 
>> 
>> 
>> Gilles 
>> 
>> 
>> On 6/16/2017 12:02 PM, r...@open-mpi.org <mailto:r...@open-mpi.org> wrote: 
>>> I’m trying to understand some recent coverity warnings, and I confess I’m a 
>>> little stumped - so I figured I’d ask out there and see if anyone has a 
>>> suggestion. This is in the PMIx repo, but it is reported as well in OMPI 
>>> (down in opal/mca/pmix/pmix2x/pmix). The warnings all take the following 
>>> form: 
>>> 
>>> ________________________________________________________________________________________________________
>>>  
>>> *** CID 145810:  Concurrent data access violations  (MISSING_LOCK) 
>>> /src/client/pmix_client.c: 451 in PMIx_Init() 
>>> 445         /* wait for the data to return */ 
>>> 446         PMIX_WAIT_THREAD(&cb.lock); 
>>> 447         rc = cb.status; 
>>> 448         PMIX_DESTRUCT(&cb); 
>>> 449 
>>> 450         if (PMIX_SUCCESS == rc) { 
>>>>>>     CID 145810:  Concurrent data access violations  (MISSING_LOCK) 
>>>>>>     Accessing "pmix_globals.init_cntr" without holding lock 
>>>>>> "pmix_mutex_t.m_lock_pthread". Elsewhere, "pmix_globals_t.init_cntr" is 
>>>>>> accessed with "pmix_mutex_t.m_lock_pthread" held 10 out of 11 times. 
>>> 451             pmix_globals.init_cntr++; 
>>> 452         } else { 
>>> 453             PMIX_RELEASE_THREAD(&pmix_global_lock); 
>>> 454             return rc; 
>>> 455         } 
>>> 456         PMIX_RELEASE_THREAD(&pmix_global_lock); 
>>> 
>>> Now the odd thing is that the lock is in fact being held - it gets released 
>>> 5 lines lower down. However, the lock was taken nearly 100 lines above this 
>>> point. 
>>> 
>>> I’m therefore inclined to think that the lock somehow “slid” outside of 
>>> Coverity’s analysis window and it therefore thought (erroneously) that the 
>>> lock isn’t being held. Has anyone else seen such behavior? 
>>> 
>>> Ralph 
>>> 
>>> _______________________________________________ 
>>> devel mailing list 
>>> devel@lists.open-mpi.org <mailto:devel@lists.open-mpi.org> 
>>> https://rfd.newmexicoconsortium.org/mailman/listinfo/devel 
>>> <https://rfd.newmexicoconsortium.org/mailman/listinfo/devel> 
>> 
>> _______________________________________________ 
>> devel mailing list 
>> devel@lists.open-mpi.org <mailto:devel@lists.open-mpi.org> 
>> https://rfd.newmexicoconsortium.org/mailman/listinfo/devel 
>> <https://rfd.newmexicoconsortium.org/mailman/listinfo/devel>
> 
> _______________________________________________
> devel mailing list
> devel@lists.open-mpi.org <mailto:devel@lists.open-mpi.org>
> https://rfd.newmexicoconsortium.org/mailman/listinfo/devel 
> <https://rfd.newmexicoconsortium.org/mailman/listinfo/devel>
_______________________________________________
devel mailing list
devel@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/devel

Reply via email to