StackTrace 1
StackTrace
kaptanmikro1 1
kaptanmikro1
Mt2Hizmet 1
Mt2Hizmet
Reklam vermek için turkmmo@gmail.com

[DB] CLoginData memory leak

  • Konuyu başlatan Konuyu başlatan Larry Watterson
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 42
  • Görüntüleme Görüntüleme 3K

18 Eylül 21:00 — DUHAN2 açılıyor! 1-120 Official Emek, P2W yok, Ücretsiz Oto Av + Balık Botu, TL ödüllü rekabet ve Legal Pazar seni bekliyor. HEMEN TIKLA!

selam. paylaşım için teşekkürler.
hata tespiti doğru ama bu düzenleme zühtü'yü oyuna sokamıyor. ekleyip deneyip yorum yazan üye de girememiş muhtemelen bu sebepten.

zühtü karakter seçiminde "Oyuna Gir"e basıyor. istemci CNetworkStream::Connect içindeki Clear() yüzünden mevcut soketi kapatıp yenisini açıyor, yani eski desc'in destructor'ı iki LOGIN_BY_KEY'in arasında kalıyor.
AUTH_LOGIN -> LOGIN_BY_KEY (1) -> ~DESC (GD_LOGOUT) -> LOGIN_BY_KEY (2)

ortadaki adım nesneyi delete ediyor. ikinci LOGIN_BY_KEY ilk iş GetLoginData(dwLoginKey) yapıyor, nullptr, LOGIN_NOT_EXIST -> "NOID". zühtü karakter seçiminde kalıyor. bu sefer de dağın yamacında takıldı :D

aynı sebeple "o zaman normal çıkışta da DestroyLoginKey gönderelim" de çalışmaz, o paket de aynı destructor'dan gider.

oluru ise şöyle olur: çıkışta timestamp, birkaç saniye sonra hala m_map_kLogonAccount'ta değilse DeleteLoginData. gecikme şart, çünkü DeleteLogonAccount zaten çıkışta onu o map'ten siliyor.

bu arada birikim login başına değil hesap başına. zühtü ertesi gün tekrar girerse QUERY_AUTH_LOGIN eski kaydını bulup DeleteLoginData çağırıyor, dünkü nesnesi free oluyor. yani "bir daha hiç girmeyen her zühtü için 600bytecık"

asıl login başına birikeni: DBManager:deleteLoginData hiçbir yerden çağrılmıyor. tanım var, header'da bildirim var, çağrı yok. map'i dolduran LoginPrepare her başarılı girişte M2_NEW CLoginData + InsertLoginData yapıyor. zühtü 500 kez girip çıkarsa 500 defa. tek başına aşağı yukarı 65 kb.

bu arada doğrulamasını yapmak için test ortamı kurabilecek ortama sahip değildim bu nedenle hatalarım olabilir. claude fable 5 ultrathinking de olmadığım için bir şeyleri incelerken hata yapabiliyorum.
Hatayı tespit etmek için herhangi bir ai yeterli zaten çözüm için daha derin düşünmek oyunu tanımak, işleyişi bilmek logout durumlarına hakim olmak lazım. Potansiyel çözüm yoksa ai ile ymir açığı arama ucubeligine dönmüş, iyi forumlar ahahahhahah
 
Hatayı tespit etmek için herhangi bir ai yeterli zaten çözüm için daha derin düşünmek oyunu tanımak, işleyişi bilmek logout durumlarına hakim olmak lazım. Potansiyel çözüm yoksa ai ile ymir açığı arama ucubeligine dönmüş, iyi forumlar ahahahhahah
Sayın prof ai ile bulduğun bu hataları ve çözümleri forum halkı ile paylaşıp o engin bilgilerinden bizi de mahrum etme lütfen de forum geliştirici görsün, işi bilen adam görsün. Gerçekten ucube kaynıyor, iyi forumlar ahahahahha :D
 
Hatayı tespit etmek için herhangi bir ai yeterli zaten çözüm için daha derin düşünmek oyunu tanımak, işleyişi bilmek logout durumlarına hakim olmak lazım. Potansiyel çözüm yoksa ai ile ymir açığı arama ucubeligine dönmüş, iyi forumlar ahahahhahah

hocam aşağıdaki için fikriniz nedir ymir ucubeliği sayılır mı

src/libthecore/utils.cpp

eski kod :
C++:
    if ((to - from + 1) != 0)

yeni kod :

C++:
    if (((long long) to - (long long) from + 1LL) != 0LL)

burdanda ymir ucubeliği olduğunu doğrulayabilir miyiz ?

 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst