Witam,
Mam problem z systemem, który piszemy z kolegami. Otóż co pewien czas strona budowana poprzez kilkanaście zapytań (SELECT) nie wyświetla się (po prostu biała strona, zero kodu). Błąd ten można osiągnąć częściej
Co ciekawsze... Mamy listę rekordów z pewnej tabelki. Do każdego rekordu jest opcja usuń. Po kliknięciu w ten przycisk, jesteśmy przekierowywani na stronę, w której jedynym kodem jest wywołanie usunięcia rekordu (DELETE), przekierowanie headerem do listy rekordów i exit, aby wymusić natychmiastowe przekierowanie. Po powrocie do listy rekordów okazuje się, że rekord nadal tam jest, jednak ponowna próba skasowania kończy się naszym wyjątkiem: rekord nieistnieje.
Oczywiście jeśliby odczekać dłużej do obejrzenia listy rekordów - wszystko jest ok.
Do obsługi bazy używamy MySQLi (-> query ()). MySQLi jest tworzone podczas działania skryptu co najwyżej raz (specjalny Singleton).
Ze względu na problem z wysyłaniem nagłówków (sesja, header), używamy ob_start (), ob_flush ().
Mimo, że system ten piszemy od ponad 2 tygodni, problemy zaczęły się wczoraj (a raczej jakiś diametralnych zmian w tym czasie nie było) jakoś koło 14. Dzisiaj z rana przenieśliśmy się na zupełnie inny serwer. Przez jakiś czas wszystko śmigało, jednakże też koło 14 zaczęło się walić.
Co śmieszniejsze, w innym projekcie na tym drugim serwerze, którego szczególnie nie modyfikowaliśmy też zaczął się ten problem pojawiać (jak na razie zaobserwowałem nieładowanie się strony). A z tego co pamiętam, tam nieużywamy MySQLi a zwykłego strukturalnego mysql_connect, mysql_query itd.
Obecnie przeglądam logi (robię to pierwszy raz). Podejrzewam, że z jakiegoś powodu skrypty przeciążają serwery. Niemal w każdej sekundzie mamy:
[Tue Jul 21 14:14:56 2009] [notice] child pid 4983 exit signal Segmentation fault (11)
Co jakiś czas:
[Tue Jul 21 14:14:56 2009] [error] [client 192.168.0.105] File does not exist: ...
No i mój ulubiony:
[Tue Jul 21 14:15:30 2009] [error] [client 192.168.0.105] ALERT - canary mismatch on efree() - heap overflow detected (attacker [[IP]], file [[ADRES_PLIKU]]), referer: [[INNY_ADRES_PLIKU]]
Problem ten przede wszystkim odczuwamy na Windows. Stąd też mój inny trop. Być może jakiś wirus wkradł się nam w stronę (poprzez kradzież danych z total commandera). Niedawno czytałem o tego typu wirusach, które następnie wklejają jakiś złośliwy kod w stronach internetowych (ale nie wiem dokładnie co to za kod itp.).