🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.tcl
Article #429

starkit, Thread, source, vfs

#429
From: krys53
Date: Sat, 28 Oct 2006 22:08
67 lines
4056 bytes
Witam
	Czy ktoś może spotkał się z problemem zasorsowania plików z vfs,
w wątkach ? Stworzyłem sobie starpacka z dużej aplikacji napisanej w
TCl (kilkaset plików w TCL, wiele dodatkowych bibliotek, itd).
Aplikacja normalnie działa gdy uruchomi się ją poprzez tcl
zainstalowanego w sposób standardowy. Problemy zaczynają się
pojawiać, gdy po stworzenie z tej aplikacji starpacka, próbują ją
uruchomić. Aplikacja startuje normalnie, po krótkiej chwili
zaczynają się pojawiać komunikaty w stylu:
Pod Windows:
Program wykonał nieprawidłowe zadanie ...
Błąd pamięci
Pod Linuxem (Aurox)
Naruszenie ochrony pamięci
Proces Unicestwiony
Jak tclkit wykorzystywałem:
- zbudowanego przez siebie własnego tclkita (zbudowanego na podstwie
tcl8.4.11+ Thread262 oraz tclkit8.4.13+thread265), reszta bibliotek
najnowsza jaka była na serwerze
- dqkita (na najnowszej wersji dqkit 8.4.13)
- basekit (ActiveState) (w wersji 8.4 i 8.5)
Platformy pod jakimi testowałem to:
- Windows XP Professional
- Linux dystrybucja Aurox 10

Oczywiście wszystkie wersje tclkit są wielowątkowe, moja własna
też.
Błędy powstają bez znaczenia pod która platformą to uruchomię. Po
linuksem wykonałem tylko kilka testów. Pod Windowsem udało mi się
wyizolować błąd. Stworzyłem własną aplikację test. Jej
architektura:
To w zasadzie 3 pliki:
1 główny -uruchamia dwa wątki i robi source na 2 pliku
2 to sourcowany plik - ma on w sobie pętle która sorsuje
kilkadziesiąt raz plik 3 i jego kopie.
Dwa wątki również sorsują ten sam plik 2 i zarazem póżniej kopie
pliki 3, acha wszystkie wątki włącznie z głównym wywołują
jeszcze prostą funkcję (coś ustawia w tsv i odczytuje potem stan)  z
pliku 2.

Aplikacja działa dobrze uruchomiona przez zwykłego tcl z thread,
natomiast spakowany starpack zgłasza podobne błędy, jak wcześniej
wymienione. Zawuażyłem, że udało mi się również przy
uruchamianiu tej aplikacji przez tclkita (dowolnego z wymienionych
wcześniej) ale nie w wersji spakowanej do starpack błędy wspomniane
wcześniej również się pojawiają, ale niezmiernie rzadko
(testowałem tylko pod Windows tą sytuację).

Czy uruchmiam starpack (rozumiem z runtime) czy uruchamiam starkit(bez
runtime) z dowolnego tclkita.

Próbowałem otwierać starpkack dodająć mk::file open - shared nie
pomogło.
Znalazłem gdzieś redefinicję sourca też nie pomogło.

Chciałbym zaznaczyć, że problem znika, jeśli pozbędę się source
i po prostu wklej zawartośc pliku w docelowe miejsce.
Moje wątpliwości kierują się ku nie do końca bezpiecznemu
zbudowaniu metakit , jeśli chodzi o wielowątkowość, zastanawiam
się również jak to jest z vfs, czy też przy takim wielowątkowym
sourcowaniu tych samych plików, też dobrze sobie radzi, a może
błąd tkwi gdzieś w moim zrozumieniu tematu.
Jeśli ktoś ma jakieś pomysły, lub spotkał się z podobnymi
problemami, to poproszę o pomoc.

Pozdrawiam
Krys
Technical Details
Message-ID: <1162073308.185644.194060@m7g2000cwm.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!news.germany.com!postnews.google.com!m7g2000cwm.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!news.germany.com!postnews.google.com!m7g2000cwm.googlegroups.com!not-for-mail
From: krys53@poczta.onet.pl
Newsgroups: pl.comp.lang.tcl
Subject: starkit, Thread, source, vfs
Date: 28 Oct 2006 15:08:28 -0700
Organization: http://groups.google.com
Lines: 70
Message-ID: <1162073308.185644.194060@m7g2000cwm.googlegroups.com>
NNTP-Posting-Host: 81.219.101.77
Mime-Version: 1.0
X-Trace: posting.google.com 1162073313 24375 127.0.0.1 (28 Oct 2006 22:08:33 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Sat, 28 Oct 2006 22:08:33 +0000 (UTC)
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.7.12) Gecko/20050915,gzip(gfe),gzip(gfe)
Complaints-To: groups-abuse@google.com
Injection-Info: m7g2000cwm.googlegroups.com; posting-host=81.219.101.77;   posting-account=Ic-aZw0AAAC5DQLgQI8rhjnvU1wQytjs
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit