Brak możliwości zalogowania się do gry - wycieki pamięci - malloc(): unsorted double linked list corrupted
Ostatnio zmodyfikowano 2021-12-05 11:00
dunno Temat założony przez niniejszego użytkownika |
» 2021-12-03 19:54:28 http://www.wklejto.pl/929578. CFLAGS=-m32Miałem tam dodane -m32 pod CFLAGS, chyba że dodałem to w złym miejscu w makefile? Czy w tym przypadku nadal mogłyby się mieszać? Jeżeli nie dodałem architektury 32 bitowej za pomocą polecenia dpkg i nie zainstalowałem paczek z dopiskiem :i386 to aplikacja crashowała sie przy kazdej mozliwej okazji (wydaje mi się, że wtedy równiez pomimo dodania flagi -m32) |
|
DejaVu |
» 2021-12-03 19:57:37 Ta flaga wygląda poprawnie, ale linkujesz 64-bitowe biblioteki, bo wskazałeś katalog z 64-bitowymi bibliotekami: LIBLINK=-L/usr/lib64
|
|
dunno Temat założony przez niniejszego użytkownika |
» 2021-12-03 20:12:46 Zasadniczo kompilacja poszla nawet gdy zrobiłem; LIBLINK=-lxml2 -lz -lpthread -lm -llualib50 -llua50 -ldl -lboost_thread -lmysqlclient -lboost_system ale wtedy nie wiem czy domyślnie bierze te 64 bitowe? Dla pewności żeby były 32 zrobiłem: LIBLINK=-L/usr/lib32 -lxml2 -lz -lpthread -lm -llualib50 -llua50 -ldl -lboost_thread -lmysqlclient -lboost_system Podmieniłem, przetestuje czy coś pomogło, jeszcze niżej zamieszczam wersję mariadb. Dam znać czy coś się poprawiło, ale to zazwyczaj dzieje się po kilku godzinach dopiero. Czyli gra działa w porządku przez kilka godzin i nagle przestaje działac mozliwośc zalogowania się do gry, gracze się nie zapisują itp, tak jakby faktycznie połączenie z baza przestawało działac. MARIADB: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 21136 Server version: 10.3.31-MariaDB-0+deb10u1 Debian 10
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> status -------------- mysql Ver 15.1 Distrib 10.3.31-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Connection id: 21137 Current database: Current user: xxxx@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server: MariaDB Server version: 10.3.31-MariaDB-0+deb10u1 Debian 10 Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8mb4 Db characterset: utf8mb4 Client characterset: utf8mb4 Conn. characterset: utf8mb4 UNIX socket: /var/run/mysqld/mysqld.sock Uptime: 13 days 5 hours 48 min 45 sec
Threads: 8 Questions: 2274252 Slow queries: 17 Opens: 156 Flush tables: 1 Open tables: 128 Queries per second avg: 1.987
|
|
dunno Temat założony przez niniejszego użytkownika |
» 2021-12-04 10:53:29 niestety, dzis efekt ten sam, tak jakby aplikacja traciła połączenie z baza danych - gracze nie mają możliwosci zalogowania się do gry (co może być tego powodem, że jest nagle utrata połaczenia z bazą?). Ponadto stan graczy zalogowanych nie zapisuje się, więc faktycznie musi być problem z połączeniem. Jak znaleźć przyczynę? Od czego zacząć? Tylko Restart aplikacji pomaga. |
|
DejaVu |
» 2021-12-04 11:01:15 Czyli projekt działa, ale się po jakimś czasie wysypuje? No to czeka Ciebie powrót do gdb/valgrinda. Coredump umożliwi Ci sprawdzenie w którym miejscu kod się wyłożył. Jeżeli callstack wskazuje na problemy w bibliotece to i tak przyda Ci się zbudowanie tych bibliotek ze źródeł. |
|
dunno Temat założony przez niniejszego użytkownika |
» 2021-12-04 14:47:39 zdarzało się, że aplikacja wcale się nie wyłożyła i wtedy nie miałem tego pliku "core" - a mimo wszystko wyglądało na to, że nie ma połączenia z bazą. "Jeżeli callstack wskazuje na problemy w bibliotece to i tak przyda Ci się zbudowanie tych bibliotek ze źródeł." Poprosiłbym o naprowadzenie w tej sprawie, jak to zrobić? |
|
DejaVu |
» 2021-12-04 14:52:57 Już pokazywałeś callstacki i one wskazywały na problemy w bibliotece mariadb. Powodów crasha może być wiele i to już jest dłubanie przy faktycznym kodzie, a nie udzielanie odpowiedzi na forum do prostego kodu. Na debugowaniu problemów całe dnie/tygodnie ludzie spędzają pracując na pełen etat. Nie oczekuj, że ktoś Ci magiczną różdżką rozwiąże takiego kalibru problem nie mając kodu oraz nie mając jak go zreprodukować we własnym debuggerze. Równie dobrze możesz mieć za mało ramu na serwerze. RAM się kończy -> kernel Linuxa może ubić losowy proces w dowolnym momencie. RAM się skończy -> Twoja aplikacja może nie otrzymać pamięci -> i będzie również crash, jeżeli aplikacja jest źle napisana. Może MySQL Ci umiera z powodu braku RAM-u. Jest wiele czynników, które mogą wpływać na finalny rezultat. |
|
dunno Temat założony przez niniejszego użytkownika |
» 2021-12-04 15:04:09 Kod oczywiście mogę udostępnić w całości. Nie oczekuje, że ktoś mi postawi diagnozę w stylu zmień linijke ta i ta w tym i tym pliku. Poprosiłem jedynie o instrukcję w jaki sposób zrobić to na co wskazałes "zbudowanie tych bibliotek ze źródeł" licząc na to, że wtedy wyciągne z tego więcej cennych dla mnie informacji. |
|
1 « 2 » 3 |