Hi
ich habe in einem Netzwerk mit mehreren Arbeitsplätzen das Problem dass das Programm sehr oft pro Tag mit der Fehlermeldung 8999 abstürzt.
Dies bringt sehr viel Ärger.
Nach meiner Ansicht ist das Antivirus-Programm für diese Probleme verantwortlich.
Dummerweise kann ich den Systembetreuer nicht dazu bringen im Antivirus Programm Ausnahmen zu definieren.
Oder diesen zu ersetzten.
Die bilateralen möglichkeiten mit dem Systembetreuer sind erschöpft und die Verantwortlichen verstehen zu wenig.
Gibt es eine möglichkeit herauszufinden welcher Antivirus installiert ist bezw. ob die Dateizugriffe gescannt / verzögert werden?
Meine Idee ist nun in Probelmatischer Umgebung den Programmstart zu verweigern.
Cu Carlo
Virus-Scanner ermitteln
Moderator: Moderatoren
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Virus-Scanner ermitteln
du kannst die Tasklist abfragen nach Namen ...ramses hat geschrieben:Gibt es eine möglichkeit herauszufinden welcher Antivirus installiert ist bezw. ob die Dateizugriffe gescannt / verzögert werden?
hm ... ist das jetzt positive oder negative gemeintramses hat geschrieben:Meine Idee ist nun in Probelmatischer Umgebung den Programmstart zu verweigern.
vorab : Probleme bei Kunden hängt auch von dem "Grösse" ( Umsatz / Aufwand / Nerven... ) ab ...
bei einem grossen Kunden würde ich ein Zertifikat empfehlen und damit deine Xbase++ Programme signieren.
wenn du Hardware Probleme hast biete ihm ein Server "zur Miete" an wo DU Administrator bist und NUR deine Applikationen zugreifen.
Deine Idee den Programm Start zu verweigern wäre nur dann "richtig" wenn der Virus Scanner von deinem Kunden sagt das es ein Virus sei ...
Xbase++ mit nur 3 Zeile schaffen das
Andernfalls, wenn du nicht eine entsprechende AGB hast die der Kunde akzeptiert hat, könnte das "Sperren" als "Unterbrechung der Arbeit" angesehen werden und das könnte Böse Folgen haben
wenn DU keinen "Druck" auf die Verantwortlichen machen kannst dann bringe die User dazu. :-"
da du weisst das du ständig den 8999 bekommst musst du den abfangen und den User benachrichtigen ... in einer LOOP
Dein Programm macht dann also genau das was es machen soll ... es fängt den Fehler ab und meldet ihn ... jedes mal ...
und wenn das so lange dauert liegt es daran das die Verantwortlichen welche die Optimierungen nicht zulassen wollen.
In deiner MsgBox(), in der eigenen ErrorSys, kannst du dann ausführlich auf "mögliche" Ursachen hinweisen wie Viren-Scanner ( benachrichtigen sie Ihren Administrator blabla ... )
Frage : was für einen Viren Scanner haben die ? Client oder Server AV Software ?
p.s. hoffentlich liegt es nur an der AV Software
gruss by OHR
Jimmy
Jimmy
- Jan
- Marvin
- Beiträge: 14655
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Virus-Scanner ermitteln
Carlo,
an welchen Stellen bekommst Du denn den 8999? Ich hatte das früher immer beim Locken. Dann habe ich das in eine Sequence-Schleife gelegt, und danach klappt das. Als ob der Scanner einfach zu lange braucht das Locken freizugeben, und Xbase++ das dann als 8999 interpretiert.
Inzwischen habe ich einen ganzen Schwung der Db-Funktionen in Sequence-Scheilfen gelegt, weil ich bei einem Kunden nach dem Umbau der Serverstrukturen nur noch Betriebssystemfehler bekommen habe. Bei jedem Seek, Gotop, Locken, Entlocken, was auch immer. Die Server waren anscheinend einfach zu schnell geworden. Aber auch bei privaten Kunden hatte ich sporadisch solche Fehler, nach dem Umbau auf die Schleifen ist auch an der Front Ruhe eingekehrt.
Jan
an welchen Stellen bekommst Du denn den 8999? Ich hatte das früher immer beim Locken. Dann habe ich das in eine Sequence-Schleife gelegt, und danach klappt das. Als ob der Scanner einfach zu lange braucht das Locken freizugeben, und Xbase++ das dann als 8999 interpretiert.
Inzwischen habe ich einen ganzen Schwung der Db-Funktionen in Sequence-Scheilfen gelegt, weil ich bei einem Kunden nach dem Umbau der Serverstrukturen nur noch Betriebssystemfehler bekommen habe. Bei jedem Seek, Gotop, Locken, Entlocken, was auch immer. Die Server waren anscheinend einfach zu schnell geworden. Aber auch bei privaten Kunden hatte ich sporadisch solche Fehler, nach dem Umbau auf die Schleifen ist auch an der Front Ruhe eingekehrt.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Virus-Scanner ermitteln
Wenn man Virenscanner so leicht abfragen und gar an der Arbeit hindern könnte, würden das natürlich auch und vor allem die Entwickler von Schädlingen tun. Einige (Komponenten) lassen sich über Tasklisten ermitteln, aber ganz so einfach ist es meistens nicht. Was so gut wie unmöglich herauszukriegen ist, ist die Frage, was die Scanner genau tun. Läuft On-Demand-Scan? Welche Dateitypen und Verzeichnisse sind als Ausnahmen definiert? Hat man das möglicherweise einmal herausbekommen, kann es sich mit dem nächsten Update der AV-Software wieder ändern. Und einige Scanner bleiben sogar aktiv, obwohl man sie vermeintlich ausgeschaltet hat - Kaspersky beispielsweise.
Wir empfehlen unseren Kunden dringend, etwaige Datenverzeichnisse als Ausnahmen zu definieren - und helfen ihnen dabei. Wir haben Tools, über die innerhalb der Software kritische Vorgänge gemessen werden können - wie lange dauert es (vergleichsweise), Tabellen zu öffnen, Indexe zu erzeugen, in Tabellen zu suchen? Wenn diese Werte schlecht sind, verweist die Software auf Lösungsmöglichkeiten. Andere Performance-Kennzahlen (Prozessorgeschwindigkeit, GUI-Objekterzeugung) werden zum Vergleich herangezogen, um die Werte kategorisieren zu können. Ein allgemein langsames System ist auch im Detail langsam.
Wenn das Fehlersystem Schwierigkeiten beim Öffnen von Tabellen und Indexen feststellt oder Indexe - vor allem in kaskadierenden Situationen - nicht erzeugt werden können, ist das ein Hinweis auf hyperaktive Virenscanner. Wir generieren dann Mails an die Administratoren. Die Latenzen und Wiederholungsversuche werden erhöht, aber dadurch verlangsamt sich unsere Software, und das will auch keiner.
Wir empfehlen unseren Kunden dringend, etwaige Datenverzeichnisse als Ausnahmen zu definieren - und helfen ihnen dabei. Wir haben Tools, über die innerhalb der Software kritische Vorgänge gemessen werden können - wie lange dauert es (vergleichsweise), Tabellen zu öffnen, Indexe zu erzeugen, in Tabellen zu suchen? Wenn diese Werte schlecht sind, verweist die Software auf Lösungsmöglichkeiten. Andere Performance-Kennzahlen (Prozessorgeschwindigkeit, GUI-Objekterzeugung) werden zum Vergleich herangezogen, um die Werte kategorisieren zu können. Ein allgemein langsames System ist auch im Detail langsam.
Wenn das Fehlersystem Schwierigkeiten beim Öffnen von Tabellen und Indexen feststellt oder Indexe - vor allem in kaskadierenden Situationen - nicht erzeugt werden können, ist das ein Hinweis auf hyperaktive Virenscanner. Wir generieren dann Mails an die Administratoren. Die Latenzen und Wiederholungsversuche werden erhöht, aber dadurch verlangsamt sich unsere Software, und das will auch keiner.
Herzlich,
Tom
Tom
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2517
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Virus-Scanner ermitteln
Hallo
Danke für eure Antworten.
Der Virenscanner ist ein Trend-Micro auf den PC's sowie auf dem Server.
Seit längerem habe ich den Errorhandler für Fehler 8999 geändert so dass dieser wenn oError:canRetry = true ist zuerst 10 Versuche in unterschiedlichen Abständen ausgeführt werden ( sleep(RandomInt(5,25) ) ) also im Zeitraum von 0.5 bis 2.5 Sekunden versucht wird bis ein Fehler ausgegeben wird.
Vor der von Jan vorgeschlagenen Variante die 8999 einfach mit entsprechenden Schlaufen zu ignorieren fürchte ich mich bezw. vor den möglichen Folgen. (Wurde der Befehl nun korrekt ausgeführt oder nicht)
Ich bekomme die 8999 eigentlich nur noch bei DbCreateIndex() aber nur wenn in Folge mehrere grössere Datenbanken geöffnet werden und dazu noch ein Index angelegt werden sollen. Vor dem DbCreateIndex() lösche ich jeweils die Indexdatei und prüfe 3 Mal ob diese wirklich weg ist.
In vielen anderen Anlagen läuft das gleiche Programm ohne diese Probleme.
Es sind Netzwerke mit HP Server (Win Server 2008R2/2012R2 oder Unix) und HP-EliteDesk PC's (Windows 7,8.1,10) alle mit Dateizugriffen über ADS-Server
Das Problemnetzwerk unterscheidet sich von den anderen in einigen Punkten:
- Trend-Micro AV auf dem Server, die anderen haben keinen AV auf dem Server bezw. MS-Defender
- ML110 Server alle anderen sind ML350
- Teamviewer für den Admin installiert, alle anderen werden über VPN und das integrierte HP-ILO verwaltet.
Vielleicht sollte ich einfach im Fehlerfall mehr und länger versuchen den Befehl zu wiederholen. z.B. nur noch alle 0.5 Sekunden aber diese 50 Mal oder mehr Mal ?
Cu Carlo
Danke für eure Antworten.
Der Virenscanner ist ein Trend-Micro auf den PC's sowie auf dem Server.
Seit längerem habe ich den Errorhandler für Fehler 8999 geändert so dass dieser wenn oError:canRetry = true ist zuerst 10 Versuche in unterschiedlichen Abständen ausgeführt werden ( sleep(RandomInt(5,25) ) ) also im Zeitraum von 0.5 bis 2.5 Sekunden versucht wird bis ein Fehler ausgegeben wird.
Vor der von Jan vorgeschlagenen Variante die 8999 einfach mit entsprechenden Schlaufen zu ignorieren fürchte ich mich bezw. vor den möglichen Folgen. (Wurde der Befehl nun korrekt ausgeführt oder nicht)
Ich bekomme die 8999 eigentlich nur noch bei DbCreateIndex() aber nur wenn in Folge mehrere grössere Datenbanken geöffnet werden und dazu noch ein Index angelegt werden sollen. Vor dem DbCreateIndex() lösche ich jeweils die Indexdatei und prüfe 3 Mal ob diese wirklich weg ist.
Das mach ich auch schon lange. Leider wohnt der Admin des Server gleich um die Ecke, so sind seine Ansichten etwa soviel stärker wie mein Weg dahin länger ist ..........In deiner MsgBox(), in der eigenen ErrorSys, kannst du dann ausführlich auf "mögliche" Ursachen hinweisen wie Viren-Scanner ( benachrichtigen sie Ihren Administrator blabla ... )
In vielen anderen Anlagen läuft das gleiche Programm ohne diese Probleme.
Es sind Netzwerke mit HP Server (Win Server 2008R2/2012R2 oder Unix) und HP-EliteDesk PC's (Windows 7,8.1,10) alle mit Dateizugriffen über ADS-Server
Das Problemnetzwerk unterscheidet sich von den anderen in einigen Punkten:
- Trend-Micro AV auf dem Server, die anderen haben keinen AV auf dem Server bezw. MS-Defender
- ML110 Server alle anderen sind ML350
- Teamviewer für den Admin installiert, alle anderen werden über VPN und das integrierte HP-ILO verwaltet.
Vielleicht sollte ich einfach im Fehlerfall mehr und länger versuchen den Befehl zu wiederholen. z.B. nur noch alle 0.5 Sekunden aber diese 50 Mal oder mehr Mal ?
Cu Carlo
Valar Morghulis
Gruss Carlo
Gruss Carlo
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Virus-Scanner ermitteln
was steht bei dir unterramses hat geschrieben:Ich bekomme die 8999 eigentlich nur noch bei DbCreateIndex() aber nur wenn in Folge mehrere grössere Datenbanken geöffnet werden und dazu noch ein Index angelegt werden sollen. Vor dem DbCreateIndex() lösche ich jeweils die Indexdatei und prüfe 3 Mal ob diese wirklich weg ist.
Code: Alles auswählen
"HKEY_CURRENT_USER\Environment" -> TEMP / TMP
Frage : hast du den SMB2-Patch von Alaska auf den Workstationen ?
zeige mal ein wenig Code "wie" du indizierst ...
Code: Alles auswählen
USE BlaBla EXLUSIVE VIA xyz
INDEX ON BlaBla->FELD1 TAG "EINS" TO BlaBla
CLOSE INDEX
INDEX ON BlaBla->FELD2 TAG "ZWEI" TO BlaBla
CLOSE INDEX
...
CLOSE Blabla
SLEEP(1)
USE Blabla INDEX Blabla VIA xyz
hm ... 8999 mit ADS Server ?ramses hat geschrieben:Es sind Netzwerke mit HP Server (Win Server 2008R2/2012R2 oder Unix) und HP-EliteDesk PC's (Windows 7,8.1,10) alle mit Dateizugriffen über ADS-Server
gruss by OHR
Jimmy
Jimmy