Einzelnen Beitrag anzeigen

stalkingwolf

Registriert seit: 6. Mai 2011
518 Beiträge
 
#1

IBAlloc out of memory

  Alt 13. Jan 2021, 12:57
Datenbank: FB • Version: 2.5.1 • Zugriff über: IBX
Nachdem ich mir den IBX Code ausgelagert habe und nun selber übersetzten kann habe ich mir einmal die Problematik "Zu wenig Arbeitsspeicher" "Out of Memory" angeschaut.

In der IB.pas in der Funktion IBAlloc knallt es irgendwann bei ReallocMem(Pointer(P), NewSize) wenn NewSize ca den Wert von 262764000 erreicht hat. IBAlloc hat sich von D6 bis 10.1 quasi nicht geändert und es gibt auch keinerlei Plausibilitätschecks. Es knallt einfach.

Die vorausgehende Funktion ist AdjustPosition in IBCostumDataSet.
Ich bin am überlege wie ich das Problem abfange. Wir nutzten nämlich in diversen Programm TIBDataset und das Ding müllt sich einfach immer weiter zu, bis es irgendwann knallt.

Im Netz habe ich folgendes noch gefunden :
http://www.codenewsfast.com/cnf/thre...hr-ng1932q1236
Wobei ich denke das die erwähnten Codeschnippsel in XE4 implementiert sind und mit nichts zu tun hat.

Jemand sich schon einmal beschäftigt?
  Mit Zitat antworten Zitat