ОК, я наконец нашел причину (благодаря кому-то в National Instruments), более эффективную диагностику и обходной путь.
Ошибка во многих версиях libxcb и является проблемой 32-разрядного опрокидывания счетчика который известен в течение нескольких лет: https://bugs.freedesktop.org/show_bug.cgi?id=71338
Не все версии libxcb затронуты libxcb-1.9 -5 имеет, libxcb-1.5-1 нет. Из списка ошибок 64-битная ОС не должна быть затронута, но мне удалось запустить ее хотя бы на одну версию.
Это приводит меня к лучшей диагностике. Следующая программа выйдет из строя менее чем за 15 минут в затронутых библиотеках (лучше, чем за всю неделю, которую она ранее взяла):
// Compile with: gcc test.c -lX11 && time ./a.out
#include
void main(void) {
Display *d = XOpenDisplay(NULL);
if (d)
for(;;)
XNoOp(d);
}
И одна последняя вещь, вышеупомянутая прога скомпилирована и работает на 64-битной система отлично работает, скомпилирована и работает на старой 32-битной системе, также отлично работает, но если я перенесу 32-разрядную версию в 64-битную систему, она сработает через несколько минут.