Sectionsd-> "Broken Pipe" Fehler ??

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
kroki
Einsteiger
Einsteiger
Beiträge: 166
Registriert: Dienstag 22. Juni 2004, 22:12

Sectionsd-> "Broken Pipe" Fehler ??

Beitrag von kroki »

Hi all,

mir ist im Log immer wieder ein Fehler beim zappen aufgefallen:

Code: Alles auswählen

[basicsocket] send_data: Broken pipe
Hab das jetzt mal versucht zu debuggen, liegt in der sectionsd.cpp :

Code: Alles auswählen

static void commandserviceChanged(int connfd, char *data, const unsigned dataLength)
.
.
.
.
        if (debug)
                showProfiling("[sectionsd] commandserviceChanged: after doWakeup");

        struct sectionsd::msgResponseHeader msgResponse;
        msgResponse.dataLength = 0;
        writeNbytes(connfd, (const char *)&msgResponse, sizeof(msgResponse), WRITE_TIMEOUT_IN_SECONDS);

        return ;
}

Wenn ich die letzten Zeilen rausnehme ist der Fehler weg. Habe auch noch keine Problem hierdurch festgestellt. Kann sich das mal jemand anschauen, was da quer läuft .... ich kann so nichts feststellen.

cu Kroki
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Beitrag von seife »

Du behebst das Symptom, nicht die Ursache.
Das Locking im sectionsd ist ziemlich "unglücklich" (z.B. ist es keine gute Idee, den start-stop Lock zu halten, während man bis zu einer halben Sekunde blockt). Überarbeite das und dein Problem ist weg.

Welche Revision vom Sectionsd? Welche Kernel-Version?
kroki
Einsteiger
Einsteiger
Beiträge: 166
Registriert: Dienstag 22. Juni 2004, 22:12

Beitrag von kroki »

Hi seife,

ich benutze das aktuelle Head mit kernel 2.4.35.5.

kroki
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Beitrag von seife »

Ok, also sectionsd.cpp v1.256. Da sollte es evtl. etwas besser sein, als noch vor einiger Zeit, aber gefixt ist das halt noch lange nicht...