Abstürze unter Windows 10

Fragen rund um diverse Windows-Versionen, ihr Verhalten unter Xbase++ und den Umgang mit der API

Moderator: Moderatoren

Antworten
Benutzeravatar
lesny
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 26
Registriert: Di, 03. Nov 2009 23:16

Abstürze unter Windows 10

Beitrag von lesny »

Meine Xbase++ Anwendung ist bei ein paar hundert Kunden installiert. Im Moment wechseln viele Kunden ihre Clients auf Windows 10, weil Windows 7 nicht mehr unterstützt wird. Nach dem Bestriebssystem-Wechsel auf Windows 10 klagen einige Kunden über häufige Programmabstürze.

Die xbase-exe und alle DLLs liegen auf einem Server in einem freigegebenen Ordner, der in der Regel auf einen Laufwerksbuchstaben gemappt wird. Ich habe bei zwei Kunden mal zum Test den Aufruf des Programms statt mit dem Laufwerksbuchstaben auf UNC-Pfad umgestellt. Bei beiden lief die Anwendung dann signifikant besser. Woran liegt das? Sollte man ausschließlich mit UNC-Pfaden das Programm und die DBF-Dateien ansprechen?

Ein weiteres Problem, das bislang von zwei Kunden nach dem Wechsel auf Windows 10 gemeldet wurde:

Code: Alles auswählen

oError:description  : Betriebsystemfehler
oError:filename     : R:\Datenbank\a_date3.xpf
Die Programmzeile, die zu diesem Fehler führt:

Code: Alles auswählen

restore from (dbfPfad+"a_date3.xpf") additive
In Kaspersky war die Xbase++-Exe bereits als Ausnahme über den Laufwerksbuchstaben R:\ eingetragen, damit er die Finger davon lässt. Erfolglos.
Nach dem Verzicht auf den gemappten Laufwerksbuchstaben und Aufruf des Programms über UNC-Pfad war der Fehler weg.
Das führt zur gleichen Frage nach dem Unterscheid zwischen Laufwerksbuchstabe und UNC-Pfad.
Oder ist vielleicht ausschließlich der Virenscanner schuld und der macht einen Unterschied, je nachdem wie das Programm aufgerufen wird? Wenn ich mit Teamviewer die Clients der Kunden anschaue, die Probleme machen, ist auffallend oft Kaspersky Internet Security installiert.

Viele Grüße
Stefan
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Abstürze unter Windows 10

Beitrag von brandelh »

Von Windows 7 ... also ist vermutlich der Alaska Fix für den Cache installiert (Name irgenwie SMB...)

UNC - soll eine modernere SMB Version verwendet werden, Jimmy schreibt das immer.

Und die Virenscanner - insbesondere die intelligente Suche - sind eh an allem schuld :lol:
PS: ich nehme den Windows eingebauten, der geht und ärgert mich nicht.
Gruß
Hubert
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Abstürze unter Windows 10

Beitrag von Jan »

brandelh hat geschrieben: Fr, 17. Jan 2020 18:05Und die Virenscanner - insbesondere die intelligente Suche - sind eh an allem schuld :lol:
PS: ich nehme den Windows eingebauten, der geht und ärgert mich nicht.
Hubert,

in beiden Punkten stimme ich Dir zu. Das Problem ist aber: Wenn man mit Kunden zu tun hat, dann kann man denen nicht sagen: Schmeiß Deinen Vorenscanner runter, der stört nur. Dann kann man denen gleich direkt sagen: Ich will nichts mehr mit Dir zu tun haben, such Dir jemanden anderes.

Stefan,

wir hatten hier vor Kurzem est eine Diskussion über Kaspersky. Such da mal nach. Und überleg Dir mal, ob eine Signierung für Dich sinnvoll sein könnte.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
lesny
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 26
Registriert: Di, 03. Nov 2009 23:16

Re: Abstürze unter Windows 10

Beitrag von lesny »

Hallo Jan,
wir hatten hier vor Kurzem est eine Diskussion über Kaspersky. Such da mal nach. Und überleg Dir mal, ob eine Signierung für Dich sinnvoll sein könnte.
Danke, das ist eine gute Idee. Ich such mir das raus.

@Hubert: Auch wenn ich dir in der Sache zustimme: Wie Jan schon geschrieben hat, kann ich meinen Kunden nicht vorschreiben, welchen Virenscanner ihr IT-Betreuer verwenden soll.

Stefan
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Abstürze unter Windows 10

Beitrag von georg »

Hallo, Stefan -


andere Frage: welche Xbase++-Version setzt Du ein? Mit der 1.95 kann es Probleme geben. Wie geschrieben, "kann".
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Abstürze unter Windows 10

Beitrag von AUGE_OHR »

georg hat geschrieben: Fr, 17. Jan 2020 20:24 andere Frage: welche Xbase++-Version setzt Du ein? Mit der 1.95 kann es Probleme geben. Wie geschrieben, "kann".
Ich kenne keine Version 1.95 :wink:

Es gibt keinen Unterschied bei den aufgeführten Problem ... es kann auch eine XXX App sein und man bekäme die selben Meldungen.
UNC Path gibt es seit Vista Pflicht ... so langsam sollte man seinen Code darauf umgestellt haben.

p.s. und welche Version hat der Server :?:
gruss by OHR
Jimmy
Benutzeravatar
adrian
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Abstürze unter Windows 10

Beitrag von adrian »

Also mir ging es in etwa gleich. Auch hatte ich den Effekt, dass nach dem Start der Applikation alles 2-3 Minuten lief, und danach wurde es sehr, sehr, sehr langsam. Mann konnte kaum eine Taste anwählen etc.

Aber eben, hatte. Mit der 1.9er Version, nun haben wir auf die 2er gewechselt, und diese Probleme sind weg.

Daher, falls Du noch immer mit der 1.9er Version arbeitest, musst Du ziemlich sicher in den sauren Apfel beissen.

Adrian
es Grüessli

Adrian
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Abstürze unter Windows 10

Beitrag von ramses »

Ich denke das Problem kommt von den SMB3 Netzwerkeinstellungen die in W10 Standardmässig aktiviert sind und es unter W7 noch gar nicht gab.

Es sind dies die File- und Directory Caching und Locking Funktionen. Sind diese aktiviert werden ganze Directorys und Files lokal auf der Arbeitsstation im Speicher gehalten und für Zugriffe anderer auf dem Server gesperrt obwohl Dateien gar nicht geöffnet sind oder noch schlimmer die Datei ist auf verschiedenen PC in unterscheidlicher Version im Cache .....
Was beim Zugriff auf die Dateien von mehreren PC unweigerlich zum Chaos bezw. sog. Programabstürzen führt. Gerade die Probleme mit xpf Dateien zeigen deutlich auf die Ursache in dieser Ecke. Ich kenne dies zur genüge.

Alle diese neuen Netzwerkfunktionen deaktivieren und gut wirds. Solange die Einstellungen nicht reaktiviert werden.
Valar Morghulis

Gruss Carlo
Benutzeravatar
lesny
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 26
Registriert: Di, 03. Nov 2009 23:16

Re: Abstürze unter Windows 10

Beitrag von lesny »

georg hat geschrieben: Fr, 17. Jan 2020 20:24 andere Frage: welche Xbase++-Version setzt Du ein? Mit der 1.95 kann es Probleme geben. Wie geschrieben, "kann".
Xbase++ 2.0 Build 951
Benutzeravatar
lesny
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 26
Registriert: Di, 03. Nov 2009 23:16

Re: Abstürze unter Windows 10

Beitrag von lesny »

AUGE_OHR hat geschrieben: Fr, 17. Jan 2020 21:59 Es gibt keinen Unterschied bei den aufgeführten Problem ... es kann auch eine XXX App sein und man bekäme die selben Meldungen.
UNC Path gibt es seit Vista Pflicht ... so langsam sollte man seinen Code darauf umgestellt haben.

p.s. und welche Version hat der Server :?:
Ich habe ja keinen Einfluss darauf, ob meine Kunden das Programm per UNC-Pfad oder gemapptem Laufwerksbuchstaben öffnen. Ist also schwierig, den "Code darauf umzustellen". Ich könnte Informationen mit entsprechenden Hinweisen zur Verfügung stellen, eben dazu bin ich auf der Suche nach mehr Hintergrundwissen.
Welche Server-Version jeweils im Einsatz ist, weiß ich nicht. Kann alles mögliche sein.
Benutzeravatar
lesny
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 26
Registriert: Di, 03. Nov 2009 23:16

Re: Abstürze unter Windows 10

Beitrag von lesny »

brandelh hat geschrieben: Fr, 17. Jan 2020 18:05 UNC - soll eine modernere SMB Version verwendet werden, Jimmy schreibt das immer.
Das klingt für mich nach einer plausiblen Erklärung. Ist es so, dass Windows 10 für die Kommunikation mit dem Server eine andere SMB Version verwendet, wenn man das Programm per UNC-Pfad startet statt mit Buchstaben von verbundenem Netzlaufwerk?

Falls ja: Ist der Aufruf der EXE entscheidend oder die Pfadangabe beim Öffnen der DBF mit use ...?
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Abstürze unter Windows 10

Beitrag von Jan »

Natürlich kenne ich die ganzen Diskussionen um Laufwerksbuchstaben oder UNC. Ich arbeite aber auch im Netzwerk (Clients Windows 10, Server 2008, 2012, 2016) ausschließlich mit Laufwerksbuchstaben. Ohen jedes Problem. Allerdings sind auch die Registry-Entrage zu SMB gesetzt, wie es das SMB-Tool von Alaska macht.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
lesny
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 26
Registriert: Di, 03. Nov 2009 23:16

Re: Abstürze unter Windows 10

Beitrag von lesny »

ramses hat geschrieben: Sa, 18. Jan 2020 8:10 Ich denke das Problem kommt von den SMB3 Netzwerkeinstellungen die in W10 Standardmässig aktiviert sind und es unter W7 noch gar nicht gab.

Es sind dies die File- und Directory Caching und Locking Funktionen. Sind diese aktiviert werden ganze Directorys und Files lokal auf der Arbeitsstation im Speicher gehalten und für Zugriffe anderer auf dem Server gesperrt obwohl Dateien gar nicht geöffnet sind oder noch schlimmer die Datei ist auf verschiedenen PC in unterscheidlicher Version im Cache .....
Was beim Zugriff auf die Dateien von mehreren PC unweigerlich zum Chaos bezw. sog. Programabstürzen führt. Gerade die Probleme mit xpf Dateien zeigen deutlich auf die Ursache in dieser Ecke. Ich kenne dies zur genüge.

Alle diese neuen Netzwerkfunktionen deaktivieren und gut wirds. Solange die Einstellungen nicht reaktiviert werden.
Reden wir von diesen Einträgen, die jeweils auf 0 zu setzen sind?

Code: Alles auswählen

LOCAL_MACHINE\System\CurrentControlSet\Services\Lanmanworkstation\Parameters\FileInfoCacheLifetime
LOCAL_MACHINE\System\CurrentControlSet\Services\Lanmanworkstation\Parameters\FileNotFoundCacheLifetime
LOCAL_MACHINE\System\CurrentControlSet\Services\Lanmanworkstation\Parameters\DirectoryCacheLifetime 
Nachdem die von Alaska als SMB2... bezeichnet werden, bin ich bislang davon ausgegangen, dass diese Einträge bei SMB3 keine Rolle mehr spielen. Ist diese Annahme falsch? Gibt es für SMB3 auch irgendwelche Einstellungen, die man anpassen sollte?
Benutzeravatar
lesny
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 26
Registriert: Di, 03. Nov 2009 23:16

Re: Abstürze unter Windows 10

Beitrag von lesny »

Jan hat geschrieben: Sa, 18. Jan 2020 9:05 Natürlich kenne ich die ganzen Diskussionen um Laufwerksbuchstaben oder UNC. Ich arbeite aber auch im Netzwerk (Clients Windows 10, Server 2008, 2012, 2016) ausschließlich mit Laufwerksbuchstaben. Ohen jedes Problem. Allerdings sind auch die Registry-Entrage zu SMB gesetzt, wie es das SMB-Tool von Alaska macht.
Ich werde mir Montag mal bei einem Kunden mit Problem-Client beispielhaft einen Überblick über die Infrastruktur verschaffen, insbesondere mit der PowerShell und Get-SmbConnection rausfinden, welches SMB-Protokoll im Einsatz ist.

Danke schon mal an alle für die Tipps und Vorschläge.

Stefan
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Abstürze unter Windows 10

Beitrag von ramses »

Stefan

SMB3 ist die weiterentwicklung von SMB2 da ist noch einiges mehr dazugekommen.

Du solltest nicht nur die erwähnten SMB2 einträge auf 0 setzten sondern unbedingt auch noch "UtilizeNtCaching" auf 0 setzten.
(Server und Neustart nicht vergessen)

Ob du UNC Pfade oder Laufwerkbuchstaben verwendest spielt dabei keine grosse Rolle. Die Verwechslungsgefahr ist mit UNC Pfaden kleiner weil die UNC-Pfade nicht wie Laufwerkbuchstaben immer auf das selbe Ziel zeigen.

Du musst aber auch bedenken dass es viele Dinge gibt die mit UNC Pfaden schlicht nicht möglich sind und auch nicht funktionieren! Ich wäre bei der Umstellung auf UNC Pfade in bestehenden Programmen daher sehr sehr vorsichtig.
Valar Morghulis

Gruss Carlo
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Abstürze unter Windows 10

Beitrag von Herbert »

ramses hat geschrieben: Sa, 18. Jan 2020 9:58 Du musst aber auch bedenken dass es viele Dinge gibt die mit UNC Pfaden schlicht nicht möglich sind und auch nicht funktionieren! Ich wäre bei der Umstellung auf UNC Pfade in bestehenden Programmen daher sehr sehr vorsichtig.
Wo liegen denn da Probleme?
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Abstürze unter Windows 10

Beitrag von Tom »

Man muss aufpassen, wenn man in irgendwelchen Funktionen nach Laufwerksbezeichnern sucht (also beispielsweise nach Doppelpunkten fahndet), wenn man programmrelative Pfade in absolute Pfade verwandelt, aber eigentlich gleichen sich UNC- und Laufwerksbezeichnernotation ansonsten in der Anwendung. Die Low-Level-Dateioperationen beherrschen das, die DBEs sowieso. UNC ist sicherer und stabiler - und meistens auch schneller.
Herzlich,
Tom
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Abstürze unter Windows 10

Beitrag von AUGE_OHR »

lesny hat geschrieben: Sa, 18. Jan 2020 8:54 Ich habe ja keinen Einfluss darauf, ob meine Kunden das Programm per UNC-Pfad oder gemapptem Laufwerksbuchstaben öffnen.
em, äh .. wie öffnest du eine DBF :?:

Code: Alles auswählen

FUNCTION NET_USE( DbfDatei, ...)

   USE ( UNCpath + DbfDatei )
   IF NETERR()
also wo ist das Problem :roll:

wenn du deine USE in allen möglichen *.PRG "verstreut" hast wird es natürlich mehr Arbeit.

---

ich Gegensatz zu Carlo würde ich SMB1 "ABSTELLEN" was sowieso passiert wenn man SMB1 15 Tage nicht nutzt.
der "SMB-Patch" von Alaska ist für "Lanmanworkstation" und gehört auf die Workstation und wirkt auch nur dort.

wo ich Carlo Recht gebe sind "nicht Share-fähige"" Datein wie *.XPF ... oder gibt es für jeden User eine "eigene" *.XPF :?:
gruss by OHR
Jimmy
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Abstürze unter Windows 10

Beitrag von Tom »

Wenn die Daten einer Anwendung an einem anderen Ort liegen als die Anwendung selbst, wovon bei vernünftiger Konzeption auszugehen ist, teilt man der Anwendung bzw. der DBE über SET PATH oder SET DEFAULT mit, wo die Daten liegen - oder über eine konkrete Pfadangabe bei jedem Vorgang (also beim Öffnen, Erzeugen usw.). PATH und DEFAULT verstehen natürlich auch UNC. Und ich nehme kaum an, dass irgendeine Funktion oder Methode etwa der DBE versucht, einen Laufwerksbezeichner zum UNC-Pfad zu ermitteln, um den dann klammheimlich zu verwenden. :wink: (Was ohnehin nicht ginge, wenn es keinen gibt.)
Herzlich,
Tom
Benutzeravatar
lesny
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 26
Registriert: Di, 03. Nov 2009 23:16

Re: Abstürze unter Windows 10

Beitrag von lesny »

AUGE_OHR hat geschrieben: Sa, 18. Jan 2020 11:38 em, äh .. wie öffnest du eine DBF :?:
Meine Kunden können den Ordner ihrer Daten in einer INI-Datei beliebig festlegt. Dort gibt es dann z.B. den Eintrag:

Code: Alles auswählen

DATENBANKPFAD=R:\Datenbank
Diesen Pfad speichere ich in der Variable gPfad und verwende ihn beim Öffnen:

Code: Alles auswählen

use (gPfad+DbfDatei)
if neterr() 
...
In der Ini-Datei können die Kunden natürlich auch

Code: Alles auswählen

DATENBANKPFAD=\\Server\Freigabe\Datenbank
eintragen.

Oder einen relativen Pfad

Code: Alles auswählen

DATENBANKPFAD=Datenbank
Dann wird der Pfad relativ zum Pfad der gestarteten Exe-Datei ermittelt. So meinte ich das mit "ich habe keinen Einfluss..."

Und zum Thema shared *.xpf:
AUGE_OHR hat geschrieben: Sa, 18. Jan 2020 11:38 wo ich Carlo Recht gebe sind "nicht Share-fähige"" Datein wie *.XPF ... oder gibt es für jeden User eine "eigene" *.XPF :?:
Die XPF-Datei (gibt nur eine, dort steht nur der Wert einer einzigen Variable drin) existiert tatsächlich nicht für jeden User, sondern global nur 1x. Sie wird beim Programmstart gelesen und bei Programmende geschrieben und enthält das Datum der letzten Programmnutzung (egal von welchem User).

Stefan
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Abstürze unter Windows 10

Beitrag von AUGE_OHR »

hi

du kannst doch "Prüfen" ob in DATENBANKPFAD ein "\\" enthlten ist und eine "WARNUNG" ausgeben das es ohne UNC-Path "Probleme" gibt.
wie schon gesagt schaltet sich SMB1 nach 15 Tagen "ab" und dann läuft es nicht mehr

es liegt ja nur an dir "ob" deine App vom User "richtig" genutzt wird oder ist es eine Individual-App wo der Kunde die vorgaben macht "wie" er "was" benutzen will :?:

---

legt mal eine Verkünpfung von einer Datei, die auf dem Server liegt, auf euren Desktop.
ohne das ihr euch "anmelden" oder was "mappen" müsst erscheint die Datei bzw. wird ausgeführt wenn ihr auf das Icon klickt.

SMB2 beinhalte Verschlüsselung und Authentifizierung und der Lanmanager ist nur noch aus kompatibilitäts-Gründen vorhanden.
wer also meint es geht doch auch so ... irgendwann werden auch die Personen es "merken"
gruss by OHR
Jimmy
Antworten