Re: BUG #15121: Multiple UBSAN errors
От | Tomas Vondra |
---|---|
Тема | Re: BUG #15121: Multiple UBSAN errors |
Дата | |
Msg-id | 7f798f51-05c4-304a-f852-9cea35f5f095@2ndquadrant.com обсуждение исходный текст |
Ответ на | Re: BUG #15121: Multiple UBSAN errors (Martin Liška <marxin.liska@gmail.com>) |
Ответы |
Re: BUG #15121: Multiple UBSAN errors
|
Список | pgsql-bugs |
On 03/19/2018 03:28 PM, Martin Liška wrote: > On 19 March 2018 at 15:26, Tomas Vondra <tomas.vondra@2ndquadrant.com> wrote: >> On 03/19/2018 09:59 AM, Martin Liška wrote: >>> On 19 March 2018 at 01:34, Tomas Vondra <tomas.vondra@2ndquadrant.com> wrote: >>> >>> ... >>>> >>>> Again, the line numbers don't really match the code I have, but I guess >>>> it's the same issue as for pg_comp_crc32c_sse42. This is apparently >>>> related to array serialization, and I guess we have a compact structure >>>> (intentionally, to make it smaller), and we accept the unaligned access. >>> >>> Note that building postgresql with -03, I see some array tests failing. >>> >> >> I'm unable to reproduce that. I do get a bunch of compile-time warnings >> about possibly uninitialized variables (which seem bogus after a quick >> inspection), but no failures. > > Note that the errrors I reported come from running an instrumented postgres > with "-fsanitize=undefined -g" option. > I'm getting failures in errors, union and alter_table, but none of those are related to arrays. So, which tests are failing for you and how do the failures look like? I've tried both gcc 7.3 and trunk, and all failures look like this: -- this used to be a syntax error, but now we allow an empty target list select; + print.c:916:4: runtime error: null pointer passed as argument 1, which is declared to never be null + /usr/include/bits/string3.h:90:10: runtime error: null pointer passed as argument 1, which is declared to never be null Which seems to trigger the error on this line in print.c: memset(header_done, false, col_count * sizeof(bool)); likely because with empty select list col_count=0. So about the same cause as for fwrite(). -- Tomas Vondra http://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-bugs по дате отправления: