Access violation at address 00000000. Read of address 00000000

Thema stammt von dort, paßt aber hier besser.

Hintergrund: nach langer Zeit habe ich versucht, meinen Google-Kalender wieder zu aktivieren.

Ich hatte den Fehler gemacht, den Thread, der sich mit der Installation des Google-Kalenders beschäftigt von hinten nach vorne zu lesen (bin ich eben von manchen Druckschriften so gewohnt ;)) um dann ganz vorne rauszufinden, dass der Initiator (Schablone) im ersten Posting alles ganz vorbildlich stehen hat:


14. Aus dem alten OpenSSL Paket (Version 0.9.8zc, 404 Dateien ssleay32.dll und libeay32.dll in den IPS Ordner (alte umbenennen)

  1. In der PHP-ini die Extension Open ssl aktivieren (extension = php_openssl.dll)

Ich kann mich erinnern dass ich die Prozedur vor einem halben Jahr schon mal gemacht hatte, aber wahrscheinlich Punkt 15 vergessen hatte.
Sei’s drum, jetzt hab ich das nachgeholt und bekomme beim und nach dem 10minütlichen Aufruf des Kalenderskriptes ‚gCalGet.ips.php‘ ganz seltsame Fehler (das System hab ich auch schon mal neu gebootet):

22.10.2015 11:11:56.216 |     0 | SUCCESS | Kernel               | *** IPS BETRIEBSBEREIT
22.10.2015 11:12:58.772 | 58378 | WARNING | ExecuteThreadID #7   | Fehler beim Ausführen des Skripts (gCalGet.ips.php): Access violation at address 00000000. Read of address 00000000
22.10.2015 11:13:00.472 | 53390 | ERROR   | ExecuteThreadID #7   | [Termine\Termin-Monitor] = 
Fatal error:  Cannot redeclare ZW_GetNodeClasses() (previously declared in D:\IPS-Steigerts\scripts\__compatibility.inc.php:4215) in D:\IPS-Steigerts\scripts\__compatibility.inc.php on line 4215
....
22.10.2015 11:20:02.437 | 58378 | WARNING | ExecuteThreadID #1   | Fehler beim Ausführen des Skripts (gCalGet.ips.php): Access violation at address 00000000. Read of address 00000000
22.10.2015 11:20:09.364 | 25642 | ERROR   | ExecuteThreadID #1   | [LAN\JSONcon] = 
Fatal error:  Cannot redeclare ZW_GetNodeClasses() (previously declared in D:\IPS-Steigerts\scripts\__compatibility.inc.php:4215) in D:\IPS-Steigerts\scripts\__compatibility.inc.php on line 4215
....
22.10.2015 12:10:01.511 | 58378 | WARNING | ExecuteThreadID #3   | Fehler beim Ausführen des Skripts (gCalGet.ips.php): Access violation at address 00000000. Read of address 00000000
22.10.2015 12:10:08.500 | 29606 | ERROR   | ExecuteThreadID #3   | [RS RainRadar Forecast 2h\Aktuelle WetterWerte\Regenradar Monitor] = 
Fatal error:  Cannot redeclare ZW_GetNodeClasses() (previously declared in D:\IPS-Steigerts\scripts\__compatibility.inc.php:4215) in D:\IPS-Steigerts\scripts\__compatibility.inc.php on line 4215
...
22.10.2015 12:20:03.891 | 51301 | ERROR   | ExecuteThreadID #8   | [Heizung\Hz-Steuerung] = 
Fatal error:  Cannot redeclare ZW_GetNodeClasses() (previously declared in D:\IPS-Steigerts\scripts\__compatibility.inc.php:4215) in D:\IPS-Steigerts\scripts\__compatibility.inc.php on line 4215


und so geht das gerade so weiter.
In der ‚__compatibility.inc.php‘ ist Zeile 4215 die Zeile mit der „function ZW_GetNodeClasses“:

if (!function_exists('GetNodeClasses'))
{
	function ZW_GetNodeClasses($InstanceID)
 	{
		return json_decode(IPS_GetProperty($InstanceID, 'NodeClasses'));
	}
}

Dabei hab ich garkeine Z-Wave-Geräte im System !!!
Die bekrittelten Skripte laufen außerdem problemlos ohne den Aufruf von ‚gCalGet.ips.php‘.

Termin-Monitor produziert Daten zur Anzeige in einer HTML-Box (gestartet von einem anderen Skript)
JSONcon wird von Raspis per JSON aufgerufen
RS RainRadar Forecast 2h ist die berühmte Wettervorschau von Raketenschnecke
Hz-Steuerung macht irgendwas zur Ansteuerung von HM-Thermostaten.

Und diese Skripte werden auch nicht immer als fehlerhaft signalisiert!!

Jetzt stehe ich echt auf dem Schlauch, was da los ist. Es sieht mir fast nach einem Systemfehler aus.

Hab den Aufruf des Skriptes ‚gCalGet.ips.php‘ jetzt abgestellt: es kommen keine Fehler mehr !!!

Suche dringend Hilfe aus Lübeck
Harald

Man ist ja in diesem Forum sehr verwöhnt, was Hilfe bei Problemen betrifft (ist mein Ernst, manchmal vergehen nur Minuten bis Hilfe kommt).

Weil ich noch keine Antwort bekommen habe, ist wahrscheinlich mein Problem so trivial und die Lösung irgendwo im Forum zu finden, vielleicht war mein Beitrag auch wg. der von mir verursachten Rumkopiererei unauffindbar. :mad:

Wie es auch sei, einem anderen Teilnehmer wurde bei einem ähnlichen Problem die Antwort gegeben

Backup oder das: Datenbankwiederherstellung — IP-Symcon :: Automatisierungssoftware

Backup ist leider nicht möglich: wie bereits beschrieben, wurde das den Fehler erzeugende Skript über ein halbes Jahr nicht mehr benutzt; wahrscheinlich ist die Datenbank schon seit längerer Zeit defekt, welches meiner 14tägigen Backups aus dem letzten halben Jahr ich auflegen kann, will ich nicht ausprobieren.

Also Datenbankwiederherstellung nach Rezept!!

Ich hab nur den Eindruck, als sei ich der erste, der nach Rezept kocht, beim Abschnitt „Fehlerüberprüfung“ stimmen die Zutaten absolut nicht:


s:\IPS-Steigerts\db>sqlite3.exe logging.db "pragma integrity_check"
sqlite3.exe: Error: too many options: "integrity_checkö"
Use -help for a list of options.

s:\IPS-Steigerts\db>sqlite3.exe logging.db "pragma integrity_check"
sqlite3.exe: Error: too many options: "integrity_check"
Use -help for a list of options.

s:\IPS-Steigerts\db>sqlite3.exe -help
Usage: sqlite3.exe [OPTIONS] FILENAME [SQL]
FILENAME is the name of an SQLite database. A new database is created
if the file does not previously exist.
OPTIONS include:
   -help                show this message
   -init filename       read/process named file
   -echo                print commands before execution
   -[no]header          turn headers on or off
   -bail                stop after hitting an error
   -interactive         force interactive I/O
   -batch               force batch I/O
   -column              set output mode to 'column'
   -csv                 set output mode to 'csv'
   -html                set output mode to HTML
   -line                set output mode to 'line'
   -list                set output mode to 'list'
   -separator 'x'       set output field separator (|)
   -nullvalue 'text'    set text string for NULL values
   -version             show SQLite version

s:\IPS-Steigerts\db>sqlite3.exe -version
3.6.23.1


Also mal was anderes ausprobiert:


s:\IPS-Steigerts\db>sqlite3.exe "pragma integrity_check" logging.db
Error: near "integrity_check": syntax error

s:\IPS-Steigerts\db>sqlite3.exe -pragma -integrity_check logging.db
sqlite3.exe: Error: unknown option: -pragma
Use -help for a list of options.

s:\IPS-Steigerts\db>sqlite3.exe -integrity_check logging.db
sqlite3.exe: Error: unknown option: -integrity_check
Use -help for a list of options.

s:\IPS-Steigerts\db>sqlite3.exe -pragma  logging.db
sqlite3.exe: Error: unknown option: -pragma
Use -help for a list of options.

s:\IPS-Steigerts\db>sqlite3.exe -init  logging.db
-- Loading resources from logging.db
Error: near line 1: near "SQLite": syntax error
Error: near line 13746: near "Ô1¨": syntax error
Error: near line 13989: near "á": syntax error
Error: near line 13991: near "Ô": syntax error
Error: near line 13992: unrecognized token: "↑"
Error: near line 13995: unrecognized token: "◄"
Error: near line 55402: unrecognized token: "♦"
Error: near line 57034: unrecognized token: "♦"
Error: near line 60491: unrecognized token: "♦"
Error: near line 61185: unrecognized token: "♦"
Error: near line 73031: unrecognized token: "♦"
Error: near line 74958: unrecognized token: "♦"
Error: near line 85390: unrecognized token: "♦"
Error: near line 88778: unrecognized token: "♦"
Error: near line 91670: unrecognized token: "♦"
Error: near line 91677: unrecognized token: "♦"
Error: near line 94305: unrecognized token: "♦"
Error: near line 98332: unrecognized token: "♦"
Error: near line 103762: unrecognized token: "♦"
Error: near line 122047: unrecognized token: "♥"
Error: near line 130259: unrecognized token: "♦"
Error: near line 132091: unrecognized token: "♦"
Error: near line 133417: unrecognized token: "♦"
Error: near line 134814: unrecognized token: "♦"
Error: near line 135455: unrecognized token: "♦"
Error: near line 139701: unrecognized token: "♦"
Error: near line 141068: unrecognized token: "♦"
Error: near line 144356: unrecognized token: "♦"
Error: near line 144363: unrecognized token: "♦"
Error: near line 153410: unrecognized token: "♦"
Error: near line 156395: unrecognized token: "♦"
Error: near line 156757: unrecognized token: "♦"
Error: near line 193698: unrecognized token: "♦"
Error: near line 193754: unrecognized token: "♦"
Error: near line 193894: unrecognized token: "♦"
Error: near line 195361: unrecognized token: "♦"
Error: near line 195891: unrecognized token: "♦"
Error: near line 197229: unrecognized token: "♦"
Error: near line 204363: unrecognized token: "♦"
Error: near line 213945: unrecognized token: "♦"
Error: near line 215354: unrecognized token: "♦"
Error: near line 216273: unrecognized token: "♦"
Error: near line 224113: unrecognized token: "♦"
Error: near line 224933: unrecognized token: "♦"
Error: near line 229893: unrecognized token: "♦"
Error: near line 240112: unrecognized token: "♦"
Error: near line 242978: unrecognized token: "♦"
Error: near line 242985: unrecognized token: "♦"
Error: near line 251247: unrecognized token: "♦"
Error: near line 258656: unrecognized token: "♦"
Error: near line 263901: unrecognized token: "♦"
Error: near line 267853: unrecognized token: "♦"
Error: near line 268997: unrecognized token: "♦"
Error: near line 270467: unrecognized token: "♦"
Error: near line 282712: unrecognized token: "♦"
Error: near line 286491: unrecognized token: "♦"
Error: near line 299829: unrecognized token: "♦"
Error: near line 302090: unrecognized token: "♦"
Error: near line 311972: unrecognized token: "♦"
Error: near line 312376: unrecognized token: "♦"
Error: near line 312385: unrecognized token: "♦"
Error: near line 314101: unrecognized token: "♦"
Error: near line 316026: unrecognized token: "♦"
Error: near line 325815: unrecognized token: "♦"
Error: near line 327138: unrecognized token: "♦"
Error: near line 329423: unrecognized token: "♦"
Error: near line 337508: unrecognized token: "♦"
Error: near line 341381: unrecognized token: "♦"
Error: near line 341528: unrecognized token: "♦"
Error: near line 341799: unrecognized token: "♦"
Error: near line 348713: unrecognized token: "♦"
Error: near line 349254: unrecognized token: "♦"
Error: near line 352514: unrecognized token: "♦"
Error: near line 358760: unrecognized token: "♦"
Error: near line 364244: unrecognized token: "♣"
^C

Hab ich schließlich abgebrochen und zum Teil „Datenbank-Wiederherstellung“ übergegangen:


s:\IPS-Steigerts\db>ren logging.db logging.db.backup

s:\IPS-Steigerts\db>dir
 Volume in Laufwerk S: hat keine Bezeichnung.
 Volumeseriennummer: 9E5D-1ED1

 Verzeichnis von s:\IPS-Steigerts\db

04.11.15  18:49    <DIR>          .
04.11.15  18:49    <DIR>          ..
04.11.15  18:20       151.179.264 logging.db.backup
29.03.10  16:02           528.522 sqlite3.exe
04.11.15  18:40                 0 ?pragma
               3 Datei(en),    151.707.786 Bytes
               2 Verzeichnis(se), 133.793.083.392 Bytes frei

s:\IPS-Steigerts\db>sqlite3.exe logging.db.backup .dump | sqlite3.exe logging.db

s:\IPS-Steigerts\db>


Soweit so nicht gut, nochmal Abschnitt „Fehlerüberprüfung“ ausprobiert:

s:\IPS-Steigerts\db>sqlite3.exe -init  logging.db
-- Loading resources from logging.db
Error: near line 1: near "SQLite": syntax error
Error: near line 19664: unrecognized token: ""
Error: near line 28919: near "ô": syntax error
Error: near line 36916: near "R": syntax error
Error: near line 46876: near "ıC": syntax error
Error: near line 46878: near "Z": syntax error
Error: near line 46881: near "<": syntax error
Error: near line 46883: near "<": syntax error
Error: near line 58026: near "K²": syntax error
Error: near line 58027: unrecognized token: "☺"
Error: near line 79469: near "ÖCâýv": syntax error
Error: near line 108927: unrecognized token: "♦"
Error: near line 127839: unrecognized token: "☻"
Error: near line 130712: unrecognized token: "♦"
Error: near line 131516: unrecognized token: "♦"
Error: near line 132839: unrecognized token: "♦"
Error: near line 141828: unrecognized token: "♦"
Error: near line 148427: unrecognized token: "♦"
Error: near line 150326: unrecognized token: "☺"
Error: near line 152509: unrecognized token: "♦"
Error: near line 153876: unrecognized token: "♦"
Error: near line 155316: unrecognized token: "♦"
Error: near line 157923: unrecognized token: "♦"
Error: near line 159193: unrecognized token: "♦"
Error: near line 162835: unrecognized token: "♦"
Error: near line 165624: unrecognized token: "♦"
Error: near line 167302: unrecognized token: "♦"
Error: near line 169435: unrecognized token: "♦"
Error: near line 178806: unrecognized token: "♦"
Error: near line 193867: unrecognized token: "♥"
Error: near line 213118: unrecognized token: "♦"
Error: near line 224098: unrecognized token: "♦"
Error: near line 231786: unrecognized token: "♦"
Error: near line 237541: unrecognized token: "♦"
Error: near line 240184: unrecognized token: "♦"
Error: near line 245938: unrecognized token: "♥"
Error: near line 247464: unrecognized token: "♦"
Error: near line 249675: unrecognized token: "♦"
Error: near line 250039: unrecognized token: "♦"
Error: near line 250408: unrecognized token: "♦"
Error: near line 253956: unrecognized token: "♦"
Error: near line 254616: unrecognized token: "♦"
Error: near line 258751: unrecognized token: "♦"
Error: near line 259378: unrecognized token: "♦"
Error: near line 259934: unrecognized token: "♦"
Error: near line 263164: unrecognized token: "♦"
Error: near line 267568: unrecognized token: "♦"
Error: near line 268544: unrecognized token: "♦"
Error: near line 268932: unrecognized token: "♦"
Error: near line 270225: unrecognized token: "♦"
Error: near line 272625: unrecognized token: "♦"
Error: near line 273722: unrecognized token: "♦"
Error: near line 274343: unrecognized token: "♦"
Error: near line 279231: unrecognized token: "♦"
Error: near line 285005: unrecognized token: "♦"
Error: near line 295651: unrecognized token: "♦"
Error: near line 302095: unrecognized token: "♦"
Error: near line 307673: unrecognized token: "♦"
Error: near line 309359: unrecognized token: "♦"
Error: near line 311462: unrecognized token: "♦"
Error: near line 311518: unrecognized token: "♦"
Error: near line 315004: unrecognized token: "♦"
Error: near line 316584: unrecognized token: "♦"
Error: near line 331552: unrecognized token: "♦"
Error: near line 336299: unrecognized token: "♦"
Error: near line 337191: unrecognized token: "♦"
Error: near line 338086: unrecognized token: "♦"
Error: near line 347612: unrecognized token: "♦"
Error: near line 354368: unrecognized token: "♦"
Error: near line 359747: unrecognized token: "♦"
Error: near line 365948: unrecognized token: "♦"
Error: near line 367213: unrecognized token: "♦"
Error: near line 368445: unrecognized token: "♦"
Error: near line 378116: unrecognized token: "♦"
Error: near line 378691: unrecognized token: "♦"
Error: near line 379699: unrecognized token: "♦"
Error: near line 379860: unrecognized token: "♦"
Error: near line 380266: unrecognized token: "♦"
Error: near line 383344: unrecognized token: "♦"
Error: near line 387705: unrecognized token: "♦"
Error: near line 387929: unrecognized token: "♦"
Error: near line 395214: unrecognized token: "♦"
Error: near line 397074: unrecognized token: "♦"
Error: near line 399623: unrecognized token: "♦"
Error: near line 401076: unrecognized token: "♦"
Error: near line 401079: unrecognized token: "♦"
Error: near line 401083: unrecognized token: "♦"
Error: near line 407835: unrecognized token: "♦"
Error: near line 407903: unrecognized token: "♦"
Error: near line 411941: unrecognized token: "♦"
Error: near line 414200: unrecognized token: "♦"
Error: near line 416993: unrecognized token: "♦"
Error: near line 426848: unrecognized token: "♦"
Error: near line 427624: unrecognized token: "♦"
Error: near line 430079: unrecognized token: "♦"
Error: near line 442758: unrecognized token: "♦"
Error: near line 452797: unrecognized token: "♦"
Error: near line 453259: unrecognized token: "♦"
Error: near line 455039: unrecognized token: "♦"
Error: near line 456184: unrecognized token: "♦"
Error: near line 462900: unrecognized token: "♦"
Error: near line 464964: unrecognized token: "♦"

...

Hab das mal gelassen, IPS wieder gestartet und nacheinander die Skripte gestartet:

...
04.11.2015 20:17:38.642 | 17388 | NOTIFY  | Archive Control      | Reaggregation für Variable #17162 läuft... [2/2]
04.11.2015 20:17:38.658 | 17388 | NOTIFY  | Archive Control      | Daten für Variable #17162 wurde neu aggregiert!
04.11.2015 20:18:38.858 | 17388 | NOTIFY  | Archive Control      | Reaggregation für Variable #12814 läuft... [1/3]
04.11.2015 20:18:38.936 | 17388 | NOTIFY  | Archive Control      | Reaggregation für Variable #12814 läuft... [3/3]
04.11.2015 20:18:38.968 | 17388 | NOTIFY  | Archive Control      | Daten für Variable #12814 wurde neu aggregiert!
04.11.2015 20:19:38.217 | 17388 | NOTIFY  | Archive Control      | Reaggregation für Variable #11621 läuft... [1/1]
04.11.2015 20:19:38.279 | 17388 | NOTIFY  | Archive Control      | Daten für Variable #11621 wurde neu aggregiert!
04.11.2015 20:20:39.010 | 17388 | NOTIFY  | Archive Control      | Reaggregation für Variable #10312 läuft... [1/3]
04.11.2015 20:20:39.072 | 17388 | NOTIFY  | Archive Control      | Reaggregation für Variable #10312 läuft... [3/3]
04.11.2015 20:20:39.088 | 17388 | NOTIFY  | Archive Control      | Daten für Variable #10312 wurde neu aggregiert!
04.11.2015 20:21:38.727 |     0 | CUSTOM  | Reaggregation        | Reaggregation completed!
04.11.2015 20:25:59.481 | 58378 | WARNING | ExecuteThreadID #8   | Fehler beim Ausführen des Skripts (gCalGet.ips.php): Access violation at address 00000000. Read of address 00000000
04.11.2015 20:26:00.682 | 49782 | ERROR   | ExecuteThreadID #8   | [Termine\Scheduler] = 
Fatal error:  Cannot redeclare ZW_GetNodeClasses() (previously declared in D:\IPS-Steigerts\scripts\__compatibility.inc.php:4215) in D:\IPS-Steigerts\scripts\__compatibility.inc.php on line 4215


Jetzt sitz ich da… (nein ich schneide keinen Speck:p)

und warte immer noch auf Hilfe (wenn nicht aus Lübeck, dann von woanders)

Viele Grüße
Harald

Ich kann dir leider keinen heißen Tipp geben. Nur ein paar Sachen klären, an denen du nicht weiter suchen musst:

  1. Datenbankwiederherstellung muss du sehr wahrscheinlich nicht machen. Das hat damit wenig zu tun
  2. Der Redeclare Fehler kommt durch die Access Violation. Sobald die kommt, ist PHP nicht mehr wirklich als stabil zu betrachten. Wenn du die Redeclare weg haben magst, kannst du die korrigieren. (Du wirst bestimmt einen andere kryptische Fehlermeldung früher oder später zu sehen bekommen ;))

if (!function_exists(‚GetNodeClasses‘)) -> if (!function_exists(‚ZW_GetNodeClasses‘))

  1. Hast du die zwei DLLs wirklich in Version 0.9.8? Hast du das noch mal überprüft? (Der LiveUpdater überschreibt die gnadenlos wieder!)
  2. Ggf. mal auf Version 4 wechseln… Dort ist PHP 5.5, welche direkt mit den OpenSSL 1.x DLLs zusammenspielt.

paresy

Danke für die Hinweise, woran es auch immer lag (falsche libeay32.dll/ssleay32.dll oder andere zerstörte DLLs), ich hab das Problem vorgestern beseitigt, indem ich bei der IPS-Version 3.4 ein Live-Udtade gemacht habe und anschließend (bei wieder runtergefahrenem IPS) die „richtigen“ DLLs einkopiert habe.

Die „richtigen“ DLLs sind die, die ich mir mit dem Zusatzfile

https://www.symcon.de/service/dokumentation/installation/migration-v24-v25/

Durch eine Inkompatibilität von PHP 5.4 und OpenSSL 1.0 können über die "file_get_contents" (u.ä.) Funktion 
keine Anfragen per SSL gestellt werden. Die IP-Symcon interne Funktion Sys_GetURLContent bietet dort passenden 
Ersatz. Falls die SSL Funktionalität zwingend notwendig ist (z.B. Exchange oder SNMP Extension), und SSL 
innerhalb vom WebFront nicht benötigt wird, kann die alte Verhaltensweise mit folgendem Zusatzpaket 
wiederhergestellt werden: OpenSSL 0.9.8

https://www.symcon.de/files/service/OpenSSL-0.9.8.zip

abgespeichert hatte.

Darauf läuft’s im Prinzip wieder:)

Am „Ende des Internets“ gibt es nur noch einige DSL-Probleme, sodaß ich ab und zu dieses Gedöns im Log finde:

20.11.2015 15:50:13.692 | 58378 | ERROR   | ExecuteThreadID #4   | [Geräte\FBF\MailBox\Kalender\gCalGet] = 
Fatal error:  Uncaught exception 'Google_IO_Exception' with message 'Could not resolve host: www.googleapis.com' in D:\IPS-Steigerts\scripts\google-api-php-client\src\Google\IO\Curl.php:95
Stack trace:
#0 D:\IPS-Steigerts\scripts\google-api-php-client\src\Google\IO\Abstract.php(122): Google_IO_Curl->executeRequest(Object(Google_Http_Request))
#1 D:\IPS-Steigerts\scripts\google-api-php-client\src\Google\Http\REST.php(39): Google_IO_Abstract->makeRequest(Object(Google_Http_Request))
#2 D:\IPS-Steigerts\scripts\google-api-php-client\src\Google\Client.php(564): Google_Http_REST::execute(Object(Google_Client), Object(Google_Http_Request))
#3 D:\IPS-Steigerts\scripts\google-api-php-client\src\Google\Service\Resource.php(227): Google_Client->execute(Object(Google_Http_Request))
#4 D:\IPS-Steigerts\scripts\google-api-php-client\src\Google\Service\Calendar.php(1561): Google_Service_Resource->call('list', Array, 'Google_Service_...')
#5 D:\IPS-Steigerts\scripts\gCalGet.ips.php(180): Google_Service_Calendar_Events_Resource->listEvent in D:\IPS-Steigerts\scripts\google-api-php-client\src\Google\IO\Curl.php on line 95

20.11.2015 15:50:17.368 | 49360 | WARNING | TimerID #14, TimerThread #6 | [Geräte\FBF\MailBox\E-Mail empfangen (POP3)] = Socket Error # 10060
Connection timed out.

Viele Grüße
Harald