Re: cosd multi-second stalls cause "wrongly marked me down"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Colin,

On Thu, 2011-03-03 at 14:53 -0700, Colin McCabe wrote:
> Oh, SIGPIPE, my old nemesis. I should have guessed!
> 
> I think it's time to block SIGPIPE everywhere... It's much better to
> get EPIPE than to use a signal handler for this.

I saw your commit d1fce13f9855.

It seems like a41865e323 can be reverted, and
everything should work correctly?

-- Jim

> 
> regards,
> Colin
> 
> 
> On Thu, Mar 3, 2011 at 12:55 PM, Yehuda Sadeh Weinraub
> <yehudasa@xxxxxxxxx> wrote:
> > On Thu, Mar 3, 2011 at 12:47 PM, Jim Schutt <jaschut@xxxxxxxxxx> wrote:
> >> Has something maybe changed in signal handling recently?
> >>
> >> Maybe SIGPIPE used to be blocked, and sendmsg() would
> >> return -EPIPE, but now it's not blocked and not handled?
> >>
> >> This bit in linux-2.6.git/net/core/stream.c is what made
> >> me wonder, but maybe it's a red herring:
> >>
> >> int sk_stream_error(struct sock *sk, int flags, int err)
> >> {
> >>        if (err == -EPIPE)
> >>                err = sock_error(sk) ? : -EPIPE;
> >>        if (err == -EPIPE && !(flags & MSG_NOSIGNAL))
> >>                send_sig(SIGPIPE, current, 0);
> >>        return err;
> >> }
> >
> > It was actually just changed at
> > 35c4a9ffeadfe202b247c8e23719518a874f54e6, so if you're on latest
> > master then it might be it. You can try reverting that commit, or can
> > try this:
> >
> > index da22c7c..6f746d4 100644
> > --- a/src/msg/SimpleMessenger.cc
> > +++ b/src/msg/SimpleMessenger.cc
> > @@ -1991,7 +1991,7 @@ int SimpleMessenger::Pipe::do_sendmsg(int sd,
> > struct msghdr *msg, int len, bool
> >       assert(l == len);
> >     }
> >
> > -    int r = ::sendmsg(sd, msg, more ? MSG_MORE : 0);
> > +    int r = ::sendmsg(sd, msg, MSG_NOSIGNAL | (more ? MSG_MORE : 0));
> >     if (r == 0)
> >       dout(10) << "do_sendmsg hmm do_sendmsg got r==0!" << dendl;
> >     if (r < 0) {
> >
> >
> > Yehuda
> >>
> >> -- Jim
> >>
> >>
> >>
> >> --
> >> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> >> the body of a message to majordomo@xxxxxxxxxxxxxxx
> >> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >>
> >
> 


--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux