On Fri, Feb 12, 2016 at 7:26 PM, Christian Ullrich <ch...@chrullrich.net> wrote: > * 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.
Thanks for the report and patch. Regrettably I haven't the Windows knowledge to have any idea whether it's right or wrong, but hopefully someone who knows Windows will jump in here. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers