🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

7 total messages Started by norbi771 Sat, 23 Oct 2010 11:51
freebsd 8.1 i problemy z php 5.2 i apachem 22
#21880
Author: norbi771
Date: Sat, 23 Oct 2010 11:51
92 lines
4207 bytes
Witam Grupe,
Niedawno odpalilem sobie nowa maszynke robiaca za serwerek.
Postanowilem ruszyc z FBSD 8.1 ADM64.

Ladnie sie zainstalowal,
skompilowalo wszystko co potrzeba,
porty najnowsze

zainstalowalem
apachea22
postgresa 9
phpa 5.2.14

i zadowolony odpalam aplikcje ktora do tej pory chodzila bez problemu
na maszynach z FBSD 6.x z PHPem 5.2.6 / 5.2.9

Niestety w logach prawie przy kazdym wyswietleniu stron mam:

[Sat Oct 23 12:55:25 2010] [notice] child pid 85646 exit signal
Segmentation fault (11)
[Sat Oct 23 12:55:26 2010] [notice] child pid 85643 exit signal
Segmentation fault (11)
[Sat Oct 23 12:55:27 2010] [notice] child pid 85647 exit signal
Segmentation fault (11)
[Sat Oct 23 12:55:28 2010] [notice] child pid 85652 exit signal
Segmentation fault (11)
[Sat Oct 23 12:55:36 2010] [notice] child pid 85664 exit signal
Segmentation fault (11)


kombinowalem z wylaczaniem / wlaczeniem roznych modulow,
rekompilacjami, itp, itd

ostatecznie w PHP pozostalem z  jedynie tym
extension=pgsql.so
extension=json.so
extension=mbstring.so
extension=session.so
extension=pcre.so


ale nadal sypie bledami jak z rekawa,
gdzies w googlach wynalazlem ze to moze byc problem z PCRE, ktora to
biblioteka w PHP jest z innym numerkiem niz z Apachem 2.2.17, ale nie
moge tego potwierdzic, ani temu zaprzeczyc bo pcre.so wylaczyc nie
moge - nie dziala mi wtedy aplikacja.

na te chwile nie moge tez przejsc na php53 - aplikacja nie jest
zweryfikowana pod katem zgodnosci z php53

Czy moglby ktos mi podpowiedziec co z tym fantem poczac?
Rozwazam nastepujace scenariusze:

1. Znalezienie przyczyny bledu i  naprawa tego problemu poprzez
wlasciwą kompilację, dobór konfiguracji, etc, bugfix aplikacji, o ile
to w niej sa jakies bledy
2. Downgrade PHPa do 5.2.6
3. Instalacje FBSD 6.4 z PHPem 5.2.6

AD 1. Niestety nie uzywalem nigdy strace'a, gdb i innych tego typu
narzedzi. Czy ktos z Was moglby mnie naprowadzic na to jak w miare
szybko przy pomocy takich lub innych narzedzi dowiedziec sie na czym
tak faktycznie segfaultuje sie Apache, bo w tej chwili tylko widze ze
to robi, ale nie znam przyczyny

AD2 2. Probowalem downgrade'owac PHPa niestety proba zakonczyla sie
fiaskiem, poniewaz instalator potrzebowal autoconfa 2.62 a ja mam 2.65

zmienilem w makefileu odwolanie z 2.62 na 2.68, ale to nie pomoglo
proces kompilacji zatrzymuje sie w pewnym miejscu

zainstalowalem przy pomocy jakis kombinacji z portdowngradem autoconfa
2.62, ale dostaje taki komunikat

[root@b2b /usr/ports/lang/php5]# make install clean
===>  php5-5.2.9 cannot install: unknown AUTOCONF version: 262.
*** Error code 1

