Вы здесь

ошибка сегментирования

Я работаю на программе blender-2.5
Последнее время мучает неустойчивость программы, программа закрывается и
в консоли выводится сообщение "ошибка сегментирования".
????????????????
Есть подозрения на флаги
Флаги процессора
CFLAGS="${CFLAGS} -march=native -mtune=core2 -fomit-frame-pointer -ftree-vectorize -mmmx -mno-sahf"
gcc версия 4.4.5 (Gentoo 4.4.5 p1.3, pie-0.4.5)

Либо может какой, зависящий пакет глючит (сбой наблюдается при запуске рендера)

1. Как насчёт более информативного названия темы?
2. Да, CFLAGS крайне подозрительны.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

да, поспешил
Думаете пересборка мира поможет?
(Просто времени в обрез, работа поджимает, и не знаю вот как))))

Гарантировать не могу, но перебрать сто́ит.

А тему можно и изменить.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Похоже наплохие сфлаги :)

brothermechanic написал:
CFLAGS="${CFLAGS} -march=native -mtune=core2 -fomit-frame-pointer -ftree-vectorize -mmmx -mno-sahf"

Стоило бы выполнить команду gcc -march=native -E -v - </dev/null 2>&1 | sed -n 's/.* -v - //p'а её вывод вставить в CFLAGS, например:

$ gcc -march=native -E -v - </dev/null 2>&1 | sed -n 's/.* -v - //p'
-D_FORTIFY_SOURCE=2 -march=core2 -mcx16 -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=core2

/etc/make.conf

...
CFLAGS="-march=core2 -mcx16 -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=core2"
CXXFLAGS="${CFLAGS}"
...

P.S. По мотивам "У меня процессор <имярек>. Что подставлять в переменную CFLAGS?"

Working on Gentoo Linux for Asus P535 and Qtopia :-)

oleg_kaa написал:
Стоило бы выполнить команду gcc -march=native -E -v - </dev/null 2>&1 | sed -n 's/.* -v - //p'а её вывод вставить в CFLAGS

И в чём смысл? Посмотреть, какие флаги включит -march=native и вписать их вместо этого самого native? Это интересная мысль.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

CFLAGS="${CFLAGS} -march=native -mtune=core2 -fomit-frame-pointer -ftree-vectorize -mmmx -mno-sahf"

Информативно. Особенно изначальное состояние ${CFLAGS}. И где ТС нашел такой рецепт? А что вписано в CXXFLAGS? Помнится года четыре назад (слава копипасту, позор wi) имел непревзойденные глюки из за разницы сих переменных.

wi написал:
изначальное состояние ${CFLAGS}

Оно назначается в профиле (для конкретного профиля и смотреть надо конкретно), к примеру у меня в nomultilib это -O2 -pipe, так что вряд ли здесь могут быть какие-либо странности

Цитата:
где ТС нашел такой рецепт?

Да где бы не нашёл - флаги вполне адекватные

Цитата:
что вписано в CXXFLAGS? Помнится года четыре назад (слава копипасту, позор wi) имел непревзойденные глюки из за разницы сих переменных

Не болтайте ерундой. Сама по себе разница в принципе не может создать никаких проблем (в противном случае и не требовалось бы указывать флаги в различных переменных - всё бралось бы из одной. Надеюсь, вы знаете, в каких случаях из каких переменных берутся значения флагов). Естественно при условии адекватности ентих самых флагов. Единственный момент, ТС не указал свой камень - если это обычный Core2, то все они, как правило, знают инструкцию sahf, поэтому указывать -mno-sahf не есть хорошо, если же у него Core-i7(5,3), то да - интелы поддержку sahf из них убрали и флаг очень даже уместен, поск-ку GCC с упорством, достойным лучшего применения пытается задействовать данную инструкцию (не взирая на march и mtune), но тогда уж и mtune ТС есть смысл изменить на core7-avx

Мы тоже не всего читали Шнитке!.. © В. Вишневский

перезборка не помогла
$ blender-2.5
read blend: /blender/film/kolibri/colibri.blend
Ошибка сегментирования

пересобирал с такими флагами
CFLAGS="-march=native -O2 -pipe -mfpmath=sse -msse4.2"

oleg_kaa, спасибо, gcc -march=native -E -v - &1 | sed -n 's/.* -v - //p' выдал флаги
так правильно записать???
CFLAGS="-D_FORTIFY_SOURCE=2 -march=core2 -mcx16 -msahf -mpopcnt -msse4.2 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=256 -mtune=core2 -O2 -pipe"

Spoiler, проц - i7
Как посоветуете записать???

И вообще... дело во флагах????(я в панике....)

я недавно (с неделю) вынужден был перейти на гном, т.к. в кде наблюдались жуткие тормоза (похожие на проблеммы с памятью, но папмять менял, и проблемма не в ней)
http://www.gentoo.ru/node/23236#comment-172393

Только теперь не зависает а вылетает на ошибке сегментирования....

Ошибка проявляется систематически при запуске рендера...

brothermechanic написал:
проц - i7 Как посоветуете записать?

Если версия GCC < 4.6, то -mtune=core2, если же новее -mtune=corei7-avx

Цитата:
И вообще... дело во флагах?

Не исключено, но весьма-весьма вряд ли, всё у вас правильно было с флагами...

Мы тоже не всего читали Шнитке!.. © В. Вишневский

krigstask написал:
oleg_kaa написал:
Стоило бы выполнить команду gcc -march=native -E -v - </dev/null 2>&1 | sed -n 's/.* -v - //p'а её вывод вставить в CFLAGS

И в чём смысл? Посмотреть, какие флаги включит -march=native и вписать их вместо этого самого native? Это интересная мысль.

Смысл в том что если вдруг захочется использовать distcc, а там native не будет работать :)

Working on Gentoo Linux for Asus P535 and Qtopia :-)

«Если вдруг захочется», разрешаю сменить на -march=corei7 или что там должно быть.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

сегфаулт, фак его подери(((

и на флагах
CFLAGS="-D_FORTIFY_SOURCE=2 -march=core2 -mcx16 -msahf -mpopcnt -msse4.2 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=256 -mtune=core2 -O2 -pipe"
работает тормознутее системма теперь((( (особенно на однопоточных задачах)

Зато теперь ты знаешь, что не все советы одинаково полезны и может быть начнешь думать о том, почему разработчики рекомендуют одно, а некоторые юзеры - другое; так же рекомендую подумать , кому ты больше доверяешь :)

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Дело было не в бабине...

http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel
64 bit profile (amd64) for >= GCC 4.3
CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -mtune=generic -O2 -pipe"
CXXFLAGS="${CFLAGS}"

1 правило safe cflags
2 dmesg (недавно у меня сегфолтился xmobar, dmesg показал вылет в zlib(привет -fno-tree-vectorze для sys-libs/zlib))
3 поменьше ?(именно символов)

А ничего что blender:2.5 not stable?
У меня стоит =media-gfx/blender-2.49b-r2 и работает отлично, не падает

Working on Gentoo Linux for Asus P535 and Qtopia :-)

УМВР не аргумент

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Я всегда использую -O2 -march=native

banned by slepnoga

есть ли смысл в -pipe , если сборка в tmpfs?

valet2valet написал:
есть ли смысл в -pipe , если сборка в tmpfs?

Практически нет...

Мы тоже не всего читали Шнитке!.. © В. Вишневский

http://paste.org.ru/?wy0kvs

в чем проблемма?