| From: | Christian Ullrich <chris(at)chrullrich(dot)net> |
|---|---|
| To: | pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: Crash with old Windows on new CPU |
| Date: | 2016-02-13 00:26:00 |
| Message-ID: | n9lt74$3sj$1@ger.gmane.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
* Christian Ullrich wrote:
> Backends (and possibly other processes) crash at the slightest
> provocation, such as "SELECT * FROM pg_stat_activity;" or VACUUM. The
> log says either "exception 0xC0000005" (segfault) or "exception
> 0xC000001D" (illegal instruction).
>
> The interesting reason: The old host had a Core-generation CPU, which
> does not support the AVX2 instruction set. The new one has a
> Haswell-generation one, and this one does. The EDB distribution of 9.4
> was built with the Visual Studio 2013 compiler, whose CRT (aka libc) has
> a bug where it uses AVX2 instructions if the *CPU* supports them, but
> does not care whether the *OS* does, and 2008 doesn't. That support was
> added in SP1 for 7/2008R2.
> I just tried it, and it appears to work. If there is any interest in
> fixing this, I'll be happy to prepare a patch. (Where would be the best
> place to put a function call from <math.h> that has to be done during
> startup of each server process, on Windows only?)
startup_hacks(), I think. Proposed patch attached.
--
Christian
| Attachment | Content-Type | Size |
|---|---|---|
| avx2-crash.diff | text/plain | 1016 bytes |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2016-02-13 01:40:15 | Re: Re: [COMMITTERS] pgsql: Add some isolation tests for deadlock detection and resolution. |
| Previous Message | Robert Haas | 2016-02-12 23:44:14 | Re: Re: [COMMITTERS] pgsql: Add some isolation tests for deadlock detection and resolution. |