wiec ten kierunek na razie tez nie bardzo :-(

Ad3. Na razie do tego nie podchodze, wolalbym nowy serwer odpalic w
oparciu o FBSD81

Przegrzebalem googlea do gory nogami.
Potencjalna przyczyna problemow jest bledna kolejnosc ladowania
bibliotek PHP'a i/lub niekompatybilnosc tych bibliotek z apachem.

Prosze o pomoc, podpowiedzi

z gory dzieki

Norbert
Re: freebsd 8.1 i problemy z php 5.2 i apachem 22
#21881
Author: norbi771
Date: Sat, 23 Oct 2010 12:37
44 lines
3345 bytes
> AD 1. Niestety nie uzywalem nigdy strace'a, gdb i innych tego typu

To system 64bit, jak juz sie dowiedzialem strace nie zadziala,

przy pomocy truss podpialem sie do procesu ktory przy odswiezaniu
strony szlag w koncu trafil, oto rezultat, na razie nic mi to nie
mowi ...
jedynie co widze to ze bledy wystepuja na funkcji connect i read

# truss -f -a -c -e -p 87821 -p 87928
87928: SIGNAL 11 (SIGSEGV)
87928: SIGNAL 11 (SIGSEGV)
syscall                     seconds   calls  errors
fcntl                   0.000166224      12       0
getpid                  0.000031288       2       0
lseek                   0.000028774       2       0
mmap                    0.000015086       1       0
open                    0.000367083      19       0
close                   0.000309815      19       0
chdir                   0.000053358       3       0
fstat                   0.000283556      16       0
stat                    0.000136611       6       0
write                   0.000039670       3       0
access                  0.000042184       2       0
sigaction               0.000047492       3       0
accept                  0.000021790       1       0
connect                 0.000032685       1       1
getsockname             0.000056431       2       0
recvfrom                0.000115657       5       0
sendto                  0.000092471       5       0
poll                    0.748932616      12       0
gettimeofday            0.000069002       4       0
clock_gettime           0.000338033      22       0
setitimer               0.000033245       2       0
kevent                  0.043492120       1       0
sigprocmask             0.000406199      27       0
socket                  0.000016203       1       0
__getcwd                0.000281040      16       0
kill                    0.000015086       1       0
munmap                  0.000015365       1       0
read                    0.001326144      79       4
                      ------------- ------- -------
                        0.796765228     268       5
Re: freebsd 8.1 i problemy z php 5.2 i apachem 22
#21882
Author: norbi771
Date: Sat, 23 Oct 2010 12:37
44 lines
3230 bytes
> AD 1. Niestety nie uzywalem nigdy strace'a, gdb i innych tego typu

To system 64bit, jak juz sie dowiedzialem strace nie zadziala,

przy pomocy truss podpialem sie do procesu ktory przy odswiezaniu
strony szlag w koncu trafil, oto rezultat, na razie nic mi to nie
mowi ...
jedynie co widze to ze bledy wystepuja na funkcji connect i read

# truss -f -a -c -e -p 87821 -p 87928
87928: SIGNAL 11 (SIGSEGV)
87928: SIGNAL 11 (SIGSEGV)
syscall                     seconds   calls  errors
fcntl                   0.000166224      12       0
getpid                  0.000031288       2       0
lseek                   0.000028774       2       0
mmap                    0.000015086       1       0
open                    0.000367083      19       0
close                   0.000309815      19       0
chdir                   0.000053358       3       0
fstat                   0.000283556      16       0
stat                    0.000136611       6       0
write                   0.000039670       3       0
access                  0.000042184       2       0
sigaction               0.000047492       3       0
accept                  0.000021790       1       0
connect                 0.000032685       1       1
getsockname             0.000056431       2       0
recvfrom                0.000115657       5       0
sendto                  0.000092471       5       0
poll                    0.748932616      12       0
gettimeofday            0.000069002       4       0
clock_gettime           0.000338033      22       0
setitimer               0.000033245       2       0
kevent                  0.043492120       1       0
sigprocmask             0.000406199      27       0
socket                  0.000016203       1       0
__getcwd                0.000281040      16       0
kill                    0.000015086       1       0
munmap                  0.000015365       1       0
read                    0.001326144      79       4
                      ------------- ------- -------
                        0.796765228     268       5
Re: freebsd 8.1 i problemy z php 5.2 i apachem 22
#21883
Author: Dominik Zyla
Date: Sat, 23 Oct 2010 12:44
18 lines
1462 bytes
On 23.10.2010, norbi771 <norbertn@post.pl> wrote:
>
>> AD 1. Niestety nie uzywalem nigdy strace'a, gdb i innych tego typu
>
> To system 64bit, jak juz sie dowiedzialem strace nie zadziala,
>
> przy pomocy truss podpialem sie do procesu ktory przy odswiezaniu
> strony szlag w koncu trafil, oto rezultat, na razie nic mi to nie
> mowi ...
> jedynie co widze to ze bledy wystepuja na funkcji connect i read

[...]

Że tak zapytam, postgresql-clienta masz w tej samej wersji co serwer?
php również skompilowałeś z tą wersją?

-- 
Dominik Zyla
Re: freebsd 8.1 i problemy z php 5.2 i apachem 22
#21884
Author: norbi771
Date: Sat, 23 Oct 2010 17:06
100 lines
4889 bytes
On 23 Paź, 14:44, Dominik Zyla <gavro...@gavroche.CUT-THIS.pl> wrote:
> On 23.10.2010, norbi771 <norbe...@post.pl> wrote:
>
>
>
> >> AD 1. Niestety nie uzywalem nigdy strace'a, gdb i innych tego typu
>
> > To system 64bit, jak juz sie dowiedzialem strace nie zadziala,
>
> > przy pomocy truss podpialem sie do procesu ktory przy odswiezaniu
> > strony szlag w koncu trafil, oto rezultat, na razie nic mi to nie
> > mowi ...
> > jedynie co widze to ze bledy wystepuja na funkcji connect i read
>
> [...]
>
> Że tak zapytam, postgresql-clienta masz w tej samej wersji co serwer?
> php również skompilowałeś z tą wersją?
>
> --
> Dominik Zyla

Jak skompiluje sie serwer, to z tego co pamietam PHP nie kompiluje juz
klienta

Zawsze robie w takiej kolejnosci

1. Postgres
2. MySQL
3. Apache
4. PHP

wtedy instaluje sie to co JA chce, inaczej np. php chce instalowac
apachea 1.3.x
inna sprawa ze obecnie tyle roznych modulow do apachea22 jest
pakowanych ... powylaczalem wszystko co sie dalo, choc moze jeszcze
cos sie da.
sprobuje go odinstalowac i zobacze czy wersja 2 tez bedzie takie
problemy sprawiac

jesli chodzi o postgresa, to
phpinfo pokazuje tez, ze pgsql jest w wersji 9,
ale testowalem na 8-ce i tez sa takie jaja wiec postgresa wykluczam



udalo mi sie wiecej z tego sledzenia wyciagnac:


89552: SIGNAL 17 (SIGSTOP)
89552: flock(0x12,0x2,0x1,0x800617028,0x4,0x803c006e0) = 0 (0x0)
89552: kevent(19,0x0,0,{0x3,EVFILT_READ,0x0,0,0x1,0x803c42420},4,
{10.000000000 }) = 1 (0x1)
89552: accept(3,{ AF_INET 10.1.0.66:60348 },0x7fffffffe740) = 20
(0x14)
89552: fcntl(20,F_GETFD,)                        = 0 (0x0)
89552: fcntl(20,F_SETFD,FD_CLOEXEC)              = 0 (0x0)
89552: flock(0x12,0x8,0x0,0x800e45bc0,0x803c440a0,0x7fffffffe7e0) = 0
(0x0)
89552: fcntl(20,F_GETFL,)                        = 6 (0x6)
89552: fcntl(20,F_SETFL,O_NONBLOCK|0x2)          = 0 (0x0)
89552: read(20,0x803c4c048,8000)                 ERR#35 'Resource
temporarily unavailable'
89552: poll({20/POLLIN},1,300000)                = 1 (0x1)
89552: read(20,"GET /modules/widgets/widget_mail"...,8000) = 483
(0x1e3)

nie rozumiem co to zasob, ale wczesniej wywnioskowalem z czegos ze to
IPV6,
zrokompilowalem wiec PHPa z obsluga IPv6

No ale bledy sa nadal

phpinfo pokazuje ze jest skompilowany z takimi opcjami:
Build Date 	Oct 23 2010 18:44:14
Configure Command 	'./configure' '--with-layout=GNU' '--with-config-
file-scan-dir=/usr/local/etc/php' '--disable-all' '--enable-libxml' '--
with-libxml-dir=/usr/local' '--enable-reflection' '--program-prefix='
'--enable-fpm' '--with-fpm-conf=/usr/local/etc/php-fpm.conf' '--with-
fpm-pid=/var/run/php-fpm/php-fpm.pid' '--with-fpm-log=/var/log/php-fpm/
php-fpm.log' '--with-libevent=/usr/local' '--enable-fastcgi' '--with-
apxs2=/usr/local/sbin/apxs' '--with-regex=php' '--with-zend-vm=CALL'
'--enable-zend-multibyte' '--prefix=/usr/local' '--mandir=/usr/local/
man' '--infodir=/usr/local/info/' '--build=amd64-portbld-freebsd8.1'


dodalem tez Suhosina (celowo go wczesniej nie odpalalem bo docelowo
cala ta konfiguracja idzie do jaila, a przy Suhosinie napisane - not
for jails),
no i suhosin pluje sie bledami

Oct 23 18:52:28 b2b suhosin[89594]: ALERT - canary mismatch on efree()
- heap overflow detected (attacker '10.1.0.66', file '/home/www/
file.php')

Nie umiem jednak (przynajmniej na razie) dociec do ktorej linii czy
tez konstrukcji w tym pliku Suhosin sie przywala

Pozdr.
Norbert
Re: freebsd 8.1 i problemy z php 5.2 i apachem 22
#21885
Author: norbi771
Date: Sat, 23 Oct 2010 18:41
19 lines
2060 bytes
Postanowilem sprobowac z apachem 2.0

configuring package in srclib/pcre now
/usr/ports/www/apache20/work/httpd-2.0.64/srclib/pcre/configure: Can't
open /usr/ports/www/apache20/work/httpd-2.0.64/srclib/pcre/configure:
No such file or directory
configure failed for srclib/pcre
===>  Script "configure" failed unexpectedly.
Please report the problem to apache@FreeBSD.org [maintainer] and
attach the
"/usr/ports/www/apache20/work/httpd-2.0.64/config.log" including the
output
of the failure of your make command. Also, it might be a good idea to
provide
an overview of all packages installed on your system (e.g. an `ls
/var/db/pkg`).
*** Error code 1

Grrrrr .... chce mi sie wyc!
Re: freebsd 8.1 i problemy z php 5.2 i apachem 22
#21886
Author: norbi771
Date: Sat, 23 Oct 2010 19:59
2 lines
1596 bytes
znalazlem ... problemem sa sesje, a wlasciwie custom session handler
polaczony z bazą danych, jak go wylacze to wszystko dziala OK
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads