Update auf 5918 bleibt hängen

Hier finden YaCy User Hilfe wenn was nicht funktioniert oder anders funktioniert als man dachte. Bei offensichtlichen Fehlern diese bitte gleich in die Bugs (http://bugs.yacy.net) eintragen.
Forumsregeln
In diesem Forum geht es um Benutzungsprobleme und Anfragen für Hilfe. Wird dabei ein Bug identifiziert, wird der thread zur Bearbeitung in die Bug-Sektion verschoben. Wer hier also einen Thread eingestellt hat und ihn vermisst, wird ihn sicherlich in der Bug-Sektion wiederfinden.

Update auf 5918 bleibt hängen

Beitragvon freq.9 » So Mai 03, 2009 9:59 pm

Das Update über die Konsole lief sehr lange, was mir komisch vorkam. Habe dann mal strace angeschmissen:

Code: Alles auswählen
--- SIGCHLD (Child exited) @ 0 (0) ---
wait4(-1, 0x7fbffff0b4, WNOHANG, NULL)  = -1 ECHILD (No child processes)
rt_sigreturn(0xffffffffffffffff)        = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x2a95baa280}, {0x436c60, [], SA_RESTORER, 0x2a95baa                                                                                                            280}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
stat("../yacy.running", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
stat("/bin/sleep", {st_mode=S_IFREG|0755, st_size=19504, ...}) = 0
access("/bin/sleep", X_OK)              = 0
access("/bin/sleep", R_OK)              = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x2a95ed0ea                                                                                                            0) = 28139
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x2a95baa280}, {SIG_DFL, [], SA_RESTORER, 0x2a95baa                                                                                                            280}, 8) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 28139
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
wait4(-1, 0x7fbffff0b4, WNOHANG, NULL)  = -1 ECHILD (No child processes)
rt_sigreturn(0xffffffffffffffff)        = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x2a95baa280}, {0x436c60, [], SA_RESTORER, 0x2a95baa280}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
stat("../yacy.running", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
stat("/bin/sleep", {st_mode=S_IFREG|0755, st_size=19504, ...}) = 0
access("/bin/sleep", X_OK)              = 0
access("/bin/sleep", R_OK)              = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x2a95ed0ea0) = 28147
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x2a95baa280}, {SIG_DFL, [], SA_RESTORER, 0x2a95baa280}, 8) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 28147
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
wait4(-1, 0x7fbffff0b4, WNOHANG, NULL)  = -1 ECHILD (No child processes)
rt_sigreturn(0xffffffffffffffff)        = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x2a95baa280}, {0x436c60, [], SA_RESTORER, 0x2a95baa280}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
stat("../yacy.running", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
stat("/bin/sleep", {st_mode=S_IFREG|0755, st_size=19504, ...}) = 0
access("/bin/sleep", X_OK)              = 0
access("/bin/sleep", R_OK)              = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x2a95ed0ea0) = 28157
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x2a95baa280}, {SIG_DFL, [], SA_RESTORER, 0x2a95baa280}, 8) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 28157
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
wait4(-1, 0x7fbffff0b4, WNOHANG, NULL)  = -1 ECHILD (No child processes)
rt_sigreturn(0xffffffffffffffff)        = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x2a95baa280}, {0x436c60, [], SA_RESTORER, 0x2a95baa280}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
stat("../yacy.running", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
stat("/bin/sleep", {st_mode=S_IFREG|0755, st_size=19504, ...}) = 0
access("/bin/sleep", X_OK)              = 0
access("/bin/sleep", R_OK)              = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x2a95ed0ea0) = 28159
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x2a95baa280}, {SIG_DFL, [], SA_RESTORER, 0x2a95baa280}, 8) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 28159
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
wait4(-1, 0x7fbffff0b4, WNOHANG, NULL)  = -1 ECHILD (No child processes)
rt_sigreturn(0xffffffffffffffff)        = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x2a95baa280}, {0x436c60, [], SA_RESTORER, 0x2a95baa280}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
stat("../yacy.running", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
stat("/bin/sleep", {st_mode=S_IFREG|0755, st_size=19504, ...}) = 0
access("/bin/sleep", X_OK)              = 0
access("/bin/sleep", R_OK)              = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x2a95ed0ea0) = 28175
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x2a95baa280}, {SIG_DFL, [], SA_RESTORER, 0x2a95baa280}, 8) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 28175
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
wait4(-1, 0x7fbffff0b4, WNOHANG, NULL)  = -1 ECHILD (No child processes)
rt_sigreturn(0xffffffffffffffff)        = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x2a95baa280}, {0x436c60, [], SA_RESTORER, 0x2a95baa280}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
stat("../yacy.running", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
stat("/bin/sleep", {st_mode=S_IFREG|0755, st_size=19504, ...}) = 0
access("/bin/sleep", X_OK)              = 0
access("/bin/sleep", R_OK)              = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x2a95ed0ea0) = 28186
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x2a95baa280}, {SIG_DFL, [], SA_RESTORER, 0x2a95baa280}, 8) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 28186
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---


Auch bei erneutem Versuch bleibt das Update so hängen.
freq.9
 
Beiträge: 77
Registriert: Mo Apr 20, 2009 10:55 am

Re: Update auf 5918 bleibt hängen

Beitragvon Orbiter » So Mai 03, 2009 11:12 pm

habs eben ausprobiert, geht sowohl hier auf einem lokalen Peer als auch im Sciencenet. das strace kann ich nicht lesen, was bedeutet das?
Orbiter
 
Beiträge: 5793
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Update auf 5918 bleibt hängen

Beitragvon Gast » Mo Mai 04, 2009 6:19 am

Orbiter hat geschrieben:habs eben ausprobiert, geht sowohl hier auf einem lokalen Peer als auch im Sciencenet. das strace kann ich nicht lesen, was bedeutet das?


Den trace kann ich auch nur sehr bedingt lesen, aber was soll ich dir anderes zeigen, damit man den Fehler finden kann? :) Sowas wie ein Log wird dabei ja nicht geschrieben. Ich kann, ausser an einem strace, nicht sehen, was das Update macht und wo es hakt.
Gast
 

Re: Update auf 5918 bleibt hängen

Beitragvon bluumi » Mo Mai 04, 2009 7:13 am

Nun, das Update macht doch aber auch nicht wirklich etwas "besonderes" ausser Stopen,warten ob wirklich gestopt, neues entpacken, wieder starten.
Kannst Du Yacynicht von Hand stopen, prüfen ob es wirklich nicht mehr läuft, von Hand entTargz'en, und dann wieder starten?
Dann würdest Du zumindest sagen können wo es hängt, (Stopen, entpacken, starten). Wenn ich Dich recht verstehe, dann läuft Yacy "nach dem update" noch, wenn du es "erneut versuchen" kannst.
bluumi
 
Beiträge: 388
Registriert: Mi Okt 08, 2008 7:27 am

Re: Update auf 5918 bleibt hängen

Beitragvon lulabad » Mo Mai 04, 2009 7:19 am

Also für mich sieht das so aus, als ob yacy nicht heruntergefahren wäre. Das ist aber auch nur eine sehr leihenhafte Sicht der Dinge.
Bei sowas auch immer ins Logfile schauen.
lulabad
 
Beiträge: 709
Registriert: Mi Jun 27, 2007 11:40 am
Wohnort: Im Herzen Bayerns

Re: Update auf 5918 bleibt hängen

Beitragvon dulcedo » Mo Mai 04, 2009 10:11 am

Im Log müsste bei einem Startversuch dann eine Meldung stehen "...this usualey indicates that YaCy is already running..."
Da YaCy bei einem der derzeitigen Fehlerbilder* genau das nicht tut, sich runterfahren lassen, tippe ich auch darauf.
sh killYCY.sh und danach wieder Start.

*Betrifft bei mir den Fehler mit voller Loader-Queue, in dem Fall funktioniert dann auch kein automatischer Neustart über stop/start per cron. Bzw. funktioniert schon, aber ich habe dann irgendwann den Speicher voll mit halben YaCy-Instanzen. Das sehr ärgerlich, ich mag nicht jeden Morgen alle Server durchgehen müssen.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Update auf 5918 bleibt hängen

Beitragvon freq.9 » Mo Mai 04, 2009 10:44 am

Ich hatte YaCy zu dem Zeitpunkt nicht am Laufen, da der Prozess hängen geblieben ist (musste ihn killen) und da wollte ich die Situation nutzen um ein Update zu starten. Ich habe mir also per wget das aktuelle Archiv bezogen, entpackt und dann die update.sh gestartet, aber dann tut sich bei mir halt nichts mehr.
freq.9
 
Beiträge: 77
Registriert: Mo Apr 20, 2009 10:55 am

Re: Update auf 5918 bleibt hängen

Beitragvon dulcedo » Mo Mai 04, 2009 10:51 am

Tut sich wirklich nichts mehr?
Wenn doch dann steht das im Log und vielleicht auch eine Meldung dass er den Port nicht neu belegen kann? Der alte Prozess hängt dann trotz Kill noch irgendwie dran (der httpd wohl).
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Update auf 5918 bleibt hängen

Beitragvon lulabad » Mo Mai 04, 2009 11:10 am

freq.9 hat geschrieben:Ich hatte YaCy zu dem Zeitpunkt nicht am Laufen, da der Prozess hängen geblieben ist (musste ihn killen) und da wollte ich die Situation nutzen um ein Update zu starten. Ich habe mir also per wget das aktuelle Archiv bezogen, entpackt und dann die update.sh gestartet, aber dann tut sich bei mir halt nichts mehr.

Ne, da brauchts du kein update.sh starten, sonder einfach nur start*.sh.
Du hast durch das entpacken bereits ein update gemacht. Das update.sh macht nichts anderes.
lulabad
 
Beiträge: 709
Registriert: Mi Jun 27, 2007 11:40 am
Wohnort: Im Herzen Bayerns

Re: Update auf 5918 bleibt hängen

Beitragvon freq.9 » Mo Mai 04, 2009 11:11 am

Oh man, vielleicht einfach mal in den Code der update.sh schauen und dann mit dem strace abgleichen ;)

Ausschnitt der update.sh
Code: Alles auswählen
while [ -f ../yacy.running ]; do
sleep 1
done
[...]


Ausschnitt der strace-Ausgabe
Code: Alles auswählen
[...]
stat("../yacy.running", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
stat("/bin/sleep", {st_mode=S_IFREG|0755, st_size=19504, ...}) = 0
access("/bin/sleep", X_OK)              = 0
access("/bin/sleep", R_OK)              = 0
[...]


Ich behaupte einfach mal, dass die "yacy.running" Datei noch existierte :)
freq.9
 
Beiträge: 77
Registriert: Mo Apr 20, 2009 10:55 am

Re: Update auf 5918 bleibt hängen

Beitragvon Orbiter » Mo Mai 04, 2009 11:19 am

.. was ein Zeichen dafür ist, das YaCy vorher nicht terminiert ist.
Falls sowas fehl schlägt, mal ein
ps ax | grep java
probieren, und ggf den nicht terminierenden Java-Prozess mit kill -9 abschiessen.
Orbiter
 
Beiträge: 5793
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Update auf 5918 bleibt hängen

Beitragvon dulcedo » Mo Mai 04, 2009 1:00 pm

Mir ist ja aufgefallen dass ein stop bzw. kill unter linux manchmal nicht alle zugehörigen Prozesse beendet.
Jetzt eben diese Situation auch unter Win7, habe per Update heruntergefahren, ist bei mir so eingestellt dass ein pause-Befehl vor dem Neustart.

Dort hängt nun noch der SVCHOST mit fast 100MB im Speicher, der macht unter Win u.a. die Verwaltung der Network-IO.
Irgendwas ist da im argen, es sind aktuelle Versionen im Einsatz.
Wenn ich im Laufe das Nachmittags dort was nachsehen soll, Bescheid geben, ich lasse ihn mal so...
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Update auf 5918 bleibt hängen

Beitragvon Lotus » Mo Mai 04, 2009 1:59 pm

dulcedo hat geschrieben: ist bei mir so eingestellt dass ein pause-Befehl vor dem Neustart.

Verstehe ich nicht. Wo geht das denn einzustellen?
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Update auf 5918 bleibt hängen

Beitragvon dulcedo » Mo Mai 04, 2009 3:42 pm

Indem ich einen Befehl zum pausieren in die startYACY einfüge um nachsehen zu können falls etwas schiefläuft, bzw ob er überhaupt updatet.

Ergänzung: bei Win kann man es so machen dass man ihm den Java-Pfad klaut, dann kann man es aus unerfindlichen Gründen nach dem Update noch von Hand über startYACY starten.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Update auf 5918 bleibt hängen

Beitragvon Lotus » Di Mai 05, 2009 1:21 pm

Ich verstehe nicht was du sagen willst. Hat er die Pause in der startYACY_debug.bat erreicht? In der anderen macht es wenig Sinn.

Unter Win wird keine Path-Variable für Java benötigt. Das wird zwar manchmal gesagt, stimmt aber nicht. Wie Sun das macht weiß ich auch nicht.
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Update auf 5918 bleibt hängen

Beitragvon dulcedo » Di Mai 05, 2009 2:12 pm

Wenn ich unter Win den Pfad nicht setze dann funktioniert startYACY.bat, aber nicht der automatische Neustart nach dem Update, das muss ich manuell mit startYACY.bat weiterführen.Ist so und finde ich praktisch.
Mir reicht es wenn er nach dem Einspielen des Updates und vor dem Neustart (also Aufruf von java.exe) pausiert, dann kann ich kontrollieren ob er ordnungsgemäss runtergefahren ist. Das ginge auch automatisch mit einem grep im log00 nach "this is the last line".
So startet nach dem Update nicht unbemerkt eine neue Instanz, falls die andere nicht korrekt beendet wurde. Das passiert oft wenn er momentan wegen indexer/loader hängenbleibt und eigentlich per stopYACY oder Menubefehl beendet werden soll.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Update auf 5918 bleibt hängen

Beitragvon Lotus » Di Mai 05, 2009 7:49 pm

dulcedo hat geschrieben:aber nicht der automatische Neustart nach dem Update, das muss ich manuell mit startYACY.bat weiterführen.Ist so und finde ich praktisch

Ist das Absicht oder ein Fehler in YaCy/neuer Befehl in neuer Windows-Version?

Der Update-Prozess wird erst in Gang gesetzt wenn die yacy.running nicht mehr existiert. Vor einem auerordentlichen Shutdown müsste also erst der Update-Watchdog beendet werden und dann der Java-Prozess.
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Update auf 5918 bleibt hängen

Beitragvon dulcedo » Mi Mai 06, 2009 2:36 am

Ich kann es nicht genau sagen was das bewirkt, es muss einen Unterschied geben wie java gestartet wird; In startYACY und in updateYACY.
Bei Update erhalte ich dann die Meldung "javaw.exe kann nicht gefunden werden", dann manueller Aufruf von startYACY.
OS ist Win7 bzw. Vista, Vista müsste ich nochmal speziell testen. Alles in 64-Bit.

Zum Pause-Befehl den ich 'manuell' einfüge: der ist unmittelbar vor dem Aufruf von javaw.exe, dann muss ich zwar beim Starten immer erst eine Taste drücken aber unbeaufsichtigt funktioniert bei mir eh nicht gerade. Und so 100% die Kontrolle wieviele Instanzen geladen sind.
So eine Leiche kann ja auch durch einen manuellen Startversuch entstehen der dann fehlschlägt.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Update auf 5918 bleibt hängen

Beitragvon Lotus » Mi Mai 06, 2009 8:29 pm

Danke, nun habe ich das Problem verstanden. Ich versuche das einmal nachzustellen.
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Update auf 5918 bleibt hängen

Beitragvon Lotus » Fr Mai 08, 2009 11:25 am

dulcedo hat geschrieben:Alles in 64-Bit.

..das wird wohl das Problem seitens Sun sein.
Ich konnte das in einer VM nicht nachstellen. Es kann eigentlich gar keinen Unterschied geben, weil nach dem Update die startYACY.bat aufgerufen wird um YaCy wieder zu starten.

Es kann natürlich sein dass ein Problem mit Kind-Prozessen besteht. Das sollte dann eigentlich jede Anwendung mit selbst-restart betreffen. Da warte ich mal ab was es für ein Echo gibt, wenn Win7 verkauft wird.
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Update auf 5918 bleibt hängen

Beitragvon bluumi » Fr Mai 08, 2009 12:23 pm

Lotus hat geschrieben:
dulcedo hat geschrieben:Alles in 64-Bit.

..das wird wohl das Problem seitens Sun sein.

Darf ich darauf hinweisen, dass ich auch einen Peer unter Win7 64-Bit betreibe und die beschriebenen Probleme mit Restarten nie aufgetreten sind.
Sowohl Beta als auch RC1 läuft startYacy / stopYacy / update u.s.w. wie auf der 32bit kiste .. nur läuft es mit deutlich mehr Performance, da mehr RAM ;)
Die Win7 RC1 habe ich erst seit 2-3 Tagen drauf. Win7 installiert, mit IE8-64bit den Java geladen, dies saugt die 64-bit Java, Yacy Verz. reinkopiert, gestartet, Update von Yacy.
Brumm brumm ... rennt fleissig wie bienne :?
bluumi
 
Beiträge: 388
Registriert: Mi Okt 08, 2008 7:27 am

Re: Update auf 5918 bleibt hängen

Beitragvon dulcedo » Fr Mai 08, 2009 3:49 pm

Und ich weise nochmal darauf hin dass ich auf meinem Peer den Pfad ins Java-Verzeichnis aus PATH entfernt habe!
Die Frage ist dann allerdings umgekhert warum er javaw.exe bei Aufruf über startYACY findet?
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Update auf 5918 bleibt hängen

Beitragvon bluumi » Fr Mai 08, 2009 5:30 pm

dulcedo hat geschrieben:Und ich weise nochmal darauf hin dass ich auf meinem Peer den Pfad ins Java-Verzeichnis aus PATH entfernt habe!
Die Frage ist dann allerdings umgekhert warum er javaw.exe bei Aufruf über startYACY findet?


Mann, Du hast mich da auf was gestossen, was mir bisher nicht auffiel. javaW.exe vs. java.exe.
Schau mal wo überall bei Dir java.exe und wo javaW.exe liegt.
Denn in der Tat startet update.bat den javaW.exe und restart den java.exe und ebenso startYACY.bat auch den java.exe... Und da kommt mir die Idee, ob vielleicht beim aufbau deines Path er in das Verzeichnis verweisst, wo nur eine Java.exe liegt und keine javaW.exe .. Aber nicht hauen, wenn ich total daneben liege! ;)

Aber vielleicht ist das auch nur weil ich das letzte mal aus versehen den Yacy ohne debug laufen liess, dass ich "update" merkte dass ich es ohne _debug laufen lassen will, aber restart meine Vorliebe für _debug behalten hat.
bluumi
 
Beiträge: 388
Registriert: Mi Okt 08, 2008 7:27 am

Re: Update auf 5918 bleibt hängen

Beitragvon dulcedo » Fr Mai 08, 2009 5:44 pm

Die Frage hat sich insofern erledigt weil ich heute den Windows RC aufgespielt habe, ohne Update, also jetzt wieder alles normal. Ich habe die Installation aber noch, ich müsste die Platte bei Bedarf nur wieder einbauen.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Update auf 5918 bleibt hängen

Beitragvon bluumi » Fr Mai 08, 2009 6:57 pm

dulcedo hat geschrieben:Windows RC aufgespielt habe

Gut, und jetzt läuft es also wieder ohne die Fehlermeldung javaW fehle? - Weil bei mir kömmt diese Meldung ja nicht. Beta -> RC kann man ja (leider) nicht updaten.
bluumi
 
Beiträge: 388
Registriert: Mi Okt 08, 2008 7:27 am

Re: Update auf 5918 bleibt hängen

Beitragvon dulcedo » Sa Mai 09, 2009 3:21 am

Ja, jetzt geht alles so wie gedacht. Das Win-Update scheint übrigens doch zu gehen, jedenfalls wird es angeboten (am Anfang "benutzerdefiniert..." und dann gründlich die Fragerei durchgehen). Dein Verdacht klingt plausibel.

Ich habe das Win-Update deswegen nicht ausprobiert weil ich eine neue Systemplatte eingebaut habe. YaCy ist eine der wenigen "Monsteranwendungen" die wirklich problemlos handlebar sind, das kann ich nicht oft genug loben. Ich habe schon Peers ganz einfach durch Plattentausch von Linux nach Win migiriert, umgekehrt allerdings ein bischen schwerer weil XP in SP1/2 gerne mal die Dateinamen kreativ verunstaltet. Java aufs System, das Yacy-Verzeichnis irgendwohin oder gar noch auf dem Wechseldatenträger: startYACY, fertig.
Alleine das wäre für mich schon ein gewichtiger "Kaufgrund".
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Update auf 5918 bleibt hängen

Beitragvon bluumi » Sa Mai 09, 2009 10:40 am

dulcedo hat geschrieben:Ja, jetzt geht alles so wie gedacht. Das Win-Update scheint übrigens doch zu gehen, jedenfalls wird es angeboten (am Anfang "benutzerdefiniert..." und dann gründlich die Fragerei durchgehen)

Das Update von Vista oder XP geht :) .. aber als er meine Win7 Beta erkannte sagte es ich sollte zu MicrosoftTechnet surfen. Und da wurde erklährt wie man die Daten sichert und verschiebt. Ja. Ja.. im Prinzip war es ja fast auch ein Update .. es musste jedenfalls nicht formatiert werden, es gab blos ein neues Windows Verzeichnis und das alte zu Win.000 und dann darf man selber Settings kopieren. Aber da versteh ich halt unter Update das, was die Settings so übernimmt, als wenn man ein XP oder Vista hätte.

dulcedo hat geschrieben:Kaufgrund

Da die meisten ja nicht oft das OS wechseln wollen, aber ich nehm an, dass Du das auch nicht für den 08/15er meinst, sondern für den Grossen mit einem Server.
Kurzum hat Yacy nun einen Stand erreicht, der passt, aber noch zu wenig gute Kaufgründe für den Durchschnittsanwender.

Jedenfalls fehlt mir im Moment die Überzeugungskraft Yacy so unters Volk zu bringen dass diese auch bleiben. Der "Harte Kern" von ~60 YacyPeer ist ja noch weit entfernt von einem Kaufrausch und tausenden Peers ;)
bluumi
 
Beiträge: 388
Registriert: Mi Okt 08, 2008 7:27 am

Re: Update auf 5918 bleibt hängen

Beitragvon dulcedo » So Mai 10, 2009 6:20 am

bluumi hat geschrieben:Da die meisten ja nicht oft das OS wechseln wollen, aber ich nehm an, dass Du das auch nicht für den 08/15er meinst, sondern für den Grossen mit einem Server.
Kurzum hat Yacy nun einen Stand erreicht, der passt, aber noch zu wenig gute Kaufgründe für den Durchschnittsanwender.

Das war rein auf mich bezogen, auf denjenigen der die Sache installieren/warten soll. Zum Glück werde ich bei Kaufentscheidungen (noch) gefragt ,-)

Jedenfalls fehlt mir im Moment die Überzeugungskraft Yacy so unters Volk zu bringen dass diese auch bleiben. Der "Harte Kern" von ~60 YacyPeer ist ja noch weit entfernt von einem Kaufrausch und tausenden Peers ;)

Da sehe ich nun aber den Weg über eine Art Vorleistung des harten Kerns: Die vorhandenen Ressourcen sinnvoll bündeln und einen netten kleinen Suchindex fest vorhalten. Den über spezialisierte Peers für Portalsuche dezent anbieten (lassen). Das kann natürlich in die Hose gehen weil die Datenbasis zu klein, ich spekuliere aber drauf dass genug Anwender, die nur mal aus Neugier suchen, das Potential dann erkennen und über erhältliche Hintergrundinfos selbst anfangen an einem Peer zu basteln. Anders geht das momentan nicht, basteln, da hast du vollkommen recht.

Ich sage mir: Hardwarebasis schaffen, Hilfe habe ich durch wirklich brilliante Ideen von itGrl und anderen und genau darauf spekuliere ich: eine Spielwiese bereitstellen die nichts kostet ausser persönlichen Ressourcen, dann hoffen dass weitere solche Ideen kommen. Damit hat man wieder einen Anreiz für Laufpublikum, usw. Wer nicht wagt gewinnt auch nicht. Zu verklieren ist nicht, das ist durchgerechnet, PCA42 dürfte mir da wahrscheinlich recht geben.
Ob der "Ruf des Projekts" darunter leiden könnte? Das müssen andere beantworten.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Update auf 5918 bleibt hängen

Beitragvon dulcedo » Fr Mai 15, 2009 7:20 am

Ich habe die Sache nachgestellt, SVN5945 Linux64, es wird nach dem Starten des Updates der Java-Prozess nicht gestoppt.
Mache ich das von Hand per stopYACY dann fähr er problemlos runter, es läuft aber dann nach startYACY noch die alte Version. Heruntergeladen ist das Archiv.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Update auf 5918 bleibt hängen

Beitragvon Lotus » Fr Mai 15, 2009 3:17 pm

Es muss ja zumindest etwas im Log stehen wie "SHUTDOWN caught termination signal", damit er sich beendet.
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Update auf 5918 bleibt hängen

Beitragvon dulcedo » Sa Mai 16, 2009 5:53 am

Wir reden wohl aneinander vorbei, er beendet sich eben nicht.
Er lädt das Archiv runter und zeigt den Splash-Screen, arbeitet dann aber normal weiter. Warte ich dann und rufe nach einiger Zeit wieder Status.html auf dann läuft natürlich noch die alte Version und das Update-Archiv liegt unausgepackt unter RELEASES.
Ich kann dann aber manuell mit stopYACY ganz normal beenden, also stimmt irgendwas nicht mit der Routine die beim Update den Dienst stoppen soll.

Die 5945 um die es geht läuft noch, ich kann es nochmal versuchen, worauf soll ich achten? Oder magst du es versuchen? Debian4/Sun-Java1.5/64 auf einem headless-Server. (Anmerkung: bei Debian4 (etch) ist 1.5 noch in den Standard-Reps.!)
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Update auf 5918 bleibt hängen

Beitragvon PCA42 » Sa Mai 16, 2009 6:51 am

Schau mal, ob die Skript im Download-Verzeichnis (DATA/RELEASE) ausführbar sind. Könnte das gleich Problem wie mit dem Resource-Observer (df-Aufruf) sein, da hier ein externer Aufruf erfolgt, der nicht läuft. Sieht im Log dann so aus:
Code: Alles auswählen
I 2009/05/16 07:47:31 UNTAR finished
E 2009/05/16 07:47:31 UPDATE update failed
java.io.IOException: Cannot run program "chmod": java.io.IOException: error=12, Cannot allocate memory
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:474)
        at java.lang.Runtime.exec(Runtime.java:610)
        at java.lang.Runtime.exec(Runtime.java:448)
        at java.lang.Runtime.exec(Runtime.java:345)
        at de.anomic.server.serverSystem.deployScript(serverSystem.java:363)
        at de.anomic.yacy.yacyRelease.deployRelease(yacyRelease.java:541)
        at Steering.respond(Steering.java:74)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at de.anomic.http.httpdFileHandler.invokeServlet(httpdFileHandler.java:1171)
        at de.anomic.http.httpdFileHandler.doResponse(httpdFileHandler.java:751)
        at de.anomic.http.httpdFileHandler.doGet(httpdFileHandler.java:240)
        at de.anomic.http.httpd.GET(httpd.java:490)
        at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at de.anomic.server.serverCore$Session.listen(serverCore.java:741)
        at de.anomic.server.serverCore$Session.run(serverCore.java:620)
Caused by: java.io.IOException: java.io.IOException: error=12, Cannot allocate memory
        at java.lang.UNIXProcess.<init>(UNIXProcess.java:164)
        at java.lang.ProcessImpl.start(ProcessImpl.java:81)
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:467)
        ... 19 more

Sorry, das ich das hier erst jetzt mitteile. Hatte das etwas verdrängt. Deshalb baue ich mir meine Releases auch selbst.
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: Update auf 5918 bleibt hängen

Beitragvon dulcedo » So Mai 17, 2009 2:49 pm

Ja, das war der Grund, OOM bei chmod. Dafür dass er erst 3 Wochen läuft hätte ich das jetzt nicht erwartet. Er crawlt zwar aber hat echte 4GB zur Verfügung (die Maschine 8) 50mio Wörter / 20mio URLs. Also stimmen die Zahlen doch , sprich er hat soviele Wörter auch im RAM.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Update auf 5918 bleibt hängen

Beitragvon dulcedo » Di Mai 26, 2009 4:10 pm

Hier ist er wieder, SVN 5974 auf 5977, danach macht er natürlich ohne das Update aufzuspielen und neu zu starten weiter.
Fahre ich ihn runter und führe den Teil von update.sh nach der Warteschleife aus dann funktioniert es. Der Peer meldet zu diesem Zeitpunkt im Betrieb 500MB freien Java-Speicher.

@PCA42: Das meinte ich im anderen Thread mit unnötigen Prozessen die den Hauptspeicher belasten, ich wusste nicht dass GZIP schon im Speicher arbeitet. Kann man das nicht auch hier per Stream lösen? Oder Java stoppen und dann per Script entpacken?

Code: Alles auswählen
I 2009/05/26 17:01:34 UPDATE INITIATED
I 2009/05/26 17:01:34 UNTAR starting
I 2009/05/26 17:01:34 PLASMA Received 2 Entries 2 Words [stXDn4p5Bkq- .. stXht2WyP1nf]/-2387478971251360300 from lav8cKXvMhdO:fss_i_yacy1/0.81005967, processed in 1 milliseconds, requesting 0/2 URLs, blocked 0 RWIs
I 2009/05/26 17:01:34 PLASMA Received 1 Entries 1 Words [R1e33yFA1H01 .. R1e33yFA1H01]/1485349965776774400 from GuTqcE_nEpAA:sixcooler1/0.8100597, processed in 0 milliseconds, requesting 0/1 URLs, blocked 0 RWIs
I 2009/05/26 17:01:35 PLASMA crawlReceipt: RECEIVED RECEIPT from AUgnxKd9WE_L:Kaffeetasse3/0.8100597 for URL legDlB7LID1D:http://www.schwaebische-zeitung.de/service/ihre_zeitung/leserreisen/?SZONSID=4248ad6624af49342c306b58b0ab7ec5
I 2009/05/26 17:01:35 PLASMA crawlReceipt: RECEIVED RECEIPT from AUgnxKd9WE_L:Kaffeetasse3/0.8100597 for URL divCbQym7OCB:http://www.wz-newsline.de/?redid=531094
I 2009/05/26 17:01:35 UNTAR finished
I 2009/05/26 17:01:35 PLASMA Received 7 Entries 3 Words [ZKiFWyJ_0j2- .. ZKiLh3VmVqfl]/429141190058329348 from E2E_-NKZgOQQ:suma-ev2/0.8100597, processed in 1 milliseconds, requesting 0/7 URLs, blocked 0 RWIs
E 2009/05/26 17:01:35 UPDATE update failed
java.io.IOException: java.io.IOException: Cannot allocate memory
   at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
   at java.lang.ProcessImpl.start(ProcessImpl.java:65)
   at java.lang.ProcessBuilder.start(ProcessBuilder.java:451)
   at java.lang.Runtime.exec(Runtime.java:591)
   at java.lang.Runtime.exec(Runtime.java:429)
   at java.lang.Runtime.exec(Runtime.java:326)
   at de.anomic.server.serverSystem.deployScript(serverSystem.java:363)
   at de.anomic.yacy.yacyRelease.deployRelease(yacyRelease.java:541)
   at Steering.respond(Steering.java:74)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at de.anomic.http.httpdFileHandler.invokeServlet(httpdFileHandler.java:1171)
   at de.anomic.http.httpdFileHandler.doResponse(httpdFileHandler.java:751)
   at de.anomic.http.httpdFileHandler.doGet(httpdFileHandler.java:240)
   at de.anomic.http.httpd.GET(httpd.java:490)
   at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at de.anomic.server.serverCore$Session.listen(serverCore.java:741)
   at de.anomic.server.serverCore$Session.run(serverCore.java:620)
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Update auf 5918 bleibt hängen

Beitragvon PCA42 » Di Mai 26, 2009 4:50 pm

Hier ist der Prozess mit dem Entpacken schon gelaufen (erst gzip, dann untar). Vielmehr fehlt hier der Speicher für den externen Aufruf von "chmod" um die "update.sh" ausführbar zu machen.
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: Update auf 5918 bleibt hängen

Beitragvon dulcedo » Di Mai 26, 2009 7:35 pm

Also Linux-Speicher. Der ist laut TOP auch immer fast vollständig ausgelastet aber die Verwaltung doch nicht Sache von YaCy?
Eigentlich müsste das Linux Speichermanagement an der Stelle genug freigeben können, Java hat 3000 von 4000MB zugewiesen.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Update auf 5918 bleibt hängen

Beitragvon PCA42 » Di Mai 26, 2009 8:13 pm

Ich hab mal etwas im Internet gesucht. Das Problem ist das Forking von Linux. Auf Deutsch: wenn ein runtime.exec ausgeführt wird, benötigt man doppelt soviel Speicher in dem Augenblick. Damit ist ein out-of-memory fast unvermeidlich bei großen VMs. Eine richtige Lösung innerhalb Java gibt es nicht, nur Workarounds (z.B. hier beschrieben).

So ein Workaround wird dann wohl auch notwendig, denn sonst funktionieren die externen Aufrufe beim Update, Neustart und auch der Resource-Observer ("df") nicht.
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: Update auf 5918 bleibt hängen

Beitragvon dulcedo » Di Mai 26, 2009 8:41 pm

Ich hatte an anderer Stelle einen Wartungszyklus vorgeschlagen, YaCy versucht sich dann herunterzufahren und ein Script wird aufgerufen.
Das macht Dinge bei denen YaCy nicht laufen darf und sorgt anschliessend für ein startYACY. Das ist doch unter allen Betriebssystemen möglich, wenn der Prozess nicht hängt. Aber dann funktioniert die jetzige Methode auch nicht.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Update auf 5918 bleibt hängen

Beitragvon Lotus » Mi Mai 27, 2009 10:04 am

@PCA gute Recherche!
Was ich noch nicht ganz verstanden habe: liegt dieses Fork am Betriebssystem oder kann auch eine Software (z.B. Java) einen alternativen Aufruf machen?

Ein Workaround wie dort beschrieben reißt aber meiner Auffassung nach eine große Sicherheitslücke ins System. Bisher kann keine YaCy-Komponente eigenen Code ausführen.
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Update auf 5918 bleibt hängen

Beitragvon Orbiter » Mi Mai 27, 2009 10:40 am

PCA42 hat geschrieben:wenn ein runtime.exec ausgeführt wird, benötigt man doppelt soviel Speicher in dem Augenblick.

Das bezieht sich auf das ausführende Programm. Wenn ein runtime.exec von Java aus aufgerufen wird, wird diese Aufgabe an die darunter liegende shell oder noch tiefer herabgereicht. Es wird also auf keinen Fall der java-thread geforked, das wäre ja voll blöd. Der fork findet m.e. in der shell statt oder noch tiefer im OS, wo Programme ausgeführt werden können.
Orbiter
 
Beiträge: 5793
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Update auf 5918 bleibt hängen

Beitragvon PCA42 » Mi Mai 27, 2009 3:35 pm

Soweit wie ich mich jetzt belesen habe, besteht das Problem im Zusammenspiel von Java und Linux. Leider ist davon der Parent-Prozess, also die VM, betroffen. >Hier< habe ich dazu weitere Infos gefunden. Interessant ist dort der Link auf die Sun-Seite.

Wie jetzt ein sinnvoller Workaround aussehen kann, müssen wir mal sehen. Was spricht dagegen, die Skripte für Neustart etc. nicht bereits beim Start von einer anderen Stelle zu kopieren und in den Rechten anzupassen. Das kann vielleicht in die jeweilige Start-Skripte. Der Resource-Observer wird da schon kniffliger.
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: Update auf 5918 bleibt hängen

Beitragvon dulcedo » Mi Mai 27, 2009 3:44 pm

Ich benutze bei der betroffenen Maschine nur Debian Etch64, keinen Virtualisierer.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Update auf 5918 bleibt hängen

Beitragvon Low012 » Mi Mai 27, 2009 3:53 pm

Mit VM meint PCA42 nach meinem Verständnis die JVM.

PCA42s Posting würde auch erklären, warum (z.T. wirklich extrem simple) CGI-Skripte gelegentlich unter YaCy nicht korrekt ausgeführt werden. Im CGI-Code wird auch Runtime.getRuntime().exec() benutzt. Ich hatte mich immer gewundert, aber jetzt ist das Verhalten ganz logisch.
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: Update auf 5918 bleibt hängen

Beitragvon PCA42 » Mi Mai 27, 2009 4:03 pm

Low012 hat geschrieben:Mit VM meint PCA42 nach meinem Verständnis die JVM.

Danke, da hast du recht. Ich bin da leider manchmal etwas nachlässig mit meinem Vokabular.
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: Update auf 5918 bleibt hängen

Beitragvon dulcedo » Mi Mai 27, 2009 4:07 pm

Das hatte ich dann Falsch verstanden, danke Low012.
Ich erinnere mich dunkel an eine Software unter AIX die etwas ähnliches wie den Res-Observer benutzt hat, die hat ihn in einem komplett anderen Prozess schon vor dem eigenen Start anlaufen lassen und die Ergebnisse während der Laufzeit ausgetauscht. Wie weiss ich allerdings nicht, es hatte aber gut funktioniert.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Update auf 5918 bleibt hängen

Beitragvon dulcedo » Do Mai 28, 2009 3:54 am

Ich habe mich nun auch ein wenig eingelesen, mich hat die Frage interessiert warum es manuell über: stop, update, start problemlos funktioniert.
startYACY startet javaw.exe als normalen Prozess. update.sh rollt das entpackte Update über die Installation aus und ruft danach wieder startYACY auf, diesmal allerdings über nohup. Das bewirkt dass sich der Benutzer vom System abmelden kann, der Prozess aber wie ein Demon weiterläuft (nohup=nicht auflegen, Hintergrund die begrenzte Ressource Rechenzeit). Es gibts also zwei unterschiedliche Betriebsbedingungen, je nachdem ob ich im laufenden YaCy schon ein Update initiiert habe oder nicht. Jetzt die Frage an die Entwickler: warum nicht auf einen Zustand beschränken, sprich startYACY immer über ein übergeordnetes Script über nohup aufrufen? Oder immer ohne nohup, beim erstmaligen Start funktioniert das ja auch.

@dev: Ihr müsst klarer herausstellen dass solche Nachforschungen auch Aufgabengebiete der Tester sind. Das ist für mich kein Problem, ich muss es nur wissen sonst gehe ich davon aus mich in solche Dinge nicht einzumischen.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Update auf 5918 bleibt hängen

Beitragvon PCA42 » Do Mai 28, 2009 4:39 am

dulcedo hat geschrieben:@dev: Ihr müsst klarer herausstellen dass solche Nachforschungen auch Aufgabengebiete der Tester sind. Das ist für mich kein Problem, ich muss es nur wissen sonst gehe ich davon aus mich in solche Dinge nicht einzumischen.

Wenn du die Beiträge hier im Forum beobachtet hast, sind die Entwickler für genau Problem-Beschreibungen sehr dankbar. Gerade wenn wie hier das Problem nicht "hausgemacht" ist. Das kostet weniger Zeit für die Lösung des Problems und es bleibt mehr Zeit für neue Funktionen statt diese für Fehlerbehebung aufzuwenden.
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: Update auf 5918 bleibt hängen

Beitragvon dulcedo » Mi Jun 03, 2009 7:23 am

Was momentan unter Linux funktioniert ist: stopYACY, wget aktuelle.version, tar xfvz aktuelle.version , update.sh, startYACY (alles Benutzereingabe auf der shell)
Wenn ich einen Link in YaCy hätte der genau das auslöst könnte ich testen ob das auch im laufenden Betrieb funktioniert, ich wüsste nicht was nicht funktionieren sollte. Es sei denn der Aufruf von startYACY.sh über nohup hat eine gewollte Funktion, das kann mir aber nur derjenige sagen der es so programmiert hat. Ausserdem könnte ich auf diese Weise auch gleich noch ein Backup anstossen, auch alleine ohne Update.
Das kann ich per cron auch, wozu aber dann die update-Funktion.

Vorschlag: (frei definierbarer) Link in der Admin-Oberfläche der einen Batch aufruft, dieser beendet YaCy(Java) über stop oder kill und macht dann was er will.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe


Zurück zu Fragen und Antworten

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 1 Gast

cron