JDownloader Community - Appwork GmbH
 

Reply
 
Thread Tools Display Modes
  #1  
Old 15.03.2024, 11:24
StefanM's Avatar
StefanM StefanM is offline
JD Legend
 
Join Date: Oct 2020
Posts: 527
Default JD startet nach PC-Crash nicht mehr - Lösung

Da mir dies schon öfter passiert ist, und soeben schon wieder...

Der Grund ist bei mir, dass die Datei .\JDownloader2\JD2.lock dann noch vorhanden ist.

Ich muss sie manuell löschen.

Könnte sein, dass andere auch schon das Problem hatten?

Frage and das Developer-Team
Wäre es evtl. sinnvoll hier eine Abfrage einzubauen, dass die Löschung in solch einem Fehlerfall automatisch erfolgt?
Reply With Quote
  #2  
Old 15.03.2024, 15:38
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,973
Default

@StefanM: Die lock Datei ohne dahinter laufenden Prozess der die Datei *lockt* ist ja kein Problem. Kurz: nein, diese Datei ist nicht der Grund warum JDownloader nicht startet.
Der Grund muss ein anderer sein und ohne die Wunderkugel kann ich hier nur mittels Logs weiterhelfen. In deinem Log Ordner gibt es zu jeder Session einen Unterordner, auch wenn JDownloader schon läuft, so gibt es Logs die dies kennzeichnen.

Wie hast du JDownloader in den Autostart?
__________________
JD-Dev & Server-Admin
Reply With Quote
  #3  
Old 18.03.2024, 15:03
StefanM's Avatar
StefanM StefanM is offline
JD Legend
 
Join Date: Oct 2020
Posts: 527
Default

Quote:
Originally Posted by Jiaz View Post
In deinem Log Ordner gibt es zu jeder Session einen Unterordner, auch wenn JDownloader schon läuft, so gibt es Logs die dies kennzeichnen.
Vorab:
Ich habe die 3 letzten Fälle dieser Art für mich selbst dokumentiert:

Jedesmal, wenn ich JD über C:\PortableApps\JDownloader2\JDownloader2.exe manuell starten wollte und das Problem auftrat, befand sich eine "alte" JD2.lock im Programmordner mit Erstell- und Änderungsdatum vom letzten JD-Start - also der Start vor dem PC-Crash bei (u.a.) laufenden JD.

Und jedesmal konnte ich das Problem beseitigen, indem ich nur diese JD2.lock gelöscht habe.

Zum Log:
Welche Infos, bzw. welchen Teil des Logs benötigst du für eine Analyse?

Quote:
Originally Posted by Jiaz View Post
Wie hast du JDownloader in den Autostart?
Kein Autostart. Ich habe eine Verknüpfung zu C:\PortableApps\JDownloader2\JDownloader2.exe auf dem Desktop.
Reply With Quote
  #4  
Old 18.03.2024, 18:31
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,973
Default

@StefanM:
Bitte folgendes machen, den logs Ordner löschen und einfach das Problem nachstellen und dann den Logs Ordner zippen, alternative die Log.L.log und org.jdownloader.update.launcher.SecondLevelLauncher.log Dateien.

Ich kann das Problem nicht nachstellen und wenn JDownloader auf dem Port welche in der JD2.lock Datei keinen laufenden JDownloader findet, dann wird auch normal gestartet. Daher brauche ich ein Log wo dieses Fehlerbild zeigt.
__________________
JD-Dev & Server-Admin
Reply With Quote
  #5  
Old 18.03.2024, 19:00
StefanM's Avatar
StefanM StefanM is offline
JD Legend
 
Join Date: Oct 2020
Posts: 527
Default

Quote:
Originally Posted by Jiaz View Post
@StefanM:
Bitte folgendes machen, den logs Ordner löschen und einfach das Problem nachstellen und dann den Logs Ordner zippen, alternative die Log.L.log und org.jdownloader.update.launcher.SecondLevelLauncher.log Dateien.
Bewusst solche Crashs (und dann evtl. noch mehrfach) möchte ich nicht erzeugen, wüsste auch nicht, wie der Crash erfolgen muss, damit dieses Problem auftritt.

Aber die Logs sind ja da. Und ich weiß ja auch genau, wann es zuletzt passiert ist. Ich müsste also nur wissen, wo ich dazu Info in den vorhandenen Logs finde.

Es geht um untenstehende Dateien?
  • Log.L.log
  • org.jdownloader.update.launcher.SecondLevelLauncher.log

Den PC-Crash-Zeitpunkt kenne ich natürlich und auch den Zeitpunkt des versuchten Starts von JD, nachdem ich den PC Stunden später wieder hochgefahren habe.

Wie schon gesagt:
Meinetwegen muss da nichts gemacht werden von eurer Seite. Und wenn ich der Einzige mit diesem (lösbaren) Problem bin...
Ich weiß ja, dass ich durch Löschen der Lock-Datei den Start wieder ermöglichen kann. Aber ich liefere natürlich gern alle Infos...
Reply With Quote
  #6  
Old 18.03.2024, 21:43
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,973
Default

Hast du mal geschaut ob der JDownloader nicht doch läuft, nur eben evtl im Tray und ein Update installiert? Also mal im Taskmanager? Ich kann das Problem nicht nachstellen und die Logik im SingleInstance Manager zeigt mir ja auch das der JDownloader den Start nur verweigert, wenn da bereits ein JDownloader läuft und auf dem Port wartet.
Ja, es geht um diese beiden Dateien. In dem logs Ordner der Session sollten wenige Dateien sein, weil er ja direkt sich wieder beendet.

Meine Vermutung ist das durch den Crash die Datei beschädigt ist und dann evtl beim Lesen/Schreiben der Datei es zu Fehlern kommt und durchs Löschen der Datei dann wieder alles Rund läuft. Aber das solltest du auch in den Logs finden/sehen.

Du kannst mir auch gerne die Files zippen und an support@jdownloader.org.
__________________
JD-Dev & Server-Admin
Reply With Quote
  #7  
Old 19.03.2024, 14:59
StefanM's Avatar
StefanM StefanM is offline
JD Legend
 
Join Date: Oct 2020
Posts: 527
Default

Quote:
Originally Posted by Jiaz View Post
Hast du mal geschaut ob der JDownloader nicht doch läuft, nur eben evtl im Tray und ein Update installiert? Also mal im Taskmanager?
Zwischeninfo:
In solchen Fällen sehe ich bei jedem Programm immer als Erstes nach, ob die *.exe im TaskManager zu sehen ist, um sie dort ggf. abzuschießen.

Log muss ich noch in Ruhe auswerten...
kommt später.

Aber Frage an dich:
Wozu dient denn JD2.lock genau?
Reply With Quote
  #8  
Old 20.03.2024, 17:34
StefanM's Avatar
StefanM StefanM is offline
JD Legend
 
Join Date: Oct 2020
Posts: 527
Default

Quote:
Originally Posted by Jiaz View Post
Hast du mal geschaut ob der JDownloader nicht doch läuft, nur eben evtl im Tray und ein Update installiert? Also mal im Taskmanager?
NACHTRAG:

Gerade wieder aufgetreten! Dieses Mal eine andere JD-Installation auf einer andere Festplatte.
Habe vor dem Löschen von JD2.lock den gesamten JD-Ordner gesichert.
Nach dem Löschen von JD2.lock ließ sich JD wie immer in solchen Fällen problemlos starten.

Nach erfolgreichem Start habe ich JD erneut geschlossen und erneut komplett gesichert, so dass jetzt alle benötigten Infos vorhanden sein sollten und nicht überschrieben werden können.

Hinweis:
In beiden betroffenen Installationen ist dieses Script aktiv:
(was aber bei beiden Installationen nicht mehr zu funktionieren scheint)

HTML Code:
/*
    New Core Revision Notification
    Trigger : JDownloader started
*/

var list = "";
var file = JD_HOME + "/revisions.txt";
var revision = callAPI("jd", "getCoreRevision");

try {
    list = readFile(file);
} catch (e) {};

if (list.indexOf(revision) == -1) {
    writeFile(file, revision + "\r\n", true);
    alert("" + revision);
}
Auffälligkeit:
JD2.lock war bei dem nach PC-Crash "geblockten" JD nur 7 byte groß (Leerzeichen + 4-stellige Zahl+CR+LF)
Änderungsdatum war jedoch vom Start, also korrekt. Könnte auch da schon nur 7 byte große gewesen sein.

Und nochmal der Hinweis:
Im TaskManager ist in einem solchen Fall nichts von JD zu sehen!
Reply With Quote
  #9  
Old 20.03.2024, 20:22
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,973
Default

Quote:
Originally Posted by StefanM View Post
Wozu dient denn JD2.lock genau?
die JD2.lock dient dem Single-Instance Manager, also das nur ein JDownloader gleichzeitig laufen darf und das die Kommandozeile (zb. Öffne Container Datei xy) an den laufenden JDownloader weitergegeben werden kann. Das erste (Leer)Zeichen dient der Synchronisation(dort wird die Datei gelockt) und dann folgt der Port für die Kommunikation zwischen den Instanzen gefolgt von NewLine, damit das Ende der Zahl erkannt wird. Die erste Instanz lockt die Datei und schreibt den Port (default 9665, ansonsten Zufall) hinein. Weitere Instanzen versuchen zu locken, was nicht klappt und lesen dann den Port heraus und geben darüber dann die Kommandozeile weiter.

Und genau hier ist auch der Grund warum eine vorhandene JD2.lock Datei ohne laufenden Prozess kein Problem ist, weil eben kein Prozess ein entsprechendes Lock hält, kann die neue JDownloader Instanz auf das erste Byte ein Lock setzen und somit in *Besitz* nehmen.

Quote:
Originally Posted by StefanM View Post
Log muss ich noch in Ruhe auswerten...
kommt später.
Und da ich hier keinen Fehler nachstellen kann, das Lock ja von einem laufenden Prozess gehalten sein muss (was es nicht gibt), bin ich hier auf Logs(auswertungen) deinerseits angewiesen.
__________________
JD-Dev & Server-Admin
Reply With Quote
  #10  
Old 21.03.2024, 15:45
StefanM's Avatar
StefanM StefanM is offline
JD Legend
 
Join Date: Oct 2020
Posts: 527
Default

Quote:
Originally Posted by Jiaz View Post
Meine Vermutung ist das durch den Crash die Datei beschädigt ist und dann evtl beim Lesen/Schreiben der Datei es zu Fehlern kommt und durchs Löschen der Datei dann wieder alles Rund läuft.
Vermutliche Ursache:
Deine Erläuterung zur JD2.lock brachte mich auf die Idee...

Beim letzten PC-Crash war es so, dass ich zunächst einen JD gestartet hatte, der korrekt arbeitete.

Stunden später hatte ich dann zusätzlich einen weiteren JD aus einem anderen PortableApps-Ordner starten wollen. Und hier trat der berichtete Fehler auf.

Kann es sein, dass in dieser Konstellation die JD2.lock den Start eines weiteren, parallel laufenden JDownloaders verhindert?

Normal kann ich zwei JDs aus zwei Programmordnern parallel betreiben.

Mein Versuch dies nachzustellen, schlug leider fehl:
Ich habe vor dem Schließen eines der beiden JDs die Datei JD2.lock kopiert (Sperre umgangen) und nach dem Schließen wieder einkopiert. Aber das Vorhandensein dieser JD2.lock hat JD nicht am Start gehindert. Sie wurde einfach überschrieben.
Reply With Quote
  #11  
Old 21.03.2024, 15:56
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,973
Default

Quote:
Originally Posted by StefanM View Post
Kann es sein, dass in dieser Konstellation die JD2.lock den Start eines weiteren, parallel laufenden JDownloaders verhindert?
Die JD2.lock Datei gilt nur für den JDownloader im gleichen Ordner. Zwei verschiedene JDownloader in unterschiedlichen Ordnern haben ihre eigene Lock Datei.
Aber das bringt mich ebenfalls auf eine Idee, weil du jetzt von zwei JDownloader Instanzen redest. Ich gehe der Idee nach und schau bitte in den Logs, denn da ist ganz klar zu sehen was los ist

Edit: Nein, meine Idee führt ins Leere. Somit bitte weiterhin deine Logs prüfen.
__________________
JD-Dev & Server-Admin

Last edited by Jiaz; 21.03.2024 at 16:11.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +2. The time now is 03:40.
Provided By AppWork GmbH | Privacy | Imprint
Parts of the Design are used from Kirsch designed by Andrew & Austin
Powered by vBulletin® Version 3.8.10 Beta 1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.