Hi danke für die Rückmeldung.
Also was jetzt "eindeutig" ist darüber können wir sicher lange streiten 😉
Das WOHER war genau das Problem, denn das war eben leider so gar nicht so eindeutig.
Wie ich aber bereits vermutet hatte, war es am Ende ein HTML Widget in VIS über das ich ein Webcam-Bild eingebunden hatte.
Das Widget war zum Zeitpunkt der Abstürze aber bereits in VIS gelöscht, VIS wie erwähnt komplett deaktiviert.
Dennoch kam es zu weiteren Abstürzen. Und das macht einen dann doch erst mal ratlos 😞
Das LOG ist für mich als Leihe da einfach zu unklar als das ich da direkt Rückschlüsse auf VIS gezogen hätte.
Der Loop kam erst Stunden nach meinen Tests mit dem Widget in VIS, wie gesagt zu einem Zeitpunkt als ich die Widgets längst wieder gelöscht hatte deswegen sah ich da auch erst mal keinen Zusammenhang.
Meine ursprüngliche Vermutung war aber korrekt, dass ein Tablet auf dem die VIS-App läuft noch einen alten Stand meiner VIS-Oberfläche geladen hatte - den mit dem defekten Widget. Es kam somit jedes Mal zum Absturz sobald dieser Client versucht hat sich mit IO zu verbinden. Und das obwohl die VIS Instanz längst deaktiviert wurde.
Somit konnte ich die Passage im Log auch auf dem gesamten Server in keine Datei mehr finden da der auslösende Skript /Kommando was auch immer auf einem externen Gerät lief.
Die Lösung war am Ende VIS auf dem Server wieder zu aktivieren, den Webserver auf "integriert" umzustellen sodass VIS auch wieder per Socketverbindung erreichbar ist, um die letzte Version meiner Oberfläche OHNE defektes Widget auf das Tablet zu laden (re-sync). Dabei musste ich mich sehr beeilen da nach ca. 15 Sekunden der Neustart kam.
Ich bin gerade dabei den Fehler mit besagtem HTML Widget nachzustellen - lässt sich sicher reproduzieren.
Wäre ja vll. schön zu wissen wieso es da zu solchen Abstürzen kommt...
EDIT:
dieses Skript innerhalb eines HTML Widgets löste den Absturz wohl aus.
<img id="jpeg_1" width="1920" height="1080">
<script type="text/javascript">
var camera_1 = {
addEvent: function(elem, event, func ){
if (typeof (window.event) != 'undefined')
{elem.attachEvent('on' + event, func);}
else
{elem.addEventListener(event, func, false);}
},
initCamera: function(jpeg, serverUrl, token, id, interval){
this.addEvent(jpeg, 'load', function(){setTimeout(function() {camera_1.showJpegFrame(jpeg, serverUrl, token, id);}, interval);});
this.showJpegFrame(jpeg, serverUrl, token, id);
},
showJpegFrame: function(jpeg, serverUrl, token, id){
jpeg.src = serverUrl+"/Jpeg/"+id+"?authToken="+token+"&"+new Date().getTime();
}
}
camera_1.initCamera(jpeg_1, "http://xxx:yyy", "1234-123-123-123", 1, 40);
</script>
alternativ verwende ich nun eine Abfrage per MJPEG:
<img id="mjpeg_1" src="http://x.x.x.x.:yyyy/Mjpeg/1?authToken=123-123-123-123-123" width="1920" height="1080"/>