Re: [libgadu-devel] Niekonczacy sie watek w libgadu?
Wojtek Kaniewski pisze: Tomek pisze: Przyszedl mi do glowy pomysl zeby napisac resolvera na qt i ustawic przy pomocy gg_session_set_custom_resolver() tylko jest jedno ale - w kadu wywolujemy gg_login() ktora przyjmuje tylko GG_RESOLVER_FORK, GG_RESOLVER_PTHREAD lub GG_RESOLVER_DEFAULT i dla kazdego innego zwroci -1. W takim razie zeby ustawic wlasnego resolvera musze ta funkcje przepisac u siebie z wywolaniem gg_session_set_custom_resolver() zamiast gg_session_set_resolver? Nie ma jakiegos 'ladniejszego' sposobu? Będzie, jak tylko dokończę funkcje gg_session_new(), gg_session_set_*() itp. Większość już mam napisaną, ale używalne to będzie dopiero po świętach. Tak poza tym, to której wersji to dotyczy? Zerknąłbym u siebie, bo może rozwiązanie okaże się proste i pisanie własnych resolverów nie będzie potrzebne. w. A dalo by sie przemycic cos w stylu zalaczonej laty do trunka? Tomasz -- Szukasz pieniedzy? Wez podwojny limit zadluzenia w koncie direct. http://link.interia.pl/f20a3 custom_resolver_in_gg_login.diff Description: Binary data ___ libgadu-devel mailing list libgadu-devel@lists.ziew.org http://lists.ziew.org/mailman/listinfo/libgadu-devel
Re: [libgadu-devel] Niekonczacy sie watek w libgadu?
Hej, On Sat, Mar 21, 2009 at 02:45:25PM +0100, rozt...@interia.pl wrote: A dalo by sie przemycic cos w stylu zalaczonej laty do trunka? Psujesz ABI, aplikację robią memset(l, 0, sizeof(struct gg_login_params)), na maszynach 64bitowych, gdy updejtniesz libgadu, a aplikacji nie zrekompilujesz, to wtedy memset nie wyzeruje twojego wskaźnika. Naszczęście nic strasznego się nie stanie. (bo pewnie nikt nie ustala p-resolver na GG_RESOLVER_CUSTOM). Można zaaplikować twoją łatkę i zwiększyć wersję API bibloteki. Innym rozwiązaniem jest poświęcenie jednego int dummy na int login_version, (albo login_size). Dzięki temu mielibyśmy kontrolę która część struktury jest zainicjowana na pewno (a nie śmieciami ze stosu), a która nie i nie należy jej używać. Btw. Wojtek (bardzo) nie lubi tej strukturki, i ZTCP nie chciał jej rozbudowywać. ___ libgadu-devel mailing list libgadu-devel@lists.ziew.org http://lists.ziew.org/mailman/listinfo/libgadu-devel
Re: [libgadu-devel] Niekonczacy sie watek w libgadu?
[-wojtekka, czyta libgadu-devel] On Sat, Dec 20, 2008 at 03:18:42PM +0100, Tomek wrote: Marcin Owsiany pisze: On Fri, Dec 19, 2008 at 06:37:38PM +0100, Tomek wrote: Marcin Owsiany pisze: On Thu, Dec 18, 2008 at 09:29:46PM +0100, Tomek wrote: A no i jest jeszcze jedna rzecz - skrypt configure wymaga modyfikacji zeby wykrywal pthreads pod makiem - z linii 21268 configure (z 1.8.2): CFLAGS=-shared -fPIC -Wl,-z,defs $CFLAGS $PTHREAD_CFLAGS nalezy wywalic -Wl,-z,defs inaczej pthready nie zostana wykryte To jest mój kod: r399 | porridge | 2005-04-28 00:35:20 +0100 (Thu, 28 Apr 2005) | 2 lines Changed paths: M /trunk/m4/acx_pthread.m4 - wyłączenie sprawdzania błędów w GCC dot. pthreads przy --disable-shared i reorganzacja tegoż sprawdzania w acx_pthread.m4 (porridge) Komentarz nad tą linią: -Wl,-z,defs forces link-time symbol resolution, so that the linking checks with -shared actually have any value Nadal wydaje mi się, że to jest potrzebne. Czy możesz podesłać config.log z próby skonfigurowania libgadu gdy ta flaga jest jak w oryginale? Plik config.log znajduje sie w zalaczniku. configure:21272: checking whether -pthread is sufficient with -shared configure:21297: gcc -o conftest -shared -fPIC -Wl,-z,defs -g -O2 -Wall conftest.c 5 conftest.c:22:1: warning: GG_LIBGADU_VERSION redefined conftest.c:21:1: warning: this is the location of the previous definition conftest.c: In function 'main': conftest.c:31: warning: 'th' is used uninitialized in this function ld: unknown option: -z collect2: ld returned 1 exit status Hm, może to nie jest GNU ld, więc nie lubi -z defs? Chyba trzeba będzie wprowadzić podprzypadek.. To nie jest GNU ld. Man do tej wersji ld znajduje sie np. tutaj: http://developer.apple.com/documentation/Darwin/Reference/Manpages/man1/ld64.1.html Według tej strony: | -undefined treatment | Specifies how undefined symbols are to be treated. Options are: error, warning, suppress, | or dynamic_lookup. The default is error. czyli wygląda jakby ten linker domyślnie robił to co ta flaga wymuszała. Zresztą nawet jeśli nie, to nie mamy za bardzo wyboru - zmieniłem kod (w trunk) tak, aby używał -Wl,-z,defs tylko gdy mamy do czynienia z GNU ld. W moim systemie działa, a makro którego użyłem jest definiowane przez libtoola, więc chyba nic nie popsułem. -- Marcin Owsiany mar...@owsiany.pl http://marcin.owsiany.pl/ GnuPG: 1024D/60F41216 FE67 DA2D 0ACA FC5E 3F75 D6F6 3A0D 8AA0 60F4 1216 Every program in development at MIT expands until it can read mail. -- Unknown ___ libgadu-devel mailing list libgadu-devel@lists.ziew.org http://lists.ziew.org/mailman/listinfo/libgadu-devel
Re: [libgadu-devel] Niekonczacy sie watek w libgadu?
Marcin Owsiany pisze: On Fri, Dec 19, 2008 at 06:37:38PM +0100, Tomek wrote: Marcin Owsiany pisze: On Thu, Dec 18, 2008 at 09:29:46PM +0100, Tomek wrote: A no i jest jeszcze jedna rzecz - skrypt configure wymaga modyfikacji zeby wykrywal pthreads pod makiem - z linii 21268 configure (z 1.8.2): CFLAGS=-shared -fPIC -Wl,-z,defs $CFLAGS $PTHREAD_CFLAGS nalezy wywalic -Wl,-z,defs inaczej pthready nie zostana wykryte To jest mój kod: r399 | porridge | 2005-04-28 00:35:20 +0100 (Thu, 28 Apr 2005) | 2 lines Changed paths: M /trunk/m4/acx_pthread.m4 - wyłączenie sprawdzania błędów w GCC dot. pthreads przy --disable-shared i reorganzacja tegoż sprawdzania w acx_pthread.m4 (porridge) Komentarz nad tą linią: -Wl,-z,defs forces link-time symbol resolution, so that the linking checks with -shared actually have any value Nadal wydaje mi się, że to jest potrzebne. Czy możesz podesłać config.log z próby skonfigurowania libgadu gdy ta flaga jest jak w oryginale? Plik config.log znajduje sie w zalaczniku. configure:21272: checking whether -pthread is sufficient with -shared configure:21297: gcc -o conftest -shared -fPIC -Wl,-z,defs -g -O2 -Wall conftest.c 5 conftest.c:22:1: warning: GG_LIBGADU_VERSION redefined conftest.c:21:1: warning: this is the location of the previous definition conftest.c: In function 'main': conftest.c:31: warning: 'th' is used uninitialized in this function ld: unknown option: -z collect2: ld returned 1 exit status Hm, może to nie jest GNU ld, więc nie lubi -z defs? Chyba trzeba będzie wprowadzić podprzypadek.. To nie jest GNU ld. Man do tej wersji ld znajduje sie np. tutaj: http://developer.apple.com/documentation/Darwin/Reference/Manpages/man1/ld64.1.html Tomek -- Tysiace zabawnych wierszyków.Dodaj swoj Sprawdz http://link.interia.pl/f1fcd ___ libgadu-devel mailing list libgadu-devel@lists.ziew.org http://lists.ziew.org/mailman/listinfo/libgadu-devel
Re: [libgadu-devel] Niekonczacy sie watek w libgadu?
Wojtek Kaniewski pisze: Tomek pisze: Jeden z uzytkownikow Kadu zglosil nam nastepujacy problem: Jeśli ustawie żeby kadu się na starcie nie łączyło z gg to wtedy się poprawnie zamyka, a jeśli połączę się z gg to wtedy nie chce się zamknąć. Może to ma związek z libgadu? PS. Raz się poprawnie zamyka po połączeniu z gg a raz nie. Ale jak się nie połącze z gg to zawsze się poprawnie zamyka. W momencie zakonczenia aplikacji glowny watek kadu sie konczy, wypisuje pozegnanie ale aplikacja sie nie konczy tylko zawisa. Pomaga kill -9. Wycofanie rewizji 636 w libgadu (czyli zamiana WNOHANG na 0 w wywolaniach waitpid) nie przynioslo poprawy. A co z patchem dla Mac OS X z tego weekendu? Pomaga? Przyszedl mi do glowy pomysl zeby napisac resolvera na qt i ustawic przy pomocy gg_session_set_custom_resolver() tylko jest jedno ale - w kadu wywolujemy gg_login() ktora przyjmuje tylko GG_RESOLVER_FORK, GG_RESOLVER_PTHREAD lub GG_RESOLVER_DEFAULT i dla kazdego innego zwroci -1. W takim razie zeby ustawic wlasnego resolvera musze ta funkcje przepisac u siebie z wywolaniem gg_session_set_custom_resolver() zamiast gg_session_set_resolver? Nie ma jakiegos 'ladniejszego' sposobu? Pozdrawiam, Tomek -- Wyslij wirtualna kartke swiateczna! Klikinij http://link.interia.pl/f1ff1 ___ libgadu-devel mailing list libgadu-devel@lists.ziew.org http://lists.ziew.org/mailman/listinfo/libgadu-devel
Re: [libgadu-devel] Niekonczacy sie watek w libgadu?
Tomek pisze: Przyszedl mi do glowy pomysl zeby napisac resolvera na qt i ustawic przy pomocy gg_session_set_custom_resolver() tylko jest jedno ale - w kadu wywolujemy gg_login() ktora przyjmuje tylko GG_RESOLVER_FORK, GG_RESOLVER_PTHREAD lub GG_RESOLVER_DEFAULT i dla kazdego innego zwroci -1. W takim razie zeby ustawic wlasnego resolvera musze ta funkcje przepisac u siebie z wywolaniem gg_session_set_custom_resolver() zamiast gg_session_set_resolver? Nie ma jakiegos 'ladniejszego' sposobu? Będzie, jak tylko dokończę funkcje gg_session_new(), gg_session_set_*() itp. Większość już mam napisaną, ale używalne to będzie dopiero po świętach. Tak poza tym, to której wersji to dotyczy? Zerknąłbym u siebie, bo może rozwiązanie okaże się proste i pisanie własnych resolverów nie będzie potrzebne. w. ___ libgadu-devel mailing list libgadu-devel@lists.ziew.org http://lists.ziew.org/mailman/listinfo/libgadu-devel
Re: [libgadu-devel] Niekonczacy sie watek w libgadu?
On Thu, Dec 18, 2008 at 09:29:46PM +0100, Tomek wrote: A no i jest jeszcze jedna rzecz - skrypt configure wymaga modyfikacji zeby wykrywal pthreads pod makiem - z linii 21268 configure (z 1.8.2): CFLAGS=-shared -fPIC -Wl,-z,defs $CFLAGS $PTHREAD_CFLAGS nalezy wywalic -Wl,-z,defs inaczej pthready nie zostana wykryte To jest mój kod: r399 | porridge | 2005-04-28 00:35:20 +0100 (Thu, 28 Apr 2005) | 2 lines Changed paths: M /trunk/m4/acx_pthread.m4 - wyłączenie sprawdzania błędów w GCC dot. pthreads przy --disable-shared i reorganzacja tegoż sprawdzania w acx_pthread.m4 (porridge) Komentarz nad tą linią: -Wl,-z,defs forces link-time symbol resolution, so that the linking checks with -shared actually have any value Nadal wydaje mi się, że to jest potrzebne. Czy możesz podesłać config.log z próby skonfigurowania libgadu gdy ta flaga jest jak w oryginale? -- Marcin Owsiany mar...@owsiany.pl http://marcin.owsiany.pl/ GnuPG: 1024D/60F41216 FE67 DA2D 0ACA FC5E 3F75 D6F6 3A0D 8AA0 60F4 1216 Every program in development at MIT expands until it can read mail. -- Unknown ___ libgadu-devel mailing list libgadu-devel@lists.ziew.org http://lists.ziew.org/mailman/listinfo/libgadu-devel
Re: [libgadu-devel] Niekonczacy sie watek w libgadu?
On Fri, Dec 19, 2008 at 06:37:38PM +0100, Tomek wrote: Marcin Owsiany pisze: On Thu, Dec 18, 2008 at 09:29:46PM +0100, Tomek wrote: A no i jest jeszcze jedna rzecz - skrypt configure wymaga modyfikacji zeby wykrywal pthreads pod makiem - z linii 21268 configure (z 1.8.2): CFLAGS=-shared -fPIC -Wl,-z,defs $CFLAGS $PTHREAD_CFLAGS nalezy wywalic -Wl,-z,defs inaczej pthready nie zostana wykryte To jest mój kod: r399 | porridge | 2005-04-28 00:35:20 +0100 (Thu, 28 Apr 2005) | 2 lines Changed paths: M /trunk/m4/acx_pthread.m4 - wyłączenie sprawdzania błędów w GCC dot. pthreads przy --disable-shared i reorganzacja tegoż sprawdzania w acx_pthread.m4 (porridge) Komentarz nad tą linią: -Wl,-z,defs forces link-time symbol resolution, so that the linking checks with -shared actually have any value Nadal wydaje mi się, że to jest potrzebne. Czy możesz podesłać config.log z próby skonfigurowania libgadu gdy ta flaga jest jak w oryginale? Plik config.log znajduje sie w zalaczniku. configure:21272: checking whether -pthread is sufficient with -shared configure:21297: gcc -o conftest -shared -fPIC -Wl,-z,defs -g -O2 -Wall conftest.c 5 conftest.c:22:1: warning: GG_LIBGADU_VERSION redefined conftest.c:21:1: warning: this is the location of the previous definition conftest.c: In function 'main': conftest.c:31: warning: 'th' is used uninitialized in this function ld: unknown option: -z collect2: ld returned 1 exit status Hm, może to nie jest GNU ld, więc nie lubi -z defs? Chyba trzeba będzie wprowadzić podprzypadek.. -- Marcin Owsiany mar...@owsiany.pl http://marcin.owsiany.pl/ GnuPG: 1024D/60F41216 FE67 DA2D 0ACA FC5E 3F75 D6F6 3A0D 8AA0 60F4 1216 Every program in development at MIT expands until it can read mail. -- Unknown ___ libgadu-devel mailing list libgadu-devel@lists.ziew.org http://lists.ziew.org/mailman/listinfo/libgadu-devel
Re: [libgadu-devel] Niekonczacy sie watek w libgadu?
Wojtek Kaniewski pisze: Tomek pisze: Jeden z uzytkownikow Kadu zglosil nam nastepujacy problem: Jeśli ustawie żeby kadu się na starcie nie łączyło z gg to wtedy się poprawnie zamyka, a jeśli połączę się z gg to wtedy nie chce się zamknąć. Może to ma związek z libgadu? PS. Raz się poprawnie zamyka po połączeniu z gg a raz nie. Ale jak się nie połącze z gg to zawsze się poprawnie zamyka. W momencie zakonczenia aplikacji glowny watek kadu sie konczy, wypisuje pozegnanie ale aplikacja sie nie konczy tylko zawisa. Pomaga kill -9. Wycofanie rewizji 636 w libgadu (czyli zamiana WNOHANG na 0 w wywolaniach waitpid) nie przynioslo poprawy. A co z patchem dla Mac OS X z tego weekendu? Pomaga? Niestety okazuje sie ze mimo tego potrafi sie zawiesic :( Co ciekawe za pierwszym razem sie nie wiesza. Jak wylacze Kadu i wlacze ponownie i sprobuje sie podlaczyc to zwisa. I juz potem z kazdym odpaleniem programu tak sie dzieje. Az do restartu. A no i jest jeszcze jedna rzecz - skrypt configure wymaga modyfikacji zeby wykrywal pthreads pod makiem - z linii 21268 configure (z 1.8.2): CFLAGS=-shared -fPIC -Wl,-z,defs $CFLAGS $PTHREAD_CFLAGS nalezy wywalic -Wl,-z,defs inaczej pthready nie zostana wykryte Pozdrawiam, Tomek -- Wyslij wirtualna kartke swiateczna! Klikinij http://link.interia.pl/f1ff1 ___ libgadu-devel mailing list libgadu-devel@lists.ziew.org http://lists.ziew.org/mailman/listinfo/libgadu-devel
Re: [libgadu-devel] Niekonczacy sie watek w libgadu?
On Tue, Dec 16, 2008 at 06:32:08PM +0100, Tomek wrote: W momencie zakonczenia aplikacji glowny watek kadu sie konczy, wypisuje pozegnanie ale aplikacja sie nie konczy tylko zawisa. Pomaga kill -9. No to niech uzytkownik Kadu podczepi sie gdb pod kadu, i backtrace, najlepiej backtrace full. ___ libgadu-devel mailing list libgadu-devel@lists.ziew.org http://lists.ziew.org/mailman/listinfo/libgadu-devel
Re: [libgadu-devel] Niekonczacy sie watek w libgadu?
Tomek pisze: Jeden z uzytkownikow Kadu zglosil nam nastepujacy problem: Jeśli ustawie żeby kadu się na starcie nie łączyło z gg to wtedy się poprawnie zamyka, a jeśli połączę się z gg to wtedy nie chce się zamknąć. Może to ma związek z libgadu? PS. Raz się poprawnie zamyka po połączeniu z gg a raz nie. Ale jak się nie połącze z gg to zawsze się poprawnie zamyka. W momencie zakonczenia aplikacji glowny watek kadu sie konczy, wypisuje pozegnanie ale aplikacja sie nie konczy tylko zawisa. Pomaga kill -9. Wycofanie rewizji 636 w libgadu (czyli zamiana WNOHANG na 0 w wywolaniach waitpid) nie przynioslo poprawy. A co z patchem dla Mac OS X z tego weekendu? Pomaga? Pozdr, Wojtek ___ libgadu-devel mailing list libgadu-devel@lists.ziew.org http://lists.ziew.org/mailman/listinfo/libgadu-devel