Bug 962 - Problems when compiled with --enable-kernel-2.2.x, but works on a 2.4.x kernel
Summary: Problems when compiled with --enable-kernel-2.2.x, but works on a 2.4.x kernel
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: glibc-core (show other bugs)
Version: unstable
Hardware: all Linux
: P4 minor
Assignee: placeholder@altlinux.org
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-05-28 10:02 MSD by Mikhail Zabaluev
Modified: 2006-10-02 19:03 MSD (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mikhail Zabaluev 2002-05-28 10:02:38 MSD
Обнаружилось, что есть проблемы у glibc, собранной под ядро 2.2.x,
с ядром 2.4.x, по крайней мере на i686. Для меня это выражалось
в падении (SIGSEGV) java из Sun J2SE 1.4.0 при выполнении программы ant.
C glibc, собранной с --enable-kernel=2.4.18, падение не наблюдалось.

В RedHat 7.1 предлагают ещё один трюк
(см. <a href="http://www.redhat.com/support/manuals/RHL-7.1-Manual/release-notes/s1-known-issues.html">http://www.redhat.com/support/manuals/RHL-7.1-Manual/release-notes/s1-known-issues.html</a>):
установить в окружении
LD_ASSUME_KERNEL=2.2.5
чтобы выбрать устаревшую модель стека.
Комментарии к багрепорту на сайте Sun (см. ниже) утверждают, что этого
делать, наоборот, нельзя, а надо воспользоваться версией
libpthread для i686, в которой включён floating stack.
Утверждается, что в RedHat 7.1 есть две динамически выбираемые версии libpthread, для i386 и i686.
---

---
<a href="http://developer.java.sun.com/developer/bugParade/bugs/4466587.html">http://developer.java.sun.com/developer/bugParade/bugs/4466587.html</a>
(требует регистрации)

<a href="http://bugzilla.mozilla.org/show_bug.cgi?id=84093">http://bugzilla.mozilla.org/show_bug.cgi?id=84093</a>
Comment 1 Mikhail Zabaluev 2002-06-18 12:44:45 MSD
Resolved with adding an optional package glibc-core-%_target_cpu, compiled
with the CPU-specific features turned on. Wish it was not
optionally enabled and separately built.
Comment 2 Mikhail Zabaluev 2002-06-18 12:44:45 MSD
Resolved with adding an optional package glibc-core-%_target_cpu, compiled
with the CPU-specific features turned on. Wish it was not
optionally enabled and separately built.
Comment 3 Dmitry V. Levin 2002-06-18 13:24:58 MSD
Не понял.

Для решения проблемы достаточно было установить glibc-core-i686?
В последний никаких изменений не вносилось?
Comment 4 Dmitry V. Levin 2002-06-18 13:24:58 MSD
Не понял.

Для решения проблемы достаточно было установить glibc-core-i686?
В последний никаких изменений не вносилось?
Comment 5 Mikhail Zabaluev 2002-06-19 01:55:15 MSD
Да, glibc-core-i686, без изменений, достаточно. Предыдущая bugnote сделана на публику :)

P.S. Почему-то не проходит make ... tests в подкаталоге elf, хотя если запустить его вручную, всё OK.
Comment 6 Mikhail Zabaluev 2002-06-19 01:55:15 MSD
Да, glibc-core-i686, без изменений, достаточно. Предыдущая bugnote сделана на публику :)

P.S. Почему-то не проходит make ... tests в подкаталоге elf, хотя если запустить его вручную, всё OK.
Comment 7 imz 2002-06-20 13:33:30 MSD
Это значит, что jdk-sun-1.4.0 requires glibc-core-i686?
Comment 8 imz 2002-06-20 13:33:30 MSD
Это значит, что jdk-sun-1.4.0 requires glibc-core-i686?
Comment 9 Mikhail Zabaluev 2002-06-20 23:14:11 MSD
С Requires не всё ясно. j2sdk-sun-1.4.0_01 собирается под i586.
Может быть, имеет смысл предоставлять виртуальную \&quot;фичу\&quot; оптимизированного
glibc, которую требует JDK/JRE, типа, glibc(floating-stack)?
Чтение багрепорта JDK (см. ссылку в описании выще) подсказывает,
что для \&quot;неулучшенной\&quot; libpthread можно решить проблему установкой
ulimit -s 2048.
Сделать скрипт запуска java, который этим будет заниматься?
Comment 10 Mikhail Zabaluev 2002-06-20 23:14:11 MSD
С Requires не всё ясно. j2sdk-sun-1.4.0_01 собирается под i586.
Может быть, имеет смысл предоставлять виртуальную \&quot;фичу\&quot; оптимизированного
glibc, которую требует JDK/JRE, типа, glibc(floating-stack)?
Чтение багрепорта JDK (см. ссылку в описании выще) подсказывает,
что для \&quot;неулучшенной\&quot; libpthread можно решить проблему установкой
ulimit -s 2048.
Сделать скрипт запуска java, который этим будет заниматься?
Comment 11 Dmitry V. Levin 2002-09-28 21:01:50 MSD
Если нет ничего лучше.
Comment 12 Dmitry V. Levin 2002-09-28 21:01:50 MSD
Если нет ничего лучше.
Comment 13 Dmitry V. Levin 2002-12-23 16:05:10 MSK
В итоге, что будем делать?
Comment 14 Dmitry V. Levin 2002-12-23 16:05:10 MSK
В итоге, что будем делать?
Comment 15 Michael Shigorin 2002-12-25 15:56:16 MSK
Выглядит как проблема комюинации JVM/libc/kernel:
на jdk-1.4.1 были отзывы \&quot;легче\&quot;;
с glibc-core-i686 -- отчетливо легче;
на kernel24-linus-2.4.18-alt6 легче, чем на том же -up/-smp.

Также прозвучало следующее:
echo 0 &gt; /proc/sys/vm/heap-stack-gap
-- после этого SegFaultTest стало еще в раза в полтора легче (дольше прожил) и получился трейс.  При этом кол-во итераций уперлось в 1024, судя по трейсу.

Сегодя в sisyphus@. :-)

PS: насчет ulimit -s 2048 -- не уверен.  Оно by default на свежем сизифе стоит в 8192 и -&gt;2048 -- _ухудшает_ ситуацию.
Comment 16 Michael Shigorin 2002-12-25 15:56:16 MSK
Выглядит как проблема комюинации JVM/libc/kernel:
на jdk-1.4.1 были отзывы \&quot;легче\&quot;;
с glibc-core-i686 -- отчетливо легче;
на kernel24-linus-2.4.18-alt6 легче, чем на том же -up/-smp.

Также прозвучало следующее:
echo 0 &gt; /proc/sys/vm/heap-stack-gap
-- после этого SegFaultTest стало еще в раза в полтора легче (дольше прожил) и получился трейс.  При этом кол-во итераций уперлось в 1024, судя по трейсу.

Сегодя в sisyphus@. :-)

PS: насчет ulimit -s 2048 -- не уверен.  Оно by default на свежем сизифе стоит в 8192 и -&gt;2048 -- _ухудшает_ ситуацию.
Comment 17 Dmitry V. Levin 2006-10-02 19:03:02 MSD
glibc-2.5-alt1 is built with --enable-kernel=2.6.9