Witam,

Używam EKG od bardzo dawna. Niestety, ostatnio musiałem zmigrować się ze 
starego serwera, ze starym EKG, i mam.. nowsze, które zaczęło się wykładać. Mam 
nadzieję, że ktoś znajdzie chwilkę, aby spojrzeć na problem, i być może, 
znaleźć rozwiązanie.

Moje EKG to:
EKG - Eksperymentalny Klient Gadu-Gadu (20110306)
libgadu-20110306 (protokół 0x2e, klient 10.1.0.11070)
skompilowano: Mar  7 2011 18:12:20 

Backtrace'y w załączniku. 

Jeśli chodzi o user-experience: EKG wykłada się nawet zaocznie - na 
zdetachowanym screenie. Nie widzę, więc tu żadnego związku z działaniami 
użytkownika, albo ich brakiem. Jedyne co zaobserwowałem to, że sytuacja ma 
miejsce po kilku dniach działania.

Korzystając z okazji, wyżalę się na pewną bolączkę. Otóż, serwery gg od czasu 
do czasu wysyłają wielki pakiet z jakimś reklamowym XML'em. Tzn. tam jest treść 
(merytoryczna - powiedzmy) i base64 zakodowany obrazek czy jakiś flashowy 
szajs. No i, że ten pakiet jest monstrualny, to EKG parsuje XML'a, bo ja wiem, 
ze 20 sekund (na 2GHz Opteronie). I oczywiście nie ma to żadnego "efektu" poza 
oknem debug. Bywa to dość frustrujące, gdyż całe EKG "wisi" w tym czasie. I 
teraz nie wiem.. nie sugeruję 
rozwątkowania parsowania, ale może chociaż jakieś ignorowanie?

Pozdrawiam,
Michał Przyłuski
#0  0x0000003529a328f5 in raise () from /lib64/libc.so.6
#1  0x0000003529a340d5 in abort () from /lib64/libc.so.6
#2  0x0000003529a6f8bb in __libc_message () from /lib64/libc.so.6
#3  0x0000003529a751e6 in malloc_printerr () from /lib64/libc.so.6
#4  0x0000000000434075 in window_backlog_add (w=0x24e64a0, str=0x36a5960)
    at ui-ncurses.c:447
#5  0x0000000000437512 in ui_ncurses_print (target=<value optimized out>,
    separate=<value optimized out>, line=<value optimized out>)
    at ui-ncurses.c:1434
#6  0x00000000004229e6 in print_window (target=0x44da80 "__debug", separate=0,
    theme=<value optimized out>) at themes.c:586
#7  0x000000000042aaa0 in debug_handler (level=<value optimized out>,
    format=<value optimized out>, ap=<value optimized out>) at ekg.c:1087
#8  0x00007f16585c1023 in gg_debug (level=16,
    format=0x7f16585d6870 "// gg_resolver_pthread_start() %p\n") at debug.c:127
#9  0x00007f16585cd269 in gg_resolver_pthread_start (fd=0x4321d60,
    priv_data=0x4321e18, hostname=0x7f16585d2729 "appmsg.gadu-gadu.pl")
    at resolver.c:546
#10 0x00007f16585c7a03 in gg_login (p=<value optimized out>) at libgadu.c:992
#11 0x0000000000408c02 in ekg_connect () at stuff.c:1464
#12 0x000000000042b476 in ekg_wait_for_key () at ekg.c:542
#13 0x0000000000438b6c in ui_ncurses_loop () at ui-ncurses.c:4745
#14 0x000000000042a586 in main (argc=<value optimized out>,
    argv=<value optimized out>) at ekg.c:1678

#0  window_kill (w=0x9134a0, quiet=<value optimized out>) at ui-ncurses.c:5036
#1  0x00000000004387a1 in ui_ncurses_deinit () at ui-ncurses.c:3250
#2  0x000000000042ac20 in handle_sigsegv (sig=11) at ekg.c:966
#3  <signal handler called>
#4  window_backlog_add (w=0x9134a0, str=0x237ad20) at ui-ncurses.c:447
#5  0x0000000000437512 in ui_ncurses_print (target=<value optimized out>,
    separate=<value optimized out>, line=<value optimized out>)
    at ui-ncurses.c:1434
#6  0x00000000004229e6 in print_window (target=0x44da80 "__debug", separate=0,
    theme=<value optimized out>) at themes.c:586
#7  0x000000000042aaa0 in debug_handler (level=<value optimized out>,
    format=<value optimized out>, ap=<value optimized out>) at ekg.c:1087
#8  0x00007f74c0165da7 in gg_debug_session (gs=0x1e52cd0, level=16,
    format=0x7f74c017a350 "// gg_recv_packet() body recv(%d,%p,%d) = %d\n")
    at debug.c:147
#9  0x00007f74c016ee3f in gg_recv_packet (sess=0x1e52cd0) at libgadu.c:564
#10 0x00007f74c0166e72 in gg_watch_fd (sess=0x1e52cd0) at events.c:929
#11 0x000000000041b432 in handle_event (s=<value optimized out>)
    at events.c:1384
#12 0x000000000042b779 in ekg_wait_for_key () at ekg.c:824
#13 0x0000000000438b6c in ui_ncurses_loop () at ui-ncurses.c:4745
#14 0x000000000042a586 in main (argc=<value optimized out>,
    argv=<value optimized out>) at ekg.c:1678

Odpowiedź listem elektroniczym