INN 2.5.4 strange crash

Petr Novopashenniy pety at rusnet.ru
Tue Feb 3 13:21:17 UTC 2015



On Tue, 3 Feb 2015, Julien ?LIE wrote:

J?? Hi Petr,
J?? 
J?? > > However, I am still puzzled as for the origin of the error.
J?? > > innfeed-neva2! is removed from sleeping (SCHANremove just before that
J?? > > log)
J?? > > but is still considered to be sleeping the next run of the loop (and
J?? > > again
J?? > > without Waker...).
J?? > 
J?? > I saw "blocked sleeping" before (for my two channels, innfeed-neva1 and
J?? > innfeed-neva2 at varios times), but not in the time of crash.
J?? 
J?? They do not seem related then.
J?? 
J?? 
J?? I do not see what a proper fix would be for that annoying crash.
J?? As the state of the channel is not the one it should be, and appears to be
J?? unusable even after removing its sleeping state, I suggest to just close it.
J?? 
J?? Could you please change in chan.c:
J?? 
J??                     if (cp->Waker != NULL) {
J??                         (*cp->Waker)(cp);
J??                     } else {
J??                         warn("%s %d sleeping without Waker", CHANname(cp),
J?? fd);
J??                     }
J?? 
J?? to:
J?? 
J??                     if (cp->Waker != NULL) {
J??                         (*cp->Waker)(cp);
J??                     } else {
J??                         name = CHANname(cp);
J??                         warn("%s %d sleeping without Waker", name, fd);
J??                         SITEchanclose(cp);
J??                         CHANclose(cp, name);
J??                     }
J?? 
J?? and tell us if it works better?
J?? I hope you will see "%s %d sleeping without Waker" only once, then the
J?? channel
J?? closes properly and reopens fine a bit later.
J?? 
J?? When you have such logs, please paste them so as to check the closing is
J?? fine.

Ok, I apply this patch, and waiting results now..

Thanks, Julien!

--pety


More information about the inn-workers mailing list