cvs

Tomasz Kłoczko kloczek w rudy.mif.pg.gda.pl
Śro, 13 Paź 1999, 13:54:32 CEST


Od kilku dni są coraz wieksze kłopoty z poprawną pracą cvs serwera.
Dzieje sie tak za sprawą coraz wiekszego obciazenia serwera i tego, że cvs
jest kolejną aplikacją która mam mem leak. Objawia sie to tym, że o ile
zaciaga się wiekszą ilość plików z serwera to, cvs po wysewowaniu każdego
pliku nie zwalnai sobie pamięci jaką zalokował na potrzeby wyekspediowania
na zewnątrz pliki, co z kolei objawia sie tym, że poprostu puchnie.
Puchnie do tego stopnia że zajmuje całą dostępna pamieć.

W ramach rozwiazanai powyzszego miałbym prośbe (wielką) o nie ciągnięcie
wszystkiego co fabryka właożył z serwra i maksymalnie częste posługiwanie
sie builderem do ściagania zasobów. Kolenym etapem będzie blokada anon
dostępu na cvs.pld.org.pl i jednoczesne poszukowanie kolejnych backup
serwerów cvs które bedą robić tylk ona potrzeby anon cvs. cczyli żedo
cvs.pld.org.pl bedą miały dostęp tylko osoby które maja konta w repo.
Backup serwery mozńa będzie robić z użyciem rsynca. W tej chwili już jest
jeden backup cvs pod adresem cvs-mirror.pld.org.pl. Osoby które chciałby
sobie zorganizować backup cvs z dostępem tylko RO proszone są o kontakt

Kolenym kierunkiem powinno być namierzenie wycieku w cvs. Prosta operacja
typu:
[kloczek w cenzor src]$ grep alloc server.c | wc -l
    116
[kloczek w cenzor src]$ grep free server.c | wc -l
     76

Pokazuje, że pliku src/server.c w źródłach cvs jesst wyraźna asymetria w
użyciu malloc()/free(). Jeżeli uda się usunąć ten wyciek to może operacje
z robieniem dodatkowych cvs serwerów nie bedą potrzebne. Także prosiłbym o
pomoc i zainteresowani się tym kawałkiem źródła cvs.

Kolejna upierdliwościa cvs-a jest taka, że blokowanie zasobów robi on na
poziomie nie pliku co modułu i blokowanie jest robione już przy czytaniu
co powoduje, że jeżeli jedna osoba czyta moduł to już inna nie może
wykonać zapisu do jakiegokolwiek pliku w ramach modułu. Nad usunieciem tej
wady też wartoby posiedzieć trochę.

Jescze jedno. Czy ktoś ma jakieś doświadczenai w używaniu malloc debugerów
? ale takich które kojarzyłyby se sobą pary alokacja dealokacja
(ElectricFence nadaje się w zasadzie do wychwytywania tylko wielokrotnych
dealokacji). Może ktoś używał ccmalloc albo czegoś podobnego co
pozwoliłoby odfiltrować te opracje które ewidentnie nie mają sparowanych
dealokacji ?

kloczek
-- 
-----------------------------------------------------------
*Ludzie nie mają problemów, tylko sobie sami je stwarzają*
-----------------------------------------------------------
Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: kloczek w rudy.mif.pg.gda.pl*



Więcej informacji o liście dyskusyjnej pld-devel-pl