Seite 1 von 1

Seltsames Verhalten Version 817

Verfasst: Di, 15. Aug 2017 23:59
von ramses
Hallo zusammen

seit einigen Wochen kämpfe ich mit sporadischen Fehlern... siehe andere Beiträge.
Heute war der Versuch "Update auf 817" an der Reihe. Ich möchte euch dies nicht vorenthalten.
Das Testobjekt-Programm ist ein Reorgprogramm welches in einem CRT-Fenster Datenbanken überprüft.
Vorgehen: Version 817 installiert.
Alle Objs und EXE gelöscht.
Neu compiliert, EXE und Runtime DLL's auf Arbeitsmaschine kopiert. Gestartet.
Speicherbelegung zum Startzeitpunkt 6'000K
PRO SEKUNDE steigt der Arbeitsspeicherverbrauch um über 1'000K an.

nach ca. 5 Minuten sind es dann 616'644 K weitere Sekunden später beendet sich die EXE ohne Errorlog oder Fatal.
616m.jpg
616m.jpg (121.57 KiB) 14635 mal betrachtet

Unter der 807 läuft das selbe Programm stundenlang fehlerfrei unter 817 ist nach 5 Minut Schluss.

Mir fehlen echt die Worte.


Gruss Carlo

Re: Seltsames Verhalten Version 817

Verfasst: Mi, 16. Aug 2017 1:06
von DelUser01
Hallo Carlo

da hift vermutlich nur das Einkreisen des Bereiches wo der Fehler passiert bzw. der Speicher verbraucht wird. In den 5 Minuten bis zum Absturz sollte es möglich sein den Speicherfresse zu finden.
Egal ob es vor 817 gelaufen ist - nur Du kannst herausfinden wo das in Deinem Programm passiert.

Anders wird es vermutlich vorerst nicht gehen - zumindest bis weitere ähnliche Probleme gemeldet werden.

Viel Erfolg!

Re: Seltsames Verhalten Version 817

Verfasst: Mi, 16. Aug 2017 7:44
von ramses
Hallo Roland

danke für deine Worte.

Es ist genau so wie du schreibst und auch das was ich die letzte Zeit mit sehr grossem Aufwand und einsatz aller verfügbaren Zeit auch versuche.

Das Zwischenresultat: 616 M Speicherverbrauch hat mir dann einfach Srache verschlagen.

Nur ist es leider nicht ganz so einfach. .... und wenn ich mir die vielen zum Prozess gehörenden DLL's anschaue vielleicht nicht mal unbedingt ein xbase Problem .....



Gruss Carlo

Re: Seltsames Verhalten Version 817

Verfasst: Mi, 16. Aug 2017 8:11
von Jan
Hallo Carlo,

vielleicht wäre es einen Versuch wert, das mal mit memwatch zu überprüfen?

Jan

Re: Seltsames Verhalten Version 817

Verfasst: Mi, 16. Aug 2017 9:16
von Koverhage
Jan,
memwatch bringt nicht wirklich viel, eher wie int der c't 16 und 17/2017 beschrieben

Windows analysieren mit dem Process Monitor

Re: Seltsames Verhalten Version 817

Verfasst: Mi, 16. Aug 2017 15:09
von ramses
Hallo Zusammen


Ich konnte die Probleme nach ersten Tests scheinbar beseitigtigen.

Geändert habe ich:

Update ot4xb.dll auf 1.6.4.32
Update Open-SSL DLL's auf 1.0.2.12

Nicht benötigte Drucker-Geräte wie Fax usw. entfernt.
Druckertreiber durch Version von MS ersetzt

Verwenden von Excel aus den Programm
bezw. das Schreiben von Daten in Excel Tabellen via:

oExcel := CreateObject( "Excel.Application" )
......
oExcel:quit()
oExcel:destroy()

entfernt.

*******************************

Kennt jemand einen Weg xls Tabellen ohne die Verwendung von Excel zu erstellen?


Gruss Carlo

Re: Seltsames Verhalten Version 817

Verfasst: Mi, 16. Aug 2017 15:38
von HaPe
Kennt jemand einen Weg xls Tabellen ohne die Verwendung von Excel zu erstellen?
http://foxyxls.codeplex.com/

Re: Seltsames Verhalten Version 817

Verfasst: Mi, 16. Aug 2017 15:58
von Jan

Re: Seltsames Verhalten Version 817

Verfasst: Mi, 16. Aug 2017 19:21
von AUGE_OHR
ramses hat geschrieben: Mi, 16. Aug 2017 15:09 Verwenden von Excel aus den Programm bezw. das Schreiben von Daten in Excel Tabellen via:

oExcel := CreateObject( "Excel.Application" )
......
oExcel:quit()
oExcel:destroy()

entfernt.
hast du noch andere COM/ActiveX wo du ähnliches mit der 817 beobachten konntest ?

Re: Seltsames Verhalten Version 817

Verfasst: Mi, 16. Aug 2017 20:54
von ramses
Hallo Jimmy

Ich habe/hatte glücklicherweise nur 2 Object-Schnittstellen, zu Outlook und Excel.

Aber ich jage eigentlich noch immer den Str() Fehlerteufel......

Gruss Carlo

Re: Seltsames Verhalten Version 817

Verfasst: Mi, 16. Aug 2017 21:39
von DelUser01
ramses hat geschrieben: Mi, 16. Aug 2017 20:54Aber ich jage eigentlich noch immer den Str() Fehlerteufel......
Hall Carlo

hast Du denn den Vorschlag "mach Drei aus einer Zeile" schon ausprobiert?
viewtopic.php?f=20&t=9904&p=114856&hilit=str#p114856
Wenn dann der Fehler immer noch bei Str(...) passiert sind die anderen Vorgänge raus aus der Sache.
Dann würde ich das auch nicht mehr in eine Zeile schreiben - biss Du weißt woher das kommt...

Re: Seltsames Verhalten Version 817

Verfasst: Mi, 16. Aug 2017 22:20
von ramses
Hallo Roland

ja der kommt auch. Immer wenn der Ursprung ein Nummerisches DBF Feld (aus ADS) ist mit diesem gerechnet und das Ergebniss dann in Str() reinkommt.

Gruss Carlo

Re: Seltsames Verhalten Version 817

Verfasst: Mi, 16. Aug 2017 23:06
von DelUser01
ramses hat geschrieben: Mi, 16. Aug 2017 22:20Immer wenn der Ursprung ein Nummerisches DBF Feld (aus ADS) ist mit diesem gerechnet und das Ergebniss dann in Str() reinkommt.
Ich habe den ADS seit mind. 15 Jahren bei mir und Kunden im EInsatz.
In vielen INDEX ON steht ein Str(...), z.B:

Code: Alles auswählen

Index On Str( LFDNR , 10 , 0 ) + Str( LFDPOS , 10 , 0 ) + Str( NSTULFD , 5 , 0 ) + Str( NSTULEV , 3 , 0 ) + xtG1IndAr( AR_NR ) To ( MEMVAR->DB_ABML2 )
Um das mit den drei Zeilen statt einer zu testen musst Du ja eine Funktion verwenden, z.B.

Code: Alles auswählen

Function Berechne
Local a := field->skontober / 100
Local b := field->skontoabz / a
Return( b )
Index On Str( Berechne() , 10 , 1 ) To "c:\temp\test.ntx"
oder gleich

Code: Alles auswählen

Function Berechne
Local a := field->skontober / 100
Local b := field->skontoabz / a
Local c := str( b , 10 , 1 )
Return( c )
Index On Berechne() To "c:\temp\test.ntx"
Das sollte doch möglich sein wenn irgendwann nicht eine andere Fehlermeldung kommt oder sogar der Fehler nichtmehr im Index On auftritt.

Re: Seltsames Verhalten Version 817

Verfasst: Mi, 16. Aug 2017 23:53
von ramses
Hallo Roland

du hast da was falsch verstanden.

Die rückgabe von Str() wird z.B. zur Anzeige, Drucken zusammstellen eines Strings uva. verwendet.
NICHT zum Aufbau eines Index.
Also z.b. ? str() oder @ 10,10 say alltrim(str())+ .....

Ich habe nur auf ADS verwiesen damit ersichtlich ist dass der Wert aus der ADSDBE kommt. Diese hat doch schon öfters ein wenig Eigenheten gehabt. Die erste ADS Version hatten wir in den 90er Jahren noch unter Novell Netware ....... als M$ noch nicht wusste dass es Netzwerke gibt .......

Gruss Carlo

Re: Seltsames Verhalten Version 817

Verfasst: Do, 17. Aug 2017 0:14
von DelUser01
OK - keine Ahnung wie ich da jetzt auf Index komme...
Wir sollten aber in dem dazu passenden Thema hierzu weitermachen, sonst kommt noch mehr durcheinander :-)
https://xbaseforum.de/viewtopic.php?f=2 ... &hilit=str

Re: Seltsames Verhalten Version 817

Verfasst: Do, 17. Aug 2017 8:13
von Jan
Carlo,

hast Du das mal mit Alaska besprochen? Wenn Du eindeutig nachvollziehen kannst, das sich da etwas zum Negativen geändert hat, dann sollten die das erfahren. Und das prüfen.

Jan

Re: Seltsames Verhalten Version 817

Verfasst: Do, 17. Aug 2017 11:32
von ramses
Hallo Jan

das Speicherfressen konnte ich durch obige Anpassungen beseitgen.
Aufgefallen ist es jetzt besonders weil der Scan diesmal massenhaft Logeinträge in die Exceltabelle erstellen musste beim letzten Druchlauf unter (807 Version) vielen gar keine Logeinträge an.
Es ist also nicht ein 807->817 Problem. Eher mal wieder eine bestätigung die Finger von Object-Schnittstellen zu lassen.

Gruss Carlo