Re: Upgrade 10.5->10.6 : db crash BUS ERROR (sig 10), reproducible

Поиск
Список
Период
Сортировка
От Andrew Gierth
Тема Re: Upgrade 10.5->10.6 : db crash BUS ERROR (sig 10), reproducible
Дата
Msg-id 874l8ed31p.fsf@news-spur.riddles.org.uk
обсуждение исходный текст
Ответ на Upgrade 10.5->10.6 : db crash BUS ERROR (sig 10), reproducible  (Peter <pmc@citylink.dinoex.sub.org>)
Ответы Re: Upgrade 10.5->10.6 : db crash BUS ERROR (sig 10), reproducible
Re: Upgrade 10.5->10.6 : db crash BUS ERROR (sig 10), reproducible
Список pgsql-admin
>>>>> "Peter" == Peter  <pmc@citylink.dinoex.sub.org> writes:

 Peter> Hi, 
 Peter> after upgrading from 10.5 to 10.6.2, database now says this:

 Peter> Mar 7 13:58:43 <local0.info> edge postgres[1816]: [8-1] :[] LOG:
 Peter> worker process: parallel worker for PID 3526 (PID 3527) was
 Peter> terminated by signal 10: Bus error

I'm assuming from the CC that this is on FreeBSD, but on what
architecture?

Did it drop a core file (look in the data dir for postgres.core) and if
so can you get a backtrace?

 Peter> Time to read the relnotes: 

 >> When building on i386 with the clang compiler, require -msse2 to be
 >> used (Andres Freund) This avoids problems with missed floating point
 >> overflow checks.

 Peter> What the hell does that mean? Does it concern the build process?
 Peter> Or the operation? Why does it only concern the Clang? And what
 Peter> is SSE2 concerned with?

It concerns only overflow checks in floating-point computations.

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.

This is only a problem on clang because gcc has other options we can use
to force working infinity tests.

You can check whether your CPU supports SSE2 by looking at the Features=
line in /var/run/dmesg.boot. It seems unlikely that it does not, because
SSE2 was introduced in 2000 with the Pentium 4.

-- 
Andrew (irc:RhodiumToad)


В списке pgsql-admin по дате отправления:

Предыдущее
От: pavan95
Дата:
Сообщение: Re: Too many Row Exclusive Locks held for a long time
Следующее
От: Palle Girgensohn
Дата:
Сообщение: Re: Upgrade 10.5->10.6 : db crash BUS ERROR (sig 10), reproducible