Pitanje: Koje su moguće solucije traženja infinite loopa, i da li postoje pored istog naÄini da server stopiraju, ali server idalje radi, nije pao, samo uopÅ¡te niko nema pristup istom.
Komentar: Na dosta for petlji (95%) sam dodao print provjeru, ali server radi do 40min-1h ok i nakon toga niti ispisuje sta (globalne timere) niti išta.
Ako imas print u mnogo petlji, samo prati poslednjjih par printova i tako ces naci lako. Citaj server_log uglavnom, ili prodji sve petlje. Ne postoji stvar koja ce automatski traziti bug umesto tebe.
Pa ukoliko si procitao sta sam napisao, u 95% petlji sam stavio print, jednostavno nakon sat vremena sve prestaje ispisivati i od tad je server zaledjen. A od tih 95% postoji makar 20-30% za koje nema logike da lede server a dodane su radi reda, onih ostalih 5% ne moze ledit server.
Najdebilniji problem ikada definitivno, svasta tu moze biti nema nista odredjeno, probaj pogledati jel se to desava stalno svakih 40 - 60 minuta ukoliko da onda je problem u nekoj radnji koja se odradjuje u tom periodu ali ako ne onda svasta moze biti.
NiÅ¡ta ti je preostaje nego da proÄ'eÅ¡ kroz loop for, foreach ili kako god i vidiÅ¡ gdje je problem ili gdje si pogrijesio. Isto je i moguce da je do FS ili samog include-a.
Citat: Bolex_ poslato Oktobar 25, 2017, 12:18:10 POSLE PODNE
Isto je i moguce da je do FS ili samog include-a.
Isto mislis kao i ja, vec par dana kontam da nije do mene već do nekog od include koje sam ubacio, jos malo sam izdetaljisao loopove u printu da vidim gdje ce freezati, FS niti jednu ne koristim, ali koristim lijep broj includea, vjerojatno ću jedan po jedan iskljuÄivati (mimo onih glavnih) i vidjet do Äega bi moglo biti, naravno popravit include kad skontam gdje. Opet ne znam jel to do mene, ma da petlje su mi fino uraÄ'ene, provjerio sam sve viÅ¡e puta, jer ja imam oko 25-30 petlji u modu, nema ih previÅ¡e, neki modovi imaju po 200 petlji, mogu lako sve provjeriti i nemam sumnju u svoje petlje.
Citat: Nelson ZG poslato Oktobar 25, 2017, 11:56:32 PRE PODNE
Najdebilniji problem ikada definitivno, svasta tu moze biti nema nista odredjeno, probaj pogledati jel se to desava stalno svakih 40 - 60 minuta ukoliko da onda je problem u nekoj radnji koja se odradjuje u tom periodu ali ako ne onda svasta moze biti.
Nisam sad baÅ¡ countao period izmeÄ'u freeza poÅ¡to oÄistim log, jer mi timer printovi napune 20 mb-ova za sat vremena. Uglavnom to se desi u nekom periodu od sat vremena, provjerit ću i includove, nije iskljuÄeno da je do njih.
Moze biti i do toga, zaboravio sam napisati. Ali uglavnom je nesto od toga ili infinite loop ili inc, jesi ubacao mozda plugin kakav? Stvarno je debilan problem da ti barem crasha server pa da znas. Imas li crashdetect includan u modu i ubacen u plugins?
Citat: Nelson ZG poslato Oktobar 25, 2017, 12:29:46 POSLE PODNE
Moze biti i do toga, zaboravio sam napisati. Ali uglavnom je nesto od toga ili infinite loop ili inc, jesi ubacao mozda plugin kakav? Stvarno je debilan problem da ti barem crasha server pa da znas. Imas li crashdetect includan u modu i ubacen u plugins?
Includan ne, ubacen da, include mi nije potreban posto ne koristim funkcije/cbackove u modu, ali crashdetect nazalost ne hvata infiniv loopove, samo server crashove.
Sada ja nisam skripter ali pricam iz nekog iskustva u drzanju servera i gledanju logova. Meni je on stalno pomagao, mozda ce ti izbaciti nesto. Probaj da skodi ne moze. :)
Dodaj na apsolutne sve petlje print, i za svaku poseban print, i odma vrijeme - npr
printf("TIMER BROJ %i - UPTIME ....",---);
jest da ces morati tajmer da ovaj uptime, ali jedan tajmer da nadjes prepreprejeben problem je razumljivo po meni, jos to sve mozes kasnije da izbacis, i stavi print odma u gamemodeexit, da kad pukne server vidi printali ista
Najveći problem u infinite loopu jeste sto server ne pukne nego se zaledi, login, register, kontrola IG, nista nije moguce, server prikazuje i da radi i sve, ali ni jedna funkcija zapravo ne radi zbog tog infinite loopa.
Kao što rekoh, include od samp beta testera ima infinite loop, pa vi recite da smo mi loši skripteri hahahaha ;D ;D ;D