[Allegro] avanti(linux) too many ci_open()s failed in avanti.c, line 542

Klaus Lehmann lehmann_klaus at t-online.de
Mi Jan 4 16:27:04 CET 2012


Guten Tag [Frau/Herr] Thomas Berger,
danke für Ihre Nachricht.
Am Mittwoch, 4. Januar 2012 um 15:10 schrieben Sie mir.
Ihre Nachricht finden Sie am Ende dieser eMail.

> Am 04.01.2012 13:43, schrieb Klaus Lehmann:

ok. ok. vielleicht haben wir endlich einen ansatz.
bin sicher, die kollegen fischer und oberfell interessieren sich auf 
für das thema. scheinen aber auf den ski'ern derzeit zu sein ;-)


>> habe gerade die o.g. anfrage mal life ausprobiert.
>> der browser hat lange, sehr lange überlegt. eine fehlermeldung habe 
>> ich auch nach einer minute nicht bekommen.
>> in den logs des servers ist NICHTS vermerkt (ausser der wenig sinnige 
>> zugriff). 
>> möchte behaupten: DAS war NICHT der auslöser für den avanti-teilabsturz.

> Ich sehe darin im Gegenteil einen Beweis dafuer:

> Offensichtlich wartet der Browser, allerdings waere zu pruefen,
> ob page.php ebenfalls wartet oder sich mit antwortlos bereits
> aus dem Spiel herausgeschmuggelt hat (aber haette Apache
> nicht dementsprechend einen Verbindungsabbruch an den Client
> gemeldet?). Egal ob warten oder Zero-sized-reply, beides ist
> wohl fuer so eine einfache Anfrag nicht vorgesehen, und
> verantwortlich ist avanti, wobei auch da wiederum der
> avanti-Serverprozess, der avanti-Slave-Prozess und acon
> separate Mitspieler sind: Irgendeiner davon rechnet entweder
> endlos und/oder wartet auf eine untergeordnete Komponente,
> die entweder selber endlos rechnet oder unbemerkt gestorben
> ist.

vorschlag: OK!

kann man dann nicht eine art "timeout" einbauen, der solche endloswartenden 
oder sagen wir: maximal_nicht_länger_als_1-minute_wartendenen prozesse 
killt?
natürlich in der con(f) einstellbar. ich kann mir durchaus situationen 
vorstellen, wo avanti oder acon (acon ist es wohl) doch viele minuten 
bewusst warten sollen!....?

ich weiss, daß apache sowas kann: irgendwo stand in (welchen?) logs:
apache beendete einen "long waiting" prozess. oder so.

korrekt hiess es so:
[Mon Dec 05 11:45:42 2011] [warn] long lost child came home! (pid 4441)
muss hinzufügen: nach dem neustart des apache2 kam das:
[Mon Dec 05 11:45:42 2011] [notice] Apache/2.2.17 (Linux/SUSE) mod_ssl/2.2.17 OpenSSL/1.0.0c mod_perl/2.0.4 Perl/v5.12.3 configured -- resuming normal operations
[Mon Dec 05 11:45:42 2011] [warn] long lost child came home! (pid 4428)
[Mon Dec 05 11:45:42 2011] [warn] long lost child came home! (pid 4429)
[Mon Dec 05 11:45:42 2011] [warn] long lost child came home! (pid 4430)
[Mon Dec 05 11:45:42 2011] [warn] long lost child came home! (pid 4431)
[Mon Dec 05 11:45:42 2011] [warn] long lost child came home! (pid 4432)
[Mon Dec 05 11:45:42 2011] [warn] long lost child came home! (pid 4433)
[Mon Dec 05 11:45:42 2011] [warn] long lost child came home! (pid 4434)
[Mon Dec 05 11:45:42 2011] [warn] long lost child came home! (pid 4435)         
(wunschdenken?)


> Das urspruengliche Fehlerbild (avanti kann keine weiteren Slave-
> Prozesse kreieren?) kann schnell entstehen, wenn einzelne Requests
> nicht mehr Bruchteile von Sekunden, sondern mehrere Minuten
> aktiv sind...

das muss/kann ein neues verhalten sein. denn beim alten (2 jahre 
alten?!) habe ich es nicht beobachtet.....

gruß k.l.


> viele Gruesse
> Thomas Berger




-- 
Mit freundlichen Grüßen,
Ihr Klaus Lehmann
* http://allegronet.de * eMail: allegronet at t-online.de * phone: 03528-452 807(fax 809) * mobil: 0171-953 7843
* allegronet.de * Klaus Lehmann * D-01454 Radeberg * Kleinwolmsdorfer Str. 37
* Software für zufriedene Bibliothekare: 1000x bewaehrt und ergiebig
* Bereits 4x allegro-utf8. Buchen Sie die allegro-Roadshow
* Yes we can. Only with allegro. Yes we do. Allways with allegro.
* Internetkataloge&WebHosting für Allegro-C
* 2011: Sponsor der Peter-Sodann-Bibliothek (Staucha)





Am Mittwoch, 4. Januar 2012 um 15:10 schrieben Sie:
> Am 04.01.2012 13:43, schrieb Klaus Lehmann:

>> habe gerade die o.g. anfrage mal life ausprobiert.
>> der browser hat lange, sehr lange überlegt. eine fehlermeldung habe 
>> ich auch nach einer minute nicht bekommen.
>> in den logs des servers ist NICHTS vermerkt (ausser der wenig sinnige 
>> zugriff). 
>> möchte behaupten: DAS war NICHT der auslöser für den avanti-teilabsturz.

> Ich sehe darin im Gegenteil einen Beweis dafuer:

> Offensichtlich wartet der Browser, allerdings waere zu pruefen,
> ob page.php ebenfalls wartet oder sich mit antwortlos bereits
> aus dem Spiel herausgeschmuggelt hat (aber haette Apache
> nicht dementsprechend einen Verbindungsabbruch an den Client
> gemeldet?). Egal ob warten oder Zero-sized-reply, beides ist
> wohl fuer so eine einfache Anfrag nicht vorgesehen, und
> verantwortlich ist avanti, wobei auch da wiederum der
> avanti-Serverprozess, der avanti-Slave-Prozess und acon
> separate Mitspieler sind: Irgendeiner davon rechnet entweder
> endlos und/oder wartet auf eine untergeordnete Komponente,
> die entweder selber endlos rechnet oder unbemerkt gestorben
> ist.

> Das urspruengliche Fehlerbild (avanti kann keine weiteren Slave-
> Prozesse kreieren?) kann schnell entstehen, wenn einzelne Requests
> nicht mehr Bruchteile von Sekunden, sondern mehrere Minuten
> aktiv sind...

> viele Gruesse
> Thomas Berger




Mehr Informationen über die Mailingliste Allegro