[HACKERS] Buildfarm failures on woodlouse (in ecpg-check)

Поиск
Список
Период
Сортировка
От Christian Ullrich
Тема [HACKERS] Buildfarm failures on woodlouse (in ecpg-check)
Дата
Msg-id ohjnr7$8n0$1@blaine.gmane.org
обсуждение исходный текст
Ответы Re: [HACKERS] Buildfarm failures on woodlouse (in ecpg-check)  (Andrew Dunstan <andrew.dunstan@2ndquadrant.com>)
Список pgsql-hackers
Hello,

my buildfarm animal woodlouse (Visual Studio 2013 on Windows 7) stopped 
working correctly some months ago. After Tom kindly prodded me into 
fixing it, I noticed that I had configured it to skip the ecpg-check 
step because one of the tests in the "thread" section (not always the 
same) nearly always failed.

I had set it up in circa 2015, so I reenabled the step to see whether 
anything had changed since, and it started failing again.

Through some trial and error, and with the help of Microsoft's 
Application Verifier tool, I found what I think is the cause: It looks 
like the VS 2013 CRT's setlocale() function is not entirely thread-safe; 
the heap debugging options make it crash when manipulating per-thread 
locale state, and according to the comments surrounding that spot in the 
CRT source, the developers were aware the code is fragile.

I crudely hacked a critical section around the setlocale() call in 
pgwin32_setlocale(). After this change, the test does not crash, while 
without it, it crashes every time.

If there is interest in fixing this issue that is apparently limited to 
VS 2013, I will try and produce a proper patch. I notice, however, that 
there is a pthread compatibility layer available that I have no 
experience with at all, and I assume using it is preferred over straight 
Win32?

My hack is attached; please feel free to tell me I'm on the wrong track.
To build correctly, it requires defining _WIN32_WINNT to be 0x600 or 
above (and using an SDK that knows about InitOnceExecuteOnce()).

-- 
Christian

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

Предыдущее
От: Dean Rasheed
Дата:
Сообщение: [HACKERS] PG10 Partitioned tables and relation_is_updatable()
Следующее
От: Joe Conway
Дата:
Сообщение: [HACKERS] Re: [BUGS] BUG #14682: row level security not work with partitionedtable