yacy hängt mal wieder

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.

yacy hängt mal wieder

Beitragvon m1k3ga » Do Jul 03, 2008 2:59 pm

hiho,

ich nutze auf einer stand-alone maschine den yacy in der jeweils aktuellen dev-version (momentan dev 0592/4965).
Die Kiste hat 4GB RAM (3GB für die virtual machine), ein 2-platten-raid system, 2*4core-cpu und einen index von 1M links und 9M words.
An Last wird erzeugt zirka 2 Anfragen pro Sekunde.

Die Kiste hängt sich zur Zeit täglich auf.
Habe jetzt heute mal einen Thread dump gemacht und erhalte Ausgabe in der angehängten Datei (11kB).
Hat da jemand nen Überblick bzw. ne Idee was da falsch läuft auf der Kiste?

hm, kann keine datei anhängen (.txt bzw. .log) mag er wohl nich.

grüße,
mike
m1k3ga
 
Beiträge: 30
Registriert: Di Apr 29, 2008 5:23 pm

Re: yacy hängt mal wieder

Beitragvon Low012 » Do Jul 03, 2008 3:12 pm

Hallo Mike,

ich glaube, ZIP-Dateien müsste man anhängen können. Ansonsten kannst du den Threaddump bei http://pastebin.com/ hinterlegen und hier den Link posten.
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: yacy hängt mal wieder

Beitragvon miTreD » Do Jul 03, 2008 4:07 pm

m1k3ga hat geschrieben:hm, kann keine datei anhängen (.txt bzw. .log) mag er wohl nich.
Du kannst auch einfach den Text hier reinhauen und die code-Tags drumherum machen.
Code: Alles auswählen
Beispiel:
Ich bin ein Threaddump ;-)
miTreD
 
Beiträge: 1241
Registriert: Mi Jun 27, 2007 11:35 am
Wohnort: /home

Re: yacy hängt mal wieder

Beitragvon DanielR » Do Jul 03, 2008 9:14 pm

wenn du YaCy mit dem Parameter "-l" startest bekommst du im YaCy-Ordner eine yacy.log. Die könnte auch helfen. Zur Not aber auch die DATA/LOG/yacy00.log nachdem "aufhängen".
DanielR
 
Beiträge: 395
Registriert: Di Feb 12, 2008 2:22 pm

Re: yacy hängt mal wieder

Beitragvon m1k3ga » Fr Jul 04, 2008 8:57 am

danke für den tipp mit dem einpacken ;-)
tgz geht also.

ich hatte den yacy mit der option -l laufen und nachdem er wieder ma hing, mit kill -3 den thread dump erzeugt.
den hab ich jetzt in das archiv gepackt.

hab jetzt heute morgen die aktuelle dev-version installiert (0.592/04967), in der hoffnung, daß die stabiler läuft.
auf der anderen yacy kiste läuft ein (0.591/04935), der iss relativ stabil und hängt nur einmal die woche.
leider hab ich kein archiv davon, um den auf der zweiten kiste zu installieren.

vielleicht sieht ja jemand direkt aus den thread dumps, was mit der kiste los iss.
wäre klasse.
danke schonma
Dateianhänge
threadDump.tgz
(141.89 KiB) 28-mal heruntergeladen
m1k3ga
 
Beiträge: 30
Registriert: Di Apr 29, 2008 5:23 pm

Re: yacy hängt mal wieder

Beitragvon miTreD » Fr Jul 04, 2008 9:01 am

m1k3ga hat geschrieben:leider hab ich kein archiv davon, um den auf der zweiten kiste zu installieren.
Du kannst einfach das ganze YaCy-Verzeichnis kopieren und dann DATA ersetzen - fertig :-)
miTreD
 
Beiträge: 1241
Registriert: Mi Jun 27, 2007 11:35 am
Wohnort: /home

Re: yacy hängt mal wieder

Beitragvon Low012 » Fr Jul 04, 2008 9:05 am

m1k3ga hat geschrieben:auf der anderen yacy kiste läuft ein (0.591/04935), der iss relativ stabil und hängt nur einmal die woche.
leider hab ich kein archiv davon, um den auf der zweiten kiste zu installieren.


Auf http://www.findenstattsuchen.info/YaCy/latest/previous/ gibt es die Version zur Zeit noch, die düfte aber in ein paar Tagen verschwunden sein, also schnell irgendwo archivieren. ;)
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: yacy hängt mal wieder

Beitragvon Huppi » Fr Jul 04, 2008 9:31 am

Ja, das Previous-Archiv wird Montags automatisch per CRON gelöscht ;-)
Huppi
 
Beiträge: 898
Registriert: Fr Jun 29, 2007 9:49 am
Wohnort: Kürten

Re: yacy hängt mal wieder

Beitragvon m1k3ga » Fr Jul 04, 2008 11:17 am

hab mir ma die 4935 geladen, werde die auf der zweiten kiste installieren und warten, bis der dev-Zweig stabil wird.
Denn seit einer Woche ist die dev0592 nicht wirklich stabil, läuft maximal 4h bevor die kiste hängt.

Wie kann ich denn jetzt mit den thread dumps was anfangen?
Wo kann ich da ansetzen, zu analysiseren?
m1k3ga
 
Beiträge: 30
Registriert: Di Apr 29, 2008 5:23 pm

Re: yacy hängt mal wieder

Beitragvon DanielR » Fr Jul 04, 2008 11:40 am

Dein Problem: Dein Rechner ist zu schnell :D
Du hast mit deinen vielen Prozessoren und Threads wohl ein Speicherproblem beim Crawler gefunden! Denn "die paar" URLs brauchen nicht so viel Speicher.

Vor dem zweiten ThreadDump stehts ja quasi schwarz auf weiß:
I 2008/07/03 15:45:52 MEMORY former GCs indicate to not be able to free enough memory (requested/available/average: 4096 / 2650 / -2 KB)

Ansonten mal am Ende den Heap anschauen, da sind auch nur noch wenige KB frei.

Unter anderem ist das Kopieren von TreeMaps ein Problem
Code: Alles auswählen
        at java.util.TreeMap.buildFromSorted(TreeMap.java:2322)
        at java.util.TreeMap.<init>(TreeMap.java:177)
        at de.anomic.server.serverAbstractSwitch.clearTooOldAccess(serverAbstractSwitch.java:218)

Ich hab leider keine Vorstellung davon wie groß diese Maps da sein können, aber da es wohl um Crawls (aufgerufen von parseRequestLine()) geht, können die ziemlich groß sein, wenn da jede URL drin ist!? Dies wird lediglich für Logging-Zwecke gemacht (AccessTracker).
Meiner Meinung nach ist das clearTooOldAccess() überflüssig, da cleanupAccessTracker() das gewollte besser löst (löschen alter Einträge statt Kopie mit den nicht alten zu erstellen).

Zum anderen sind mir da recht viele RegEx-Aufrufe aufgefallen. Evtl. sind diese im Code einfach nur häufig, denn ich kann mir das mit dem Speicherproblem nicht erklären.
DanielR
 
Beiträge: 395
Registriert: Di Feb 12, 2008 2:22 pm

Re: yacy hängt mal wieder

Beitragvon DanielR » Fr Jul 04, 2008 11:41 am

Wenn das mit der alten Version tatsächlich stabil läuft muss es ja eine spezielle Änderung sein, die hier wirkt!? Merkwürdig

Edit: Oh, mein Peer hat heute Nacht auch OutOfMemory-Fehler :/
DanielR
 
Beiträge: 395
Registriert: Di Feb 12, 2008 2:22 pm

Re: yacy hängt mal wieder

Beitragvon m1k3ga » Fr Jul 04, 2008 2:16 pm

die frage iss dann halt: kann ich da was tun oder muss ich auf ne neue version von yacy warten, wo der fehler vielleicht behoben iss?
m1k3ga
 
Beiträge: 30
Registriert: Di Apr 29, 2008 5:23 pm

Re: yacy hängt mal wieder

Beitragvon mcmilk » Fr Jul 04, 2008 10:44 pm

Hallo,

mein peer, der silentbob, startet nun auch nicht mehr. (4,5GB zugewiesenem RAM und Raid0 mit 3 HDD's hatte ich ihm spendiert)
Ich werde yacy nun vorerst nicht mehr supporten und auch die Links von meiner HP herunternehmen. Solange es nicht stabil läuft, macht der Aufbau eines solchen Peer2Peer Netzwerkes einfach keinen Sinn.

Schade, ich hoffte man kann mit Yacy nach ca. 2 Jahren Laufzeit wirklich vernünftige Suchen durchführen, und google langsam vernachlässigen :(


mfg, Tino
mcmilk
 
Beiträge: 13
Registriert: Mo Jul 09, 2007 9:46 pm
Wohnort: Finsterwalde

Re: yacy hängt mal wieder

Beitragvon m1k3ga » Do Jul 10, 2008 11:18 am

Hab gestern eine neue Dev-Version getestet (0.592/04977).
Die lief 21h durch und gerade kam ich nicht mehr auf die admin oberfläche.
Anscheinend wurden vereinzelt noch Anfragen bearbeitet, aber extrem langsam.
Das yacy.log unter ~/DATA/LOG/ liefert massig exceptions, die hab ich anghängt.
Ein Thread dump übers webinterface war leider nicht möglich, hab keine antwort mehr bekommen.
und hatte den yacy nich mit "-l" laufen.

-- vmstat liefert:
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
42 0 32 30732 160 989300 0 0 153 149 6 24 8 0 91 1

-- top liefert:
top - 12:08:06 up 1 day, 18:29, 1 user, load average: 280.99, 266.28, 183.36
Tasks: 116 total, 1 running, 115 sleeping, 0 stopped, 0 zombie
Cpu(s): 8.0%us, 0.4%sy, 0.0%ni, 90.5%id, 1.0%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 4047416k total, 4012416k used, 35000k free, 160k buffers
Swap: 4194296k total, 32k used, 4194264k free, 985636k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
11919 yacy 20 0 3985m 2.8g 9852 S 792 71.3 553:06.63 java
13238 root 20 0 10604 1228 876 R 2 0.0 0:00.01 top
1 root 20 0 6132 676 560 S 0 0.0 0:05.75 init
2 root 15 -5 0 0 0 S 0 0.0 0:00.00 kthreadd


Auszug aus dem yacy.log

E 2008/07/10 11:56:22 CRAWLER CRAWLER Unexpected Error with URL 'http://it.wikipedia.org/wiki/1690': java.lang.NullPointerException
java.lang.NullPointerException
at de.anomic.plasma.plasmaHTCache.deleteFileandDirs(plasmaHTCache.java:398)
at de.anomic.plasma.plasmaHTCache.cleanupDoIt(plasmaHTCache.java:422)
at de.anomic.plasma.plasmaHTCache.cleanup(plasmaHTCache.java:449)
at de.anomic.plasma.plasmaHTCache.writeFileAnnouncement(plasmaHTCache.java:359)
at de.anomic.crawler.HTTPLoader.load(HTTPLoader.java:242)
at de.anomic.crawler.HTTPLoader.load(HTTPLoader.java:131)
at de.anomic.crawler.ProtocolLoader.load(ProtocolLoader.java:102)
at de.anomic.crawler.ProtocolLoader.process(ProtocolLoader.java:114)
at de.anomic.crawler.CrawlQueues$crawlWorker.run(CrawlQueues.java:531)
I 2008/07/10 11:56:22 LOCAL_SEARCH INIT WORD SEARCH: 206 peugeot:[fqvjoWSf-is_, n2z4LeuZKJ4U] - 6 links to be computed, 6 lines to be displayed
I 2008/07/10 11:56:22 HTCACHE DELETED OLD CACHE: /home/yacy/yacy/DATA/HTCACHE/http/other/de.wikipedia.org/hash/9e/67/9e674703f6bf6d86d1
E 2008/07/10 11:56:22 CRAWLER CRAWLER Unexpected Error with URL 'http://de.wikipedia.org/wiki/Mawashi-geri': java.lang.NullPointerException
java.lang.NullPointerException
at de.anomic.plasma.plasmaHTCache.deleteFileandDirs(plasmaHTCache.java:398)
at de.anomic.plasma.plasmaHTCache.cleanupDoIt(plasmaHTCache.java:422)
at de.anomic.plasma.plasmaHTCache.cleanup(plasmaHTCache.java:449)
at de.anomic.plasma.plasmaHTCache.writeFileAnnouncement(plasmaHTCache.java:359)
at de.anomic.crawler.HTTPLoader.load(HTTPLoader.java:242)
at de.anomic.crawler.HTTPLoader.load(HTTPLoader.java:131)
at de.anomic.crawler.ProtocolLoader.load(ProtocolLoader.java:102)
at de.anomic.crawler.ProtocolLoader.process(ProtocolLoader.java:114)
at de.anomic.crawler.CrawlQueues$crawlWorker.run(CrawlQueues.java:531)
I 2008/07/10 11:56:22 HTCACHE DELETED OLD CACHE: /home/yacy/yacy/DATA/HTCACHE/http/other/de.wikipedia.org/hash/e4/ea/e4ea997ff6bf6d86d1
I 2008/07/10 11:56:22 LOCAL_SEARCH INIT WORD SEARCH: turnkey business:[Mmr3pfZIHw-l, 9dfiUyzJrRa8] - 6 links to be computed, 6 lines to be displayed
I 2008/07/10 11:56:22 HTCACHE DELETED OLD CACHE: /home/yacy/yacy/DATA/HTCACHE/http/other/sk.wikipedia.org/hash/61/cc/61cc364767f05428d1
E 2008/07/10 11:56:22 CRAWLER CRAWLER Unexpected Error with URL 'http://tr.wikipedia.org/wiki/1690': java.lang.NullPointerException
java.lang.NullPointerException
at de.anomic.plasma.plasmaHTCache.deleteFileandDirs(plasmaHTCache.java:398)
at de.anomic.plasma.plasmaHTCache.cleanupDoIt(plasmaHTCache.java:422)
at de.anomic.plasma.plasmaHTCache.cleanup(plasmaHTCache.java:449)
at de.anomic.plasma.plasmaHTCache.writeFileAnnouncement(plasmaHTCache.java:359)
at de.anomic.crawler.HTTPLoader.load(HTTPLoader.java:242)
at de.anomic.crawler.HTTPLoader.load(HTTPLoader.java:131)
at de.anomic.crawler.ProtocolLoader.load(ProtocolLoader.java:102)
at de.anomic.crawler.ProtocolLoader.process(ProtocolLoader.java:114)
at de.anomic.crawler.CrawlQueues$crawlWorker.run(CrawlQueues.java:531)
I 2008/07/10 11:56:22 LOCAL_SEARCH INIT WORD SEARCH: lsk lueneburg:[WOsGd-SaSU9G, XbmWZvb0tkV5] - 6 links to be computed, 6 lines to be displayed
I 2008/07/10 11:56:22 HTCACHE DELETED OLD CACHE: /home/yacy/yacy/DATA/HTCACHE/http/other/el.wikipedia.org/hash/77/b6/77b61a62dca9dff591
E 2008/07/10 11:56:22 CRAWLER CRAWLER Unexpected Error with URL 'http://ar.wikipedia.org/wiki/1690': java.lang.NullPointerException
java.lang.NullPointerException
at de.anomic.plasma.plasmaHTCache.deleteFileandDirs(plasmaHTCache.java:398)
at de.anomic.plasma.plasmaHTCache.cleanupDoIt(plasmaHTCache.java:422)
at de.anomic.plasma.plasmaHTCache.cleanup(plasmaHTCache.java:449)
at de.anomic.plasma.plasmaHTCache.writeFileAnnouncement(plasmaHTCache.java:359)
at de.anomic.crawler.HTTPLoader.load(HTTPLoader.java:242)
at de.anomic.crawler.HTTPLoader.load(HTTPLoader.java:131)
at de.anomic.crawler.ProtocolLoader.load(ProtocolLoader.java:102)
at de.anomic.crawler.ProtocolLoader.process(ProtocolLoader.java:114)
at de.anomic.crawler.CrawlQueues$crawlWorker.run(CrawlQueues.java:531)
I 2008/07/10 11:56:22 LOCAL_SEARCH INIT WORD SEARCH: leksand sommarland:[UXisfztuGu4R, -fmUX25FsDBU] - 6 links to be computed, 6 lines to be displayed
I 2008/07/10 11:56:22 HTCACHE DELETED OLD CACHE: /home/yacy/yacy/DATA/HTCACHE/http/other/de.wikipedia.org/hash/a1/d5/a1d54813f6bf6d86d1
E 2008/07/10 11:56:22 CRAWLER CRAWLER Unexpected Error with URL 'http://nl.wikipedia.org/wiki/Wereldkampioenschap_Handbal_Mannen': java.lang.NullPointerException
java.lang.NullPointerException
at de.anomic.plasma.plasmaHTCache.deleteFileandDirs(plasmaHTCache.java:398)
at de.anomic.plasma.plasmaHTCache.cleanupDoIt(plasmaHTCache.java:422)
at de.anomic.plasma.plasmaHTCache.cleanup(plasmaHTCache.java:449)
at de.anomic.plasma.plasmaHTCache.writeFileAnnouncement(plasmaHTCache.java:359)
at de.anomic.crawler.HTTPLoader.load(HTTPLoader.java:242)
at de.anomic.crawler.HTTPLoader.load(HTTPLoader.java:131)
at de.anomic.crawler.ProtocolLoader.load(ProtocolLoader.java:102)
at de.anomic.crawler.ProtocolLoader.process(ProtocolLoader.java:114)
at de.anomic.crawler.CrawlQueues$crawlWorker.run(CrawlQueues.java:531)
I 2008/07/10 11:56:22 HTCACHE DELETED OLD CACHE: /home/yacy/yacy/DATA/HTCACHE/http/other/sk.wikipedia.org/hash/32/45/3245c1f767f05428d1
I 2008/07/10 11:56:22 HTCACHE DELETED OLD CACHE: /home/yacy/yacy/DATA/HTCACHE/http/other/en.wikipedia.org/hash/90/8f/908f203bfaf0b5d7d1
I 2008/07/10 11:56:22 LOCAL_SEARCH INIT WORD SEARCH: law firms in san diego:[B4wAe9kt3sMI, E7W_6W8-L-QR, Zvao8VXjLpgK, gppWzI_6ViCe, n1pEpzSsnkO1] - 6 linksto be computed, 6 lines to be displayed
I 2008/07/10 11:56:22 HTCACHE DELETED OLD CACHE: /home/yacy/yacy/DATA/HTCACHE/http/other/de.wikipedia.org/hash/0a/df/0adf2e93f6bf6d86d1
E 2008/07/10 11:56:22 CRAWLER CRAWLER Unexpected Error with URL 'http://nl.wikipedia.org/wiki/1690': java.lang.NullPointerException
java.lang.NullPointerException
at de.anomic.plasma.plasmaHTCache.deleteFileandDirs(plasmaHTCache.java:398)
at de.anomic.plasma.plasmaHTCache.cleanupDoIt(plasmaHTCache.java:422)
at de.anomic.plasma.plasmaHTCache.cleanup(plasmaHTCache.java:449)
at de.anomic.plasma.plasmaHTCache.writeFileAnnouncement(plasmaHTCache.java:359)
at de.anomic.crawler.HTTPLoader.load(HTTPLoader.java:242)
at de.anomic.crawler.HTTPLoader.load(HTTPLoader.java:131)
at de.anomic.crawler.ProtocolLoader.load(ProtocolLoader.java:102)
at de.anomic.crawler.ProtocolLoader.process(ProtocolLoader.java:114)
at de.anomic.crawler.CrawlQueues$crawlWorker.run(CrawlQueues.java:531)
I 2008/07/10 11:56:22 HTCACHE DELETED OLD CACHE: /home/yacy/yacy/DATA/HTCACHE/http/other/en.wikipedia.org/hash/23/84/2384978bfaf0b5d7d1
E 2008/07/10 11:56:22 CRAWLER CRAWLER Unexpected Error with URL 'http://sr.wikipedia.org/wiki/1690': java.lang.NullPointerException
java.lang.NullPointerException
at de.anomic.plasma.plasmaHTCache.deleteFileandDirs(plasmaHTCache.java:398)
at de.anomic.plasma.plasmaHTCache.cleanupDoIt(plasmaHTCache.java:422)
at de.anomic.plasma.plasmaHTCache.cleanup(plasmaHTCache.java:449)
at de.anomic.plasma.plasmaHTCache.writeFileAnnouncement(plasmaHTCache.java:359)
at de.anomic.crawler.HTTPLoader.load(HTTPLoader.java:242)
at de.anomic.crawler.HTTPLoader.load(HTTPLoader.java:131)
at de.anomic.crawler.ProtocolLoader.load(ProtocolLoader.java:102)
at de.anomic.crawler.ProtocolLoader.process(ProtocolLoader.java:114)
at de.anomic.crawler.CrawlQueues$crawlWorker.run(CrawlQueues.java:531)
I 2008/07/10 11:56:22 LOCAL_SEARCH INIT WORD SEARCH: find jobs in framingham:[E7W_6W8-L-QR, J6Bqnj1ef2fr, 1Mqm_ptI1PVn, 6hcOLK-xM3dV] - 6 links to be computed, 6 lines to be displayed
I 2008/07/10 11:56:22 LOCAL_SEARCH INIT WORD SEARCH: h?bergement:[zjOz2XGwweQf] - 6 links to be computed, 6 lines to be displayed
D 2008/07/10 11:56:26 CRAWLER LOCALCRAWL: URL=http://de.wikipedia.org/wiki/Spezial:Alle_Seiten/HDF-N, initiator=H86dwDBAfh4L, crawlOrder=true, depth=2, crawlDepth=3, filter=.*, permission=false
I 2008/07/10 11:56:26 CRAWLER LOCALCRAWL[108215, 0, 0, 0]: enqueued for load http://de.wikipedia.org/wiki/Spezial:Alle_Seiten/HDF-N [mDCbf_a_bYbR]
D 2008/07/10 11:56:26 CRAWLER LOCALCRAWL: URL=http://pl.wikipedia.org/wiki/29_III, initiator=H86dwDBAfh4L, crawlOrder=true, depth=3, crawlDepth=3, filter=.*, permission=false
I 2008/07/10 11:56:26 CRAWLER LOCALCRAWL[108214, 0, 0, 0]: enqueued for load http://pl.wikipedia.org/wiki/29_III [i09vs1oEaihR]
D 2008/07/10 11:56:26 CRAWLER LOCALCRAWL: URL=http://tr.wikipedia.org/wiki/Vikipedi:Okul_projeleri, initiator=H86dwDBAfh4L, crawlOrder=true, depth=3, crawlDepth=3, filter=.*, permission=false
I 2008/07/10 11:56:26 CRAWLER LOCALCRAWL[108213, 0, 0, 0]: enqueued for load http://tr.wikipedia.org/wiki/Vikipedi:Okul_projeleri [TtQRIeatQDzR]
E 2008/07/10 11:56:26 CRAWLER CRAWLER Unexpected Error with URL 'http://tr.wikipedia.org/wiki/Vikipedi:Okul_projeleri': java.net.SocketException: Too many open files
java.net.SocketException: Too many open files
at java.net.Socket.createImpl(Socket.java:388)
at java.net.Socket.<init>(Socket.java:362)
at java.net.Socket.<init>(Socket.java:240)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)
at org.apache.commons.httpclient.protocol.ControllerThreadSocketFactory$1.doit(ControllerThreadSocketFactory.java:91)
at org.apache.commons.httpclient.protocol.ControllerThreadSocketFactory$SocketTask.run(ControllerThreadSocketFactory.java:158)
at java.lang.Thread.run(Thread.java:619)

java.net.SocketException: Too many open files
at java.net.Socket.createImpl(Socket.java:388)
at java.net.Socket.<init>(Socket.java:362)
at java.net.Socket.<init>(Socket.java:240)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)
at org.apache.commons.httpclient.protocol.ControllerThreadSocketFactory$1.doit(ControllerThreadSocketFactory.java:91)
at org.apache.commons.httpclient.protocol.ControllerThreadSocketFactory$SocketTask.run(ControllerThreadSocketFactory.java:158)
at java.lang.Thread.run(Thread.java:619)
E 2008/07/10 11:58:44 CRAWLER CRAWLER Unexpected Error with URL 'http://ru.wikipedia.org/wiki/1690_%D0%B3%D0%BE%D0%B4': java.net.SocketException: Too many open files
java.net.SocketException: Too many open files
at java.net.Socket.createImpl(Socket.java:388)
at java.net.Socket.<init>(Socket.java:362)
at java.net.Socket.<init>(Socket.java:240)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)
at org.apache.commons.httpclient.protocol.ControllerThreadSocketFactory$1.doit(ControllerThreadSocketFactory.java:91)
at org.apache.commons.httpclient.protocol.ControllerThreadSocketFactory$SocketTask.run(ControllerThreadSocketFactory.java:158)
at java.lang.Thread.run(Thread.java:619)
m1k3ga
 
Beiträge: 30
Registriert: Di Apr 29, 2008 5:23 pm

Re: yacy hängt mal wieder

Beitragvon Orbiter » Do Jul 10, 2008 11:06 pm

du hast 2 verschiedene Arten von Fehlern im Log:
1) null pointer exception in HTCACHE
2) zu viele offene Verbindungen.

ich weiss bei beiden Fällen nicht wo das her kommen kann, aber für 1) habe ich einen Patch: SVN 4981
bei 2) bin ich ein wenig ratlos.
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: yacy hängt mal wieder

Beitragvon m1k3ga » Fr Jul 11, 2008 8:09 am

>1) null pointer exception in HTCACHE
> Patch: SVN 4981
das ist doch mal ne aussage ;-)
dann werd ich die version heute mal installieren.

>2) zu viele offene Verbindungen.
da habe ich mir gestern auch mal angesehen.
der service, der den yacy anfragt, macht dies über ein java.net.URL objekt, das bei openConnection() ein HTTPUrlConnection objekt zurück gibt.
diese verbindung ist offen geblieben, obwohl das objekt nicht mehr existierte.
Ich habe da jetzt ein explizites disconnect() eingebaut, und mal schauen, ob das hilft.
Yacy läuft jetzt seit 20h und die anzahl der offenen verbindungen (mit netstat -nt) liegt im bereich bis zu 10.
Ich werde das weiter beobachten.
m1k3ga
 
Beiträge: 30
Registriert: Di Apr 29, 2008 5:23 pm

Re: yacy hängt mal wieder

Beitragvon Orbiter » Fr Jul 11, 2008 8:18 am

m1k3ga hat geschrieben:der service, der den yacy anfragt, macht dies über ein java.net.URL objekt, das bei openConnection() ein HTTPUrlConnection objekt zurück gibt.
diese verbindung ist offen geblieben, obwohl das objekt nicht mehr existierte.
Ich habe da jetzt ein explizites disconnect() eingebaut

oha, kannst du dafür ein diff posten bitte?
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: yacy hängt mal wieder

Beitragvon m1k3ga » Fr Jul 11, 2008 9:32 am

>Ich habe da jetzt ein explizites disconnect() eingebaut[/quote]
>oha, kannst du dafür ein diff posten bitte?
das ist nicht im yacy selbst, sondern in dem externen java service, der yacy per REST aufruft.

Die Auswirkung bisher war, daß per netstat -nt die Anzahl an offenen TCP Verbindungen ständig angewachsen ist,
obwohl von Seiten meines Services die Objekte schon längst nicht mehr existierten.
Auf beiden Kisten (Tomcat-Service, Yacy) waren die offenen TCP-Verbindungen mehrere hundert mit steigender Tendenz, bis yacy keine Anfragen mehr beantwortete. Die Tomcat-Kiste hat das nicht gekümmert, warum auch immer.

Die Frage iss, ob im yacy auch so ne Stelle existiert, wo nach nem definierten Timeout die TCP Verbindung terminiert wird, weil nicht mehr erwartet wird, daß da noch Daten rüber gehen?!?
m1k3ga
 
Beiträge: 30
Registriert: Di Apr 29, 2008 5:23 pm

Re: yacy hängt mal wieder

Beitragvon Orbiter » Fr Jul 11, 2008 9:22 pm

in
http://localhost:8080/Connections_p.html
findest du unter 'Outgoing Connections' eine Liste der http-client Verbindungen von YaCy.

@Daniel: mit der Liste stimmt irgendwas nicht, da steht das viel mehr Verbindungen offen sind als angezeigt werden. Warum werden die nicht angezeigt? Werden die wieder nach Timeout automatisch geschlossen? ich habe den Eindruck das diese vielen Verbindungen lange nach den typischen 10 Sekunden time-out die wir haben noch offen sind.
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: yacy hängt mal wieder

Beitragvon DanielR » Sa Jul 12, 2008 10:55 am

Orbiter hat geschrieben:ich habe den Eindruck das diese vielen Verbindungen lange nach den typischen 10 Sekunden time-out die wir haben noch offen sind.

Sind die tatsächlich "noch offen" oder nur angezeigt!? Das Problem ist nämlich das synchron zu kriegen! Habe ja extra nen CleanUp eingebaut der alte Infos raushauen soll, aber so richtig 1:1 funktioniert das nicht. Das Problem ist halt, das "unerwartetes Beenden" sich nicht leicht abfangen lässt.

Aber wenn ich m1k3ga richtig verstanden habe, sind es eingehende Verbindungen, da ein Tool YaCy abfragt?!
DanielR
 
Beiträge: 395
Registriert: Di Feb 12, 2008 2:22 pm

Re: yacy hängt mal wieder

Beitragvon m1k3ga » Mo Jul 14, 2008 10:53 am

>ich habe den Eindruck das diese vielen Verbindungen lange nach den typischen 10 Sekunden time-out die wir haben noch offen sind.
Gibt es da einen automatischen Verbindungsabbruch?

>Aber wenn ich m1k3ga richtig verstanden habe, sind es eingehende Verbindungen, da ein Tool YaCy abfragt
Ja, das ist ein Tomcat-Service, der den yacy anfragt und die antworten weiter verarbeitet.
Der Yacy in Version (0.592/04988) lieferte gestern dennoch keine Antworten mehr aus.
Per netstat -nt erhielt ich dann wieder hunderte (!) von noch offenen bzw. zu schließenden Verbindungen (die nicht geschlossen wurden).
Der Tomcat Service schließt jetzt explizit nach 1,3sek die Verbindung per HttpUrlConnection->disconnect().

Wo finde ich das denn im Yacy? dann kann ich mir das auch mal anssehen, vielleicht komm ich dann ja ma da rein ;-)
m1k3ga
 
Beiträge: 30
Registriert: Di Apr 29, 2008 5:23 pm

Re: yacy hängt mal wieder

Beitragvon Orbiter » So Jul 20, 2008 12:36 am

@m1k3ga: gucke mal in http://localhost:8080/Connections_p.html

DanielR hat geschrieben:Habe ja extra nen CleanUp eingebaut der alte Infos raushauen soll, aber so richtig 1:1 funktioniert das nicht. Das Problem ist halt, das "unerwartetes Beenden" sich nicht leicht abfangen lässt.

Gibt es keine Möglichkeit herauszufinden ob der Socket noch offen ist?
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: yacy hängt mal wieder

Beitragvon DanielR » So Jul 20, 2008 7:37 am

Orbiter hat geschrieben:Gibt es keine Möglichkeit herauszufinden ob der Socket noch offen ist?

Nein, da die Sockets in der Jakarta-Lib gekapselt sind. Zusätzlich wird ja ein Pool vorgehalten von wiederbenutzbaren Sockets. Evtl. könnte man da etwas reinpatchen, ist ja OpenSource ;)
DanielR
 
Beiträge: 395
Registriert: Di Feb 12, 2008 2:22 pm

Re: yacy hängt mal wieder

Beitragvon lulabad » Mo Dez 22, 2008 9:52 pm

Ich hab jetzt auch mal dieses Problem gehabt
Code: Alles auswählen
W 2008/12/22 21:47:41 FILEHANDLER Unexpected error while processing query.
Session: Session_127.0.0.1:35688#0
Query:   /env/grafics/good.png
Client:  localhost
Reason:  java.io.FileNotFoundException: /home/afieg/yacy/htroot/env/grafics/good.png (Too many open files)
java.io.FileNotFoundException: /home/afieg/yacy/htroot/env/grafics/good.png (Too many open files)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(Unknown Source)
        at de.anomic.server.serverFileUtils.copyRange(serverFileUtils.java:186)
        at de.anomic.http.httpdFileHandler.doResponse(httpdFileHandler.java:842)
        at de.anomic.http.httpdFileHandler.doGet(httpdFileHandler.java:243)
        at de.anomic.http.httpd.GET(httpd.java:487)
        at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at de.anomic.server.serverCore$Session.listen(serverCore.java:762)
        at de.anomic.server.serverCore$Session.run(serverCore.java:626)
W 2008/12/22 21:47:41 FILEHANDLER Unexpected error while processing query.
Session: Session_127.0.0.1:35689#0
Query:   /js/rss2.js
Client:  localhost
Reason:  java.io.FileNotFoundException: /home/afieg/yacy/htroot/js/rss2.js (Too many open files)
java.io.FileNotFoundException: /home/afieg/yacy/htroot/js/rss2.js (Too many open files)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(Unknown Source)
        at de.anomic.server.serverFileUtils.copyRange(serverFileUtils.java:186)
        at de.anomic.http.httpdFileHandler.doResponse(httpdFileHandler.java:842)
        at de.anomic.http.httpdFileHandler.doGet(httpdFileHandler.java:243)
        at de.anomic.http.httpd.GET(httpd.java:487)
        at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at de.anomic.server.serverCore$Session.listen(serverCore.java:762)
        at de.anomic.server.serverCore$Session.run(serverCore.java:626)
W 2008/12/22 21:47:41 FILEHANDLER Unexpected error while processing query.
Session: Session_127.0.0.1:35690#0
Query:   /js/query.js
Client:  localhost
Reason:  java.io.FileNotFoundException: /home/afieg/yacy/htroot/js/query.js (Too many open files)
java.io.FileNotFoundException: /home/afieg/yacy/htroot/js/query.js (Too many open files)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(Unknown Source)
        at de.anomic.server.serverFileUtils.copyRange(serverFileUtils.java:186)
        at de.anomic.http.httpdFileHandler.doResponse(httpdFileHandler.java:842)
        at de.anomic.http.httpdFileHandler.doGet(httpdFileHandler.java:243)
        at de.anomic.http.httpd.GET(httpd.java:487)
        at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at de.anomic.server.serverCore$Session.listen(serverCore.java:762)
        at de.anomic.server.serverCore$Session.run(serverCore.java:626)


Leider hab ich jetzt nicht nachgeschaut wie viele Verbindungen offen waren. Yacy selber konnte ich nur noch abschiessen, da die Weboberfläche nicht mehr ging.
SVN 5406
lulabad
 
Beiträge: 709
Registriert: Mi Jun 27, 2007 11:40 am
Wohnort: Im Herzen Bayerns


Zurück zu Fragen und Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast