FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: DannyP am 26 Oktober 2014, 16:02:02

Titel: Fehler im eigenen Modul finden
Beitrag von: DannyP am 26 Oktober 2014, 16:02:02
Hi!

Ich bastel gerade an einem Modul, wo sich aber ein Fehler drin versteckt hat, dem ich nicht auf die Schliche komme.

Ich rufe eine Funktion per BlockingCall auf:
$hash->{helper}{RUNNING_PID} = BlockingCall("MOD_InitialLoad", $hash->{NAME}, "MOD_InitialLoadDone", "", "MOD_InitialLoadAbort", $hash->{NAME});

MOD_InitialLoad wird auch aufgerufen. Dort wird eine zip Datei von einem Webserver heruntergeladen, entpackt und die enthaltene XML Datei (ca. 10 MB) soll dann in eine MySQL Datenbank geschrieben werden. Das herunterladen und entpacken funktioniert auch.

Der Fehler scheint beim Einlesen zu passieren:
my $xml = XML::XPath->new(filename => $xmlFile);
Log3 "MOD", 3, "Nach new";
foreach my $row ($xml->findnodes('/pack/data')) {
Log3 "MOD", 3, "In Foreach";
}

den Logeintrag "Nach new" gibt es noch, aber keinen "In Foreach" mehr.
Der Prozess der durch BlockingCall gestartet wurde, ist dann auch beendet. Fehlermeldungen finde ich weder auf der Konsole, noch im Log oder im Eventmonitor.

Wie kann ich dem Fehler auf die Spur kommen und dir Ursache beheben?

Vielen Dank!