On Mon, Apr 16, 2007 at 01:58:33PM +0200, Piotr Gasidlo wrote:
> On sob, 14/04, 13:10:44, Marcin Owsiany wrote:
> > [...]
> >
> > Jeśli ten stos zawiera choć trochę prawdy, to może to być konflikt
> > bibliotek, np. A zlinkowane z B w wersji X i C w wersji Z, a B
> > zlinkowane z C w wersji Y.
>
> Brałem wszystko z repozytorium Debiana.
To niestety niczego nie gwarantuje. Co prawda w stable jest mniejsza
szansa, że takie kwiatki się pojawią, ale nadal jest to możliwe.
> > Czy apache choć trochę działa, czy wszystkie requesty kończą się
> > SIGSEGVem?
>
> Działa bardzo dobrze. Tj. wszystkie requesty są poprawnie obsługiwane.
> Wygląda,
> że problem pojawia się dopiero jak Apache zabija nadmiarowe dzieci.
To by pasowało do tego, co ltrace mówi..
> > Jeśli nie wszystkie, to próbuj wyłączać różne funkcje, moduły
> > i patrzeć kiedy przestanie. Może ltrace też coś podpowie..
>
> Niewiele podpowiedział, przynajmniej mi to nic nie mówi.
>
> (...)
> strcmp("ssl", "ssl")
> = 0
Prawdopodobnie powyżej jest parę innych wywołań "strcmp()". Pokaż je? I
może jeszcze trochę więcej kontekstu?
> shutdown(3, 1, 1, 0x2ad6c0a36000, 0x79726f6765746143)
> = 0
> select(4, 0x7fffea08a9c0, 0, 0, 0x7fffea08aa40)
> = 1
> read(3, "", 512)
> = 0
> close(3)
> = 0
Tu chyba zamknął socket..
> __errno_location()
> = 0x2ad6c156ac40
To jest ciekawe.. wygląda, jakby chciał wypisać jakiś komunikat błędu,
który pewnie wydażył się nieco wcześniej..
> sigemptyset(0x7fffea08a6d8)
> = 0
> sigaction(10, 0x7fffea08a6d0, 0x7fffea08a630)
> = 0
> semop(0x138015, 0x54f2d8, 1, 186, 0x86c490 <unfinished ...>
Tutaj chyba wisi czekająć na semafor..
> --- SIGUSR1 (User defined signal 1) ---
.. aż dostaje sygnał.. od parenta, żeby się zakończyć?
> sigemptyset(0x7fffea08a228)
> = 0
> sigaction(1, 0x7fffea08a220, 0x7fffea08a180)
> = 0
> sigemptyset(0x7fffea08a228)
> = 0
> sigaction(10, 0x7fffea08a220, 0x7fffea08a180)
> = 0
> exit(0 <unfinished ...>
Tutaj wywołuje exit, czyli prawdopodobnie SIGSEGVa dostaje gdzieś w
funkcji zarejestrowanej wcześniej przez atexit(). Spróbuj pooglądać
wcześniej kontekst wywołań atexit(), może coś ciekawego tam będzie..
> --- SIGSEGV (Segmentation fault) ---
Tu już obsługa sygnału tylko ...
> chdir("/etc/apache")
> = 0
> sigemptyset(0x7fffea089b28)
> = 0
> sigaction(11, 0x7fffea089b20, 0x7fffea089a80)
> = 0
> getpid()
> = 27946
> kill(27946, 11)
> = 0
> --- SIGSEGV (Segmentation fault) ---
> +++ killed by SIGSEGV +++
--
Marcin Owsiany <[EMAIL PROTECTED]> http://marcin.owsiany.pl/
GnuPG: 1024D/60F41216 FE67 DA2D 0ACA FC5E 3F75 D6F6 3A0D 8AA0 60F4 1216
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]