[sisyphus] ALTLinux Sisyphus vs Borland Kylix, Майн камф, победа.

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Вс Май 16 16:21:31 MSD 2004


On Sun, May 16, 2004 at 03:28:47PM +0400, Roman S wrote:
> Пришлось вооружиться блоходавом и смотреть, что происходит.
> А произошло наложение двух "особенностей" Сизифа.
> 1) Неисполнимый стек "по умолчанию"
> 2) NPTL
> =====================================================================
> И так, решение. Растактовка танца с бубном для заклинания программ:
> 
> 1) Вырезать из ядра openwall-приблуду, либо обработать все исполнимые
> модули из /opt/kylix3/bin командой "chstk -e" (вообще - рекомендуемая
> процедура для всех не-альтовских программ, устанавливаемых на машину)

Если падало на командах типа call 0x24(%esp) (именно с таким режимом
адресации - смещение относительно esp), причиной является недавно
обнаруженная ошибка в патче Openwall (эмуляция GCC trampoline
неправильно обрабатывала этот режим адресации).  В очередной сборке
ядра std (уже 2.4.26) эта ошибка исправлена; пакеты находятся на пути
в Сизиф.

Хотя, поскольку компилятор там собственный, возможно, что генерируемый
им код несовместим с эмулятором GCC trampoline.  Раз уж удалось
отловить проблему, пожалуйста, покажите команды, на которых падало
(команда вызова и кусок кода в стеке, который должен был выполниться).

В том же патче Openwall была ещё одна ошибка в обработке
MAGIC_RT_SIGRETURN, но она проявлялась только при прямом использовании
системного вызова sigaction (в обход glibc), поэтому маловероятно, что
в данном случае мешает именно это.

> 2) В скрипты /opt/kylix3/bin/start* внести: 
> LD_ASSUME_KERNEL=2.2.5 - это для того, чтоб NTPL не портили жизнь.

А вот как раз NPTL в сизифовской glibc нет.  Если LD_ASSUME_KERNEL
действительно влияет на работоспособность Kylix - дело в чём-то
другом.  И, кстати, с предыдущими версиями glibc такое значение
LD_ASSUME_KERNEL вообще приведёт к невозможности запустить что-либо
(вне зависимости от происхождения).

Кстати, glibc-core-i686 у вас в системе случайно не установлен?

> 3) Отсюда http://unvclx.sourceforge.net/download.html
> - установить Kylix3 patch suite. 
> 
> После означенных действий - вроде бы работает.
> Эх, блин. Целый выходной ушел черт знает на что :(
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20040516/ecf5fb79/attachment-0003.bin>


Подробная информация о списке рассылки Sisyphus