From: | Peter Geoghegan <pg(at)heroku(dot)com> |
---|---|
To: | Andreas Seltenreich <seltenreich(at)gmx(dot)de> |
Cc: | Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: [sqlsmith] Failed assertion in joinrels.c |
Date: | 2015-08-02 08:39:28 |
Message-ID: | CAM3SWZTxGBsYzcESc=3jkUx4o0cY2m8+2mG-eH5L2SBcjLgBOw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, Jul 31, 2015 at 5:56 PM, Andreas Seltenreich <seltenreich(at)gmx(dot)de> wrote:
> sqlsmith triggered the following assertion in master (c188204).
Thanks for writing sqlsmith. It seems like a great tool.
I wonder, are you just running the tool with assertions enabled when
PostgreSQL is built? If so, it might make sense to make various
problems more readily detected. As you may know, Clang has a pretty
decent option called AddressSanitizer that can detect memory errors as
they occur with an overhead that is not excessive. One might use the
following configure arguments when building PostgreSQL to use
AddressSanitizer:
./configure CC=clang CFLAGS='-O1 -g -fsanitize=address
-fno-omit-frame-pointer -fno-optimize-sibling-calls' --enable-cassert
Of course, it remains to be seen if this pays for itself. Apparently
the tool has about a 2x overhead [1]. I'm really not sure that you'll
find any more bugs this way, but it's certainly possible that you'll
find a lot more. Given your success in finding bugs without using
AddressSanitizer, introducing it may be premature.
[1] http://clang.llvm.org/docs/AddressSanitizer.html#introduction
--
Peter Geoghegan
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Geoghegan | 2015-08-02 09:11:47 | Incorrect comment about abbreviated keys |
Previous Message | Piotr Stefaniak | 2015-08-02 07:59:36 | Re: [sqlsmith] Failed assertion in joinrels.c |