linux-l: portmap, glibc, svc_getreqset, viele FDs und SIGSEGV (episch)
Oliver Bandel
oliver at first.in-berlin.de
Mo Mär 6 18:48:19 CET 2000
Hi!
On Mon, 6 Mar 2000, Oliver Hillmann wrote:
> Hallo,
>
> mein portmap segfaultet.
>
> VORGESCHICHTE:
>
> Ich habe einen Kernel 2.2.13, der von mir entsprechend gepatched und
> neukompiliert wurde, sodaß er die Begrenzung von offenen
> Filedeskriptoren pro Prozeß von 1024 auf 2200 erhöht. (Dazu sind
> entsprechend die Defaultwerte für NR_OPEN in den Dateien
[...]
> DAS PHÄNOMEN
>
> Wenn ich nun allerdings portmap (Version 4.0.15, neukompiliert aus
> der portmap-4.0.15.src.rpm oder als Binary rpm installiert; Version
> 5beta, ebenfalls als Binary oder aus dem SuSE Source RPM gebaut)
> starte, und ein erster rpcinfo Request trifft auf portmap, dann
> gibts einen Segmentation Fault.
>
> strace zeigt mir, daß der letzte syscall vor dem SIGSEGV ein accept
> war. gdb informiert mich über den Crash in svc.c:429 in der Funktion
> svc_getreqset. Das ist nun aber nichts, was portmap mitbringt,
> sondern eine Funktion der Glibc.
[...]
Schon mal Deine C-Lib neu kompiliert?
Ich vermute mal so drauf los, daß da irgendwo auch
indirekt auf's NR_OPEN zugegriffen wird (z.B. beim
select()).
Wenn dann da verschiedene Werte einkompiliert sind,
kann man sicherlich schnell auf die Nase fallen.
Wenn Du so grundlegende Dinge wie FD-Anzahl im kernel umbaust,
solltest Du auch am besten Dein ganzes System neu kompilieren.
Das, wie gesagt, mal so drauf los gedünkt...
Tschüß,
Oliver
--
Bill Gatyes is merely a pawn in the U.S. Government's ChessGame.
(Jon Perry in comp.lang.tcl)
Mehr Informationen über die Mailingliste linux-l