Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 4FF9D200C01 for ; Thu, 19 Jan 2017 20:17:04 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 4952D160B54; Thu, 19 Jan 2017 19:17:04 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 9005A160B3A for ; Thu, 19 Jan 2017 20:17:03 +0100 (CET) Received: (qmail 39857 invoked by uid 500); 19 Jan 2017 19:17:02 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 39847 invoked by uid 99); 19 Jan 2017 19:17:02 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Jan 2017 19:17:02 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id E725A1A0149 for ; Thu, 19 Jan 2017 19:17:01 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.498 X-Spam-Level: X-Spam-Status: No, score=0.498 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd2-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=rowe-clan-net.20150623.gappssmtp.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id 1MarsgrdRSnU for ; Thu, 19 Jan 2017 19:16:56 +0000 (UTC) Received: from mail-io0-f182.google.com (mail-io0-f182.google.com [209.85.223.182]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 1F2945FB79 for ; Thu, 19 Jan 2017 19:16:56 +0000 (UTC) Received: by mail-io0-f182.google.com with SMTP id l66so45611605ioi.1 for ; Thu, 19 Jan 2017 11:16:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rowe-clan-net.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-transfer-encoding; bh=C1rbK/tGcdj/gfvikOZzJ18s7a2jT4Jr6TPva3vT9cM=; b=w5Y1w2xzgola2z3rQPvARANlgRQLfOHdPAVJDzd7onb0Up3qZMeDAnPs91CdWdxXys UCeNAbJWqxbGMQF2YT47H3GHSNI0gM22r0qjh8aQd9mJGa5M/deryr+WlVxn5jHMDts+ znmnpndJw8GSjqQ5f5c9nOyiddtoBo3JE6TaNhJL8A31JXDroW5KhldkibOsVCDwzMJy KAvgiHNx1OXROU7Y4T2u98urhJRsgUb7pE9/awyxRxAOOcDQePVAo3mWpmBex0RaBQyM qLRNtJZrITgwBwB3zEgwIUOEQ3gP5qsy5RpFpHMWml/Ig2JSI/NgL3LyrX/czqSuXvt7 ma1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-transfer-encoding; bh=C1rbK/tGcdj/gfvikOZzJ18s7a2jT4Jr6TPva3vT9cM=; b=VQNHdcZ41DE4fHxdGCnT7N01Oj/Zjx6qaWhB6hy7M0mbCNYTtQdtgRbY7jxBIE0yw5 RNQbpkd+vp3AeOB5I7RAA8ZFwCkEPF70csqDAoqrEfY5uPaT8Lt2CKrs7aFZ5i2Y6wMh Gn0Ne1frp3EqVPznoKoescd0t7/JY2aSQSkRO1NQRhxicsR3hCjJZbMtQOo3bkqdRcEi MpzGZzKCQY6m8sqaJvbiKduDEu6RPKKgJoijT6+2bKxqjUR8krBFFFg4wje8XWz9EsAO HrULL2+r+M5Gm7ZjBtZwB3VV2NF6kZAGSN6Qay0N8az6yakHco9ymhPKYs9U+wPdAHeG 3taQ== X-Gm-Message-State: AIkVDXIwpKxYC2mdPGleuS62vaiAlubZM+1KqkwWDvlMQi7gHi9wrZnnyHTjlDMUyXe6qukWSg2rlFmhsBuenu5v X-Received: by 10.107.199.130 with SMTP id x124mr9940050iof.216.1484853411572; Thu, 19 Jan 2017 11:16:51 -0800 (PST) MIME-Version: 1.0 Received: by 10.107.11.35 with HTTP; Thu, 19 Jan 2017 11:16:51 -0800 (PST) In-Reply-To: <2198B9E6-B467-45DB-AE82-F1CF90F483AE@sharp.fm> References: <75ED2CB5-B12E-4516-BED3-9BD0263282F3@apache.org> <2198B9E6-B467-45DB-AE82-F1CF90F483AE@sharp.fm> From: William A Rowe Jr Date: Thu, 19 Jan 2017 13:16:51 -0600 Message-ID: Subject: Re: clang-analyzer? To: httpd Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable archived-at: Thu, 19 Jan 2017 19:17:04 -0000 On Mon, Jan 9, 2017 at 3:48 AM, Graham Leggett wrote: > On 08 Jan 2017, at 4:45 AM, Leif Hedstrom wrote: > >> I ran clang-analyzer against the HTTPD master branch, and it found 126 i= ssues. Many of these are benign, but I was curious if the community has any= thoughts on this? With another project, I=E2=80=99ve found that keep stati= c code analysis to zero issues can really help finding new, serious issues = (basically, we put the tree in failed state if there=E2=80=99s a new static= code analysis issue). >> >> The issues are all over the source code, in core and mod_=E2=80=99s alik= e. It=E2=80=99d be pretty tedious to file individual tickets for each of th= em, so curious if there=E2=80=99s any interest in cleaning this up to start= with a clean state? It=E2=80=99d then be easy to add clang-analyzer to the= release process for example. > > Adding clang-analyzer to a make target (not a default part of the build) = would be a good step, it would make it easy for anyone to run it if they ha= d it available. > > The most effective contributions would be patches to fix each one. From e= xperience it is difficult to fix these sort of things without the ability t= o rerun the analyser to ensure the issue is gone, and every now and again i= ssues uncover things that may take some time to fix. Agreed that getting th= ese things to zero would be a good thing to have. Fixing those that are bugs is a no-brainer. Getting these to zero, let's say the 80% that don't represent bugs... is a challenge. 1. We fix on trunk. Backports of later bug fixes are harder to apply. 2. We fix on trunk and backport to 2.4. Simplifies any later backports. But this also introduces unnecessary regressions. My personal preference... 3. We create a patch to trunk for these issues (in a working branch would seem most straightforward, but a git clone and fork could also hold this work in progress.) Apply only once the beta to our next major.minor appears to be acceptable for GA, and in one final beta cycle, introduce these no-op changes, including whatever formatting and whitespace cleanup is desired by the group. Third option also makes backports to the legacy branch harder to apply, but at this point, fewer backports would be expected, so the net merge time and hassle should be less than the first option of committing no-op fixes to trunk as they are encountered.