[pulseaudio-discuss] Coverity scan

Philip Withnall philip at tecnocode.co.uk
Wed Mar 1 13:46:03 UTC 2017


On Wed, 2017-03-01 at 14:35 +0100, Peter Meerwald-Stadler wrote:
> Hello,
> 
> > I’ve just disabled the weekly Jenkins/Coverity Scan builds of
> > PulseAudio on jenkins.freedesktop.org to stop them continually
> > recreating the pa_assert_se() issues in the report.
> 
> ok
> what coverity version is installed on jenkins?

Coverity Build Capture (64-bit) version 7.7.0.4 on Linux 3.16.0-4-amd64 
x86_64
Internal version numbers: 95508fdf3e p-indio-push-22816.475

> > I don’t have time to modify the definition of pa_assert_se() to fix
> > this in upstream git at the moment. I’d love to re-enable the
> > builds in
> > Jenkins when someone does fix this though. Arun seemed to approve
> > of
> > them, at least.
> 
> can't we just stick
> #nodef pa_assert_se(_unique_x) do { int _unique_y = _unique_x ; if
> (!_unique_y) __coverity_panic__(); } while (0)
> into config/user_nodefs.h for now?

No. I do not want to add hacks to the infrastructure there for specific
modules. That Coverity installation is used for scanning 40 different
modules, and adding configuration specific to one module might
negatively impact on the others.

This is a problem which needs to be fixed in upstream PulseAudio. It
doesn’t just stop jenkins.fdo from submitting sane Coverity results —
it’s configuration which has to be repeated by every PA maintainer who
wants to submit results.

Philip

> > On Wed, 2017-02-22 at 12:06 +0000, Philip Withnall wrote:
> > > Hi,
> > > 
> > > On Wed, 2017-02-22 at 11:52 +0000, Philip Withnall wrote:
> > > > Apologies if this has been discussed before (I don’t follow
> > > > PulseAudio
> > > > development), but why not stick this in the server-side
> > > > Coverity
> > > > modelling file? Does that not work?
> > > 
> > > Having just tried it, apparently it doesn’t work. I guess the
> > > preprocessing is all done at cov-build time, and no information
> > > about
> > > macros is sent up to the server for the modelling file to use.
> > > 
> > > > Failing that, there’s the __COVERITY__ macro which could be
> > > > used to
> > > > change the definition of pa_assert_se() in upstream git:
> > > > https://lost-contact.mit.edu/afs/cs.stanford.edu/pkg/prevent-4.
> > > > 3.1/
> > > > i3
> > > > 86
> > > > _linux26/opt/prevent-linux-4.3.1/doc/prevent_admin.html#N40430
> > > 
> > > So there’s still this to try.
> > 
> > ^-- This is the approach I think is worth trying.
> > 
> > Philip
> > 
> > > (Note: I’m not on the PulseAudio mailing list, so please include
> > > me
> > > in
> > > CC in replies.)
> 
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20170301/6ca533cc/attachment.sig>


More information about the pulseaudio-discuss mailing list