Re: Upgrade 10.5->10.6 : db crash BUS ERROR (sig 10), reproducible
От | Ron |
---|---|
Тема | Re: Upgrade 10.5->10.6 : db crash BUS ERROR (sig 10), reproducible |
Дата | |
Msg-id | 48e7067e-d7d6-2a6b-8368-34d529bbd1ed@gmail.com обсуждение исходный текст |
Ответ на | Re: Upgrade 10.5->10.6 : db crash BUS ERROR (sig 10), reproducible (Andrew Gierth <andrew@tao11.riddles.org.uk>) |
Список | pgsql-admin |
On 3/7/19 5:30 PM, Andrew Gierth wrote: >>>>>> "Palle" == Palle Girgensohn <girgen@FreeBSD.org> writes: > >> Clang's __builtin_isinf(x) function, which is supposed to test if x is > >> infinite, does not work reliably on i386 when the x87 registers are used > >> for floating point. It does work if the SSE2 registers are used instead, > >> which clang will do if the -msse2 option is used. The downside of course > >> is that the code will no longer run on CPUs that are old enough to vote. > > Palle> For this reason, we build i386 with gcc starting with version > Palle> 10.6. the CFLAGS+=--msse2 was not realiable for all CPU:s since > Palle> not all i386 CPU:s support SSE2. > > Palle> We had one report of a user who had SSE2 flag still on (int > Palle> /etc/make.conf) when building, and got the same problem. > Palle> [https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236025 > Palle> <https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236025>] > > The user in that bug report was using a Pentium 4, which supports SSE2, > so it's not the lack of SSE2 that caused the problem. But if it's compiled for i386 instead of i686? > Furthermore, the crash was in XLogReadRecord, which does not use floats. > > So I'm going to guess that your bug 236025 is actually an alignment > problem, with the compiler making some assumption about alignment that > we're violating. I'll investigate and see what I can find. -- Angular momentum makes the world go 'round.
В списке pgsql-admin по дате отправления: