Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Brak możliwości zalogowania się do gry - wycieki pamięci - malloc(): unsorted double linked list corrupted

Ostatnio zmodyfikowano 2021-12-05 11:00
Autor Wiadomość
dunno
Temat założony przez niniejszego użytkownika
» 2021-12-03 19:54:28
http://www.wklejto.pl/929578.
CFLAGS=-m32
Miał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)
P-179111
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
P-179112
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
P-179113
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.
P-179114
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ł.
P-179115
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ć?
P-179116
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.
P-179117
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.
P-179118
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona