Error 6610 - unklarer Absturz [erledigt]

Advantage Database Server

Moderator: Moderatoren

Benutzeravatar
Bertram Hansen
1000 working lines a day
1000 working lines a day
Beiträge: 813
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 51379 Leverkusen
Kontaktdaten:

Re: Error 6610 - unklarer Absturz

Beitrag von Bertram Hansen » Mi, 08. Mär 2017 11:04

Zusätzlich gibt ja auch noch unter Windows die "nette" Energiespareinstellung bei der Netzwerkkarte:
"Computer kann das Gerät ausschalten, um Energie zu sparen"
:wave:
Gruß Bertram
http://www.tobax.de

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!

Benutzeravatar
HaPe
Foren-Moderator
Foren-Moderator
Beiträge: 818
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz

Re: Error 6610 - unklarer Absturz

Beitrag von HaPe » Mi, 08. Mär 2017 11:08

Hallo Zusammen !
Bekommt eigentlich ein Xbase-Programm mit, wenn der Rechner in den Schlafmodus geht?
Ist über die Windows-Message WM_POWERBROADCAST möglich.
http://www.xbaseforum.de/viewtopic.php?f=32&t=7662
Grundlagen:
https://msdn.microsoft.com/de-de/librar ... s.85).aspx
http://stackoverflow.com/questions/7253 ... ng-up-in-c
--
Hans-Peter

Organisator der XUG Stuttgart
Beisitzer des Deutschsprachige Xbase-Entwickler e. V.

DelUser01

Re: Error 6610 - unklarer Absturz

Beitrag von DelUser01 » Mi, 08. Mär 2017 16:41

Heute ist der Fehler nicht mehr aufgetreten - also doch der Energiesparmodus.
Werde das bei mir auch auf einer Arbeitsstation testen.

Eventuell gibt es einen MS-Systembefehl mit dem man den Enegiesparmodus verhindern kann.
Wenn der PC bereits in den Schlafmodus fährt ist es zu spät.

ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1670
Registriert: Mi, 28. Jul 2010 17:16

Re: Error 6610 - unklarer Absturz

Beitrag von ramses » Mi, 08. Mär 2017 19:09

Ist nicht eine der Grundeinstellungen im Netzwerk auf den PC's zu verhindern dass Energie- Schlaf- und andere Sparmoduses ausser Bildschirm ausschalten überhaupt aktiv werden können?

Wenn der User den PC "hirnlos" verlässt und das Programm in irgend einer Maske steht kannst du doch nicht einfach dein Programm beenden und so versuchen den Fehler der "Falschbedienung" (Sparmodus) abzuwenden.
Da habe ich auch schon vieles versucht.

Bewährt hat sich folgendes: alle Sparmoduses auch BS auschalten wurden deaktiviert: Die User erhielten eine Arbeitsanweisung den PC bei Feierabend herunterzufahren. Der welcher sich nicht dran hält siehst du von weitem .....
Valar Morghulis

Gruss Carlo

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12294
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Error 6610 - unklarer Absturz

Beitrag von AUGE_OHR » Mi, 08. Mär 2017 21:14

HaPe hat geschrieben:Ist über die Windows-Message WM_POWERBROADCAST möglich.
mit WM_POWERBROADCAST bekommt man zwar mit das der PC in Standby geht aber seit Vista kann man nicht mehr schnelle genug reagieren.

Code: Alles auswählen

:systemPowerStatus := {| nChange, uNIL, self | ... } --> nResponse
Win32 - Die Unterstützung für Energiestatusereignisse unterscheidet sich zwischen den verschiedenen Betriebssystemversionen beträchtlich. Unter Windows 2000, XP und Windows Server 2003 wird der Anwendung eine Zeitspanne von ungefähr 20 Sekunden zum Reagieren auf ein xbeP_SystemPowerStatus-Ereignis eingeräumt, bevor in den Ruhezustand gewechselt wird. Windows Vista erlaubt es hingegen nicht, den Wechsel in den Ruhezustand zu unterbinden. Die Zeitspanne zum Reagieren auf das Ereignis ist ausserdem sehr viel kürzer. Es wird deshalb empfohlen, keine zeitintensiven Operationen bei der Bearbeitung des xbe_SystemPowerStatus-Ereignisses durchzuführen. Die maximal benötigte Zeitspanne für die Bearbeitung sollte nicht über 2 Sekunden liegen.
es gibt aber eine andere Lösung ... DXE_Statbar kennt

Code: Alles auswählen

oSbar:SetStandbyOFF(.T.)
gruss by OHR
Jimmy

DelUser01

Re: Error 6610 - unklarer Absturz

Beitrag von DelUser01 » Mi, 08. Mär 2017 21:14

OK - auf verschiedenen PCs getestet:
Auslöser der Probleme sind Energiesparmodus und Ruhezustand (Hibernate-Modus).
Nach dem Aufwecken hängt mein Programm ca. 2 Minuten.Dann kommt je Thread eine Fehlermeldung.
Ob das auch ohne den ADS passiert werde ich auch noch testen.

Ich muss schauen, dass ich die Modi auf den Arbeitsplätzen abschalte.
Win10 > Energieoptionen > Auswählen was beim Drücken von Netzschaltern geschehen soll
( Systemsteuerung\Hardware und Sound\Energieoptionen\Systemeinstellungen )

Bezüglich der Abschaltung von Energiesparmodus und Ruhezustand (Hibernate-Modus) per Programm mache ich dann ein neues Thema auf.

ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1670
Registriert: Mi, 28. Jul 2010 17:16

Re: Error 6610 - unklarer Absturz [erledigt]

Beitrag von ramses » Mi, 08. Mär 2017 22:09

Roland

es bleibt dir nur diese Modis zu blockieren und vorallem das Personal im Umgang mit Netzwerkprogrammen zu Schulen.

Die Abschaltung dieser Modis per Programm wird NIE zu 100% und Personal-Sicher funktionieren.

Als Alternative bleibt nur noch der Umbau des Programm zu einer Web-App die im Browser läuft. Da hast du all diese Sorgen nicht. Getreu dem Windows Motto: "Cloud-First" .....

Gruss Carlo
Valar Morghulis

Gruss Carlo

Benutzeravatar
nightcrawler
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 336
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Kontaktdaten:

Re: Error 6610 - unklarer Absturz

Beitrag von nightcrawler » Mi, 08. Mär 2017 23:02

Roland Gentner hat geschrieben:Nach dem Aufwecken hängt mein Programm ca. 2 Minuten.
2 Minuten entspricht genau dem Default-Timeout ;)
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12294
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Error 6610 - unklarer Absturz [erledigt]

Beitrag von AUGE_OHR » Do, 09. Mär 2017 0:44

ramses hat geschrieben:Die Abschaltung dieser Modis per Programm wird NIE zu 100% und Personal-Sicher funktionieren.
Notebooks werde ja oft so eingestellt das bei "Deckel zu" er "schlafen" geht.
mein DXE_Statbar "schützt" nun davor und trotz "Deckel zu" lauft er weiter bis er die App (Timeout) verlässt.
ramses hat geschrieben:Als Alternative bleibt nur noch der Umbau des Programm zu einer Web-App die im Browser läuft. Da hast du all diese Sorgen nicht. Getreu dem Windows Motto: "Cloud-First" .....
so wie auch bei SQL wo man "nur" eine Query abschickt und ein Resultset (Snapshot) erhält.
dabei muss man immer damit rechnen das die Verbindung erst (wieder) aufgebaut werden muss !
gruss by OHR
Jimmy

DelUser01

Re: Error 6610 - unklarer Absturz [erledigt]

Beitrag von DelUser01 » Do, 09. Mär 2017 0:55

Hallo Carlo
ramses hat geschrieben:Die Abschaltung dieser Modis per Programm wird NIE zu 100% und Personal-Sicher funktionieren
Das vermute ich auch.
Deshalb sitze ich gerade über einer Anweisung für die User, Energiesparfmodi oder Hibernate keines Falls zu verwenden.
Ich denke das wird helfen, denn es ist ja im Interesse jeden Users solche Fehler zu vermeiden. Wenn das Programm hängen bleibt kostet es ja die Zeit des Einzelnen das zu beheben.

DelUser01

Re: Error 6610 - unklarer Absturz

Beitrag von DelUser01 » Do, 09. Mär 2017 1:04

nightcrawler hat geschrieben:2 Minuten entspricht genau dem Default-Timeout
Das war mit
MAX_TIMEOUTS=30
jetzt steht
MAX_TIMEOUTS=40
in der ADS.INI. Dann dauert es etwas länger.
Werde den Wert wieder heruntersetzen.
2 Minuten Timeout - so lange wartet doch kein User. Wenn nach 30 Sekunden nichts vom Server oder Client kommt kann man heute doch davon ausgehen dass etwas nicht mehr stimmt :(

DelUser01

Re: Error 6610 - unklarer Absturz [erledigt]

Beitrag von DelUser01 » Do, 09. Mär 2017 1:13

Hallo Jimmi
AUGE_OHR hat geschrieben:DXE_Statbar "schützt" nun davor und trotz "Deckel zu" lauft er weiter bis er die App (Timeout) verlässt.
Wenn das mit dem Hibernate häufiger vorkommt werde ich mich mit den programmtechnischen Möglichkeiten diesbezüglich auseinandersetzen.
Die Ursache eines "hängenbleibens" ist ja jetzt bekannt. Zumindest so lange bis eine weitere Ursache hinzukommt :-)

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15055
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Error 6610 - unklarer Absturz [erledigt]

Beitrag von brandelh » Do, 09. Mär 2017 7:01

schaltet der im Energiesparmodus die Netzwerkkarte ab ?
Standard ist JA, sinnvoll ist NEIN ;-)
Gruß
Hubert

DelUser01

Re: Error 6610 - unklarer Absturz [erledigt]

Beitrag von DelUser01 » Do, 09. Mär 2017 13:48

Hallo Hubert,

Normalerweise sind die PCs so eingerichtet:

alle Energiesparfunktionen aus, wie
Festplatte Dauerbetrieb,
USB nicht abschalten,
maximal mögliche Höchstleistung,
kein SpeedStep,

Das Deaktivieren des Energiesparmodus im Windows Start-Menü für den Benutzer habe ich vergessen.

Benutzeravatar
nayss
Rookie
Rookie
Beiträge: 1
Registriert: Mi, 04. Mär 2020 0:39

Re: Error 6610 - unklarer Absturz [erledigt]

Beitrag von nayss » Mi, 04. Mär 2020 0:57

hallo,

eines gleich vorweg : ich habe nix mit xbase zu tun. ich moechte nur helfen und kurz was zum stichwort energiesparmodi loswerden :

pruefe doch zuerst einmal im bios des betreffenden geraetes, ob sich da nicht schon der energiesparmodus / hibernate deaktivieren
laesst... bei manchen geraeten (auch notebooks / laptops) geht das naemlich...

generell gehe ich im nachfolgenden text davon aus, dass das ziel die deaktivierung / abschaltung der schlafmodi ist.
das nachfolgende kann man natuerlich generell auch in einer w-domain mithilfe von gpo's fuer alle arbeitsstationen abbilden.
oder aber auch nur lokal auf der betroffenen maschine ausfuehren :

die cmd als admin oeffnen,

den befehl
powercfg.exe /hibernate off

oder alternativ, falls der befehl so nicht akzeptiert wird :
powercfg.exe -h off

bei ganz empfindlichen maschinen muss das H eventuell gross geschrieben werden :
powercfg.exe -H off

absetzten. kommt der fehler error 5, wurde die cmd nicht als admin mit erweiterten (admin-) rechten ausgefuehrt.
es ist zwar lt. ms kein neustart erforderlich, aber ratsam / nicht verkehrt (= erfahrungswert).

abfrage zum ueberpruefen per
powercfg.exe -a bzw. powercfg.exe /a

die problematik der befehlsakzeptanz (gross- / kleinschreibung und - oder / fuer die attribute usw.) tritt meist dann auf, wenn die windows' auf den arbeitsstationen in einer domaene in englisch (en-us) und deutsch (de-de) gemischt betrieben werden (seltener der fall) oder aber per windows sprachpaket von der installationssprache abgewichen wird (bei mir sehr oft der fall, wenn auch nicht zwingend bei jedem rechner).

oder auch per powershell :

powershell als admin ausfuehren
powercfg /a
= abfrage ist-zustand, hier kann geprueft werden, was die maschine an sleep-states so alles unterstuetzt oder auch nicht...

powercfg /h off
= ausschalten

weiterhin sinnvoll ist es, manuell immer noch einmal alles zu ueberpruefen :

-> energieeinstellungen aufrufen
>>>'Auswaehlen, was beim Druecken des Netzschalters geschehen soll.' = nichts unternehmen
...im selben fenster obendrueber nun auf:
>>>'Einige Einstellungen sind momentan nicht verfuegbar.' anklicken,
...erst jetzt wird unten bei 'Einstellungen fuer das Herunterfahren' der Haken bei :
>>>'Schnellstart aktivieren (Empfohlen)' / 'Ruhezustand' / 'Energie sparen'
aktiviert und anklickbar. die gewuenschten Haken entfernen / rausnehmen...

-> hardcodiert :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power
HibernateEnabled=0

hinweis :
zu pruefen waere anschliessend folgendes :

- Hiberboot deaktiviert ? der wert sollte in der registry auf 0 stehen. zur erklaerung :

w10 speichert wichtige daten fuer einen schnelleren systemstart, das reduziert den normalen anteils des hiberfil.sys von 40%
auf 20% des eingebauten ram's und laedt nur noch windows kernel und treiber fuer einen schnellen systemstart, alles andere wird nicht
mehr wie bisher ueblich mitgespeichert :

cmd als admin
powercfg /hibernate /type reduced

! achtung !
allerdings ist bei dieser konfiguration dann hibernate ON, also nicht inaktiv sondern eben aktiv / eingeschaltet.
ohne hibernate logischerweise auch kein hiberboot...

-> hardcodiert :
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Power
HiberbootEnabled=0 (oder 1)
Wert 0 = deaktiviert
Wert 1 = aktiviert

das gleiche auch hier ausfuehren / kontrollieren / anpassen :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power
HiberbootEnabled=0 (oder 1)
Wert 0 = deaktiviert
Wert 1 = aktiviert

wenn
'HibernateEnabled' aktiviert (wert = 1) ist (= vorraussetzung), dann kann man noch den wert
'HiberFileType' konfigurieren :

0 - HIBERFILE_TYPE_NONE
1 - HIBERFILE_TYPE_REDUCED
2 - HIBERFILE_TYPE_FULL
3 - HIBERFILE_TYPE_MAX

wenn 'HiberfileType' in der registry geloescht wird, sollte nach einem neustart auch wieder der ruhezustand angezeigt und auch wieder durch die nutzer konfigurierbar sein.

eine andere idee / vorgehensweise waere dann noch, einfach nur oder zusaetzlich auch die entsprechende(n) schaltflaechen fuer den nutzer auszublenden :

- energiesparen ausblenden ohne zulassen von aenderungen durch benutzer :
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Explorer\ShowSleepOption
...falls 'ShowSleepOption' nicht vorhanden ist, einfach erstellen : REGDWORD (32bit) = Wert 0 (0x00000000)
0 = die option wird in den entsprechenden menues ausgeblendet
1 = die option wird in den entsprechenden menues eingeblendet

das loeschen von 'ShowSleepOption' stellt den normalzustand wieder her (neustart erforderlich).

etwas umfangreicher (in der funktion) ist das hier :

auf der lokalen maschine 'gpedit' als admin ausfuehren
> Benutzerkonfiguration
> Administrative Vorlagen
> Startmenu und Taskleiste
> Befehle 'Herunterfahren', 'Neu starten', 'Energie sparen' und 'Ruhezustand' entfernen und Zugriff darauf verweigern.
konfigurieren. das gilt fuer alle nutzer, auch fuer (lokale) adminkonten (nach neustart).

als admin kann man sich ja entweder per cmd und dem shutdown.exe befehlen samt attributen bedienen. oder wem das zu umstaendlich ist, der kann sich ja auch der shortcuts bedienen, die man zu windows 8 zeiten erstellt hat, um auf einen klick hin den pc sperren, sich abmelden, den pc neustarten, den pc ausschalten zu koennen. ich habe neustarten und ausschalten mit jeweils 10 sekunden verzeogerung erstellt, und dann zusaetzlich die abkuerzung fuers abbrechen des zuletzt abgesetzten befehls erstellt...

hoffe, ich konnte hier etwas sinnvolles beitragen.

gruesse, nayss

Antworten