Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Out of memory na Dataset.Open

[es] :: Pascal / Delphi / Kylix :: Out of memory na Dataset.Open

[ Pregleda: 1703 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Out of memory na Dataset.Open15.07.2009. u 11:55 - pre 180 meseci
Googlao sam, ali ništa korisno nisam pronašao.

Dakle, kod otvaranja dataseta (FIBPlus) se događa navedena greška. Zanimljivo je da se u 90% slučajeva javlja kada dataset vraća samo jedan rezultat (jednu vrijednost). Ali ne uvijek i ne uvijek na istom dataset-u. Aplikacija radi u mreži od 10-ak računala. Delphi 7 je u pitanju.

Da li je netko imao sličnih problema?

Hvala!
F
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
*.dynamic.sbb.rs.



+62 Profil

icon Re: Out of memory na Dataset.Open15.07.2009. u 21:03 - pre 180 meseci
Da li imas calculated fields i OnCalcFields?

Proveri to, kao i sve event-e na dataset-u. Otkaci ih sve, pa jedan po jedan aktiviraj. Verovatno negde imas nezeljenu rekurziju.
Cesta greska je pozivanje metode unutar event-a koja povlaci ponovno ulazenje u isti event, i eto karambola. Remuj sve metode nad dataset-om unutar event-a (tipa Refresh ili slicno), pa uporno pokusavaj.
Zaboravih da li FIBPlus ima BeginUpdate/EndUpdate metode; pokusaj i sa tim (procitaj sta je, ako nisi).

Rajko
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Out of memory na Dataset.Open16.07.2009. u 07:26 - pre 180 meseci
Rajko hvala, ali...

Problem je da se taj memory leak dešava na

Code:
Dataset.Open;


i ne uvijek na istom dataset-u, pa čisto sumnjam da je problem u CalcFields, ali niti ih nema. Nema nikakve obrade podataka, učitava se podatak i dodjeljuje se vrijednost varijabli nakon toga...
F
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Out of memory na Dataset.Open16.07.2009. u 11:59 - pre 180 meseci
Verovatno je to samo neka generička greška, nešto drugo se dešava (ne može da otvori neki handle npr) a ne trošenje čitave memorije. Ako imaš source pogledaj gde se tačno dešava exception i potraži da li postoji update komponenti, ako ne, pokušaj da napraviš neku test bazu sa kojom se to može ponovoti pa pošalji prijavu buga.
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Out of memory na Dataset.Open16.07.2009. u 12:44 - pre 180 meseci
Citat:
savkic: Verovatno je to samo neka generička greška, nešto drugo se dešava (ne može da otvori neki handle npr) a ne trošenje čitave memorije. Ako imaš source pogledaj gde se tačno dešava exception i potraži da li postoji update komponenti, ako ne, pokušaj da napraviš neku test bazu sa kojom se to može ponovoti pa pošalji prijavu buga.


A i meni se čini da je to neki bug. Ali opet mi nije jasno da se to dešava samo kod jednog korisnika, a kod svih ostalih radi normalno... A najveći problem je da ja ne mogu nikako ponoviti tu grešku... Ako otkrijem nešto, javim.
F
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
*.grappoloin.com.



+62 Profil

icon Re: Out of memory na Dataset.Open16.07.2009. u 14:27 - pre 180 meseci
Hmmmm... je li to Firebird?

Ako da, proveri da li su identicne instalacije Firebird klijenta na svim masinama. Cesta greska je brkanje/mesanje verzija 1.5 i 2.1 itd.itd. Problem hoce da prave (ne?)kompatibilne biblioteke gds32.dll i fbclient32.dll. Takodje postoje i podesavanja FB-a prilikom instalacije (classic vs. superserver)...

Primer: cesto se desava ovde u firmi da firebird backup sa jedne masine ne moze da se restore-uje na drugoj masini. U jednom trenutku su se verzije "usarenile" i to sad radi tako... ali stvarno nemamo tezih problema.

Jos samo ovo: da li je pomenuti dataset "meso" za neku vizuelnu kontrolu, recimo cxGrid? I to u momentu otvaranja (dataset.Open)?

Evo jos jedan detalj: TIBQuery recimo ima jedan poznati bug, a to je da spregnut sa cxGrid-om, prilikom fetch-ovanja iole vece mase podataka/recorda izbacuje upravo "out of memory". Ukoliko taj isti query otvorimo bez kontrole (otkacimo grid), sve radi ok. Ima li tu paralele sa tvojim problemom... nisam pametan.

Rajko
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Out of memory na Dataset.Open16.07.2009. u 16:11 - pre 180 meseci
Citat:
Rapaic Rajko: Hmmmm... je li to Firebird?

Kao prvo, Rajko, hvala na trudu! Je, Firebird.
Citat:

Ako da, proveri da li su identicne instalacije Firebird klijenta na svim masinama. Cesta greska je brkanje/mesanje verzija 1.5 i 2.1 itd.itd. Problem hoce da prave (ne?)kompatibilne biblioteke gds32.dll i fbclient32.dll. Takodje postoje i podesavanja FB-a prilikom instalacije (classic vs. superserver)...

Dobra ideja, to ću provjeriti, makar mislim da su iste verzije, jer je istovremeno instalirano.
Citat:

Primer: cesto se desava ovde u firmi da firebird backup sa jedne masine ne moze da se restore-uje na drugoj masini. U jednom trenutku su se verzije "usarenile" i to sad radi tako... ali stvarno nemamo tezih problema.

Jos samo ovo: da li je pomenuti dataset "meso" za neku vizuelnu kontrolu, recimo cxGrid? I to u momentu otvaranja (dataset.Open)?

Evo jos jedan detalj: TIBQuery recimo ima jedan poznati bug, a to je da spregnut sa cxGrid-om, prilikom fetch-ovanja iole vece mase podataka/recorda izbacuje upravo "out of memory". Ukoliko taj isti query otvorimo bez kontrole (otkacimo grid), sve radi ok. Ima li tu paralele sa tvojim problemom... nisam pametan.

Rajko


Je, jedan od tih datasetova koji "puca" je "meso" za grid (Delphi-ev TDBGrid). Ali jedan od tih datasetova nije "meso" za grid, samo vadi vrijednost polja iz baze (makar to lako promijenim u Query).

Da se to dešava na jednom datasetu, još bi nekako "razumio", ali buni me da se taj problem javlja kod više njih, ne uvijek i na različitim mašinama. U 90% slučajeva je to uvijek jedan te isti dataset, a broj ds-ova kod kojih se to javilo do sada je cca 4.

Još jednom hvala na trudu! Provjeriti ću verzije servera, pa javim da li je pomoglo.
F
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Out of memory na Dataset.Open

[ Pregleda: 1703 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.