LINUX.ORG.RU

Qt, перезагружается xorg

 , ,


0

2

x86, gentoo-sources-4.1.12, xorg-server-1.16.4, dev-qt/qt-meta-4.8.6

Установил qt-creator и с его помощью собрал пустую программку. То есть программка вообще ничего не делает - исключительный дефолт (пустая форма).

Если выполнить её - она ничего не делает, как и должно быть. В stdout программы - пусто, в stderr - пусто.

Если выполнить её ещё раз - перезагружаются иксы. В stdout программы - пусто, в stderr -

ICE default IO error handler doing an exit(), pid = 4079, errno = 11

иногда

ICE default IO error handler doing an exit(), pid = 4459, errno = 104

Что может быть? Как побороть?

Ответ на: комментарий от Pinkbyte

emerge --info тут.

/etc/portage/make.conf тут.

Программка на qt тут.

Только что попробовал разные варианты.

Может с кириллицей что-то не так? Где-то я слышал, что Qt с кириллицей в названиях файлов не дружит.

Потому что именно один из примеров в названии которого есть кириллица заставляет иксы перегружаться.

user0xff ()
Ответ на: комментарий от user0xff

иксы в любом случае падать от такого не должны

CFLAGS="-O3

А вот от такого - могут. Чем -O2 общесистемно не угодил? -O3 лучше выставлять только определенным приложениям.

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от deity

у qt есть уже дебагер?

У Qt есть GDB, ёпт. Только отлаживать иксы ТСу рановато.

Stil ★★★★★ ()
Ответ на: комментарий от Pinkbyte

Хайп вокруг O3 необоснован и идёт от хомяков, которые не понимают что происходит. Если что-то может зафелится от оптимизации — оно сделает это с O2.

anonymous ()
Ответ на: комментарий от anonymous

У меня куча примеров обратного, когда с -O2 всё работает шикарно, а с -O3 - фэйл. Потому что в -O3 часто включают неоттестированные оптимизации(собственно чтобы их оттестировать, да).

Тем не менее, я сталкивался и со случаями, когда программа корректно работала только с -O0, так что ты не так уж и неправ.

Вообще разговор не сильно предметным получается, надо смотреть на конкретные флаги gcc, включаемые в случае -O2 и -O3 соответственно. Но тут я не большой спец, обычно обращаюсь к старшим товарищам за разъяснениями.

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от Pinkbyte

Давай примеры. Обычно что происходит на самом деле — это неподходящие процессору или ломающие конкретную программу -march= -msse*, которые при O2 могут не генерировать этих неподходящих инструкций, а с O3 начинают. Те хомяки от непонимания путают причину и невиновный O3.

anonymous ()
Ответ на: комментарий от anonymous

mesa c d3d9 валится с -mfpmath=sse

На x86, не на amd64, забыл уточнить.

anonymous ()

Я так и не понял в чём причина и разбираться особо желания нет.

Но поэкспериментировал с разными дистрибутивами.

1. Gentoo (подробности в предыдущем посте)

$ uname -a Linux m1 4.1.12-gentoo #6 SMP Mon Nov 9 11:38:22 EET 2015 i686 Intel(R) Core(TM) i5 CPU U 470 @ 1.33GHz GenuineIntel GNU/Linux

Иксы перегружаются при втором (!) выполнении программы.

2. ArchLinux

$ uname -a Linux myhost 4.2.5-1-ARCH #1 SMP PREEMPT Tue Oct 27 08:13:28 CET 2015 x86_64 GNU/Linux

Иксы перегружаются при первом (!) выполнении программы.

3. Debian

# uname -a Linux m1 3.16.0-4-686-pae #1 SMP Debian 3.16.7-ckt11-1+deb8u5 (2015-10-09) i686 GNU/Linux

Иксы не перегружаются. Даже если программу выполнять многократно.

Debian брался для i386.

Собственно там где это всё будет крутиться - процессор Celeron (Family 15, Model 0). И таких 13 компьютеров. Оперативной памяти на всех по 1гб.

Долго был ArchLinux (для i686), но при установке Qt Creator 3.5.1 в последнем полно артефактов. Как побороть не понятно. Поэтому затеял переход на Debian. Но работать в нём не возможно - всё очень медленно...

Поэтому Gentoo, ну и флаг -O3.

user0xff ()
Ответ на: комментарий от Pinkbyte

Никогда, кстати, с флагом -O3 проблем не было.

ArchLinux дефолтный (читай -O2), но, однако, обозначенные проблемы с Qt там есть.

Забавно, что программа на Qt - она даже не «Hello world!»...

user0xff ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.