Bug 962 - Problems when compiled with --enable-kernel-2.2.x, but works on a 2.4.x kernel
: Problems when compiled with --enable-kernel-2.2.x, but works on a 2.4.x kernel
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/glibc-core)
: unstable
: all Linux
: P4 minor
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2002-05-28 10:02 by
Modified: 2006-10-02 19:03 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2002-05-28 10:02:38
Обнаружилось, что есть проблемы у 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 From 2002-06-18 12:44:45 -------
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 From 2002-06-18 12:44:45 -------
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 From 2002-06-18 13:24:58 -------
Не понял.

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

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

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

P.S. Почему-то не проходит make ... tests в подкаталоге elf, хотя если
запустить его вручную, всё OK.
------- Comment #7 From 2002-06-20 13:33:30 -------
Это значит, что jdk-sun-1.4.0 requires glibc-core-i686?
------- Comment #8 From 2002-06-20 13:33:30 -------
Это значит, что jdk-sun-1.4.0 requires glibc-core-i686?
------- Comment #9 From 2002-06-20 23:14:11 -------
С 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 From 2002-06-20 23:14:11 -------
С 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 From 2002-09-28 21:01:50 -------
Если нет ничего лучше.
------- Comment #12 From 2002-09-28 21:01:50 -------
Если нет ничего лучше.
------- Comment #13 From 2002-12-23 16:05:10 -------
В итоге, что будем делать?
------- Comment #14 From 2002-12-23 16:05:10 -------
В итоге, что будем делать?
------- Comment #15 From 2002-12-25 15:56:16 -------
Выглядит как проблема комюинации 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 From 2002-12-25 15:56:16 -------
Выглядит как проблема комюинации 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 From 2006-10-02 19:03:02 -------
glibc-2.5-alt1 is built with --enable-kernel=2.6.9