Hi,

This looks like a bug in the code.

 - Does this failure happen consistently ?
 - Could you give more details on your test that is causing this? (would be
ideal if I can create something similar)

Also, would it be possible for you to rerun your tests by replacing the
assert with the following log line ?
(I am interested in seeing what is the state the root and root->next
workers are)

     if (next_worker->state != KICKED) {
gpr_log(GPR_ERROR, "root: %p (%d), next: %p (%d)", root_worker,
root_worker->state, next_worker, next_worker->state); }
thanks,
Sree


On Mon, Jan 8, 2018 at 4:51 PM, <cau...@gmail.com> wrote:

> Hi,
>
> We are trying to upgrade to grpc 1.8.3 from 1.6 and seeing an issue with
> one of our internal tests that works in 1.6 but fails in 1.8.3, where we're
> seeing a bunch of these message:
>
> E0108 23:10:24.009205427   68294 ev_epoll1_linux.cc:1098]    assertion 
> failed: next_worker->state == KICKED
> E0108 23:10:24.011880853   68330 ev_epoll1_linux.cc:1098]    assertion 
> failed: next_worker->state == KICKED
> E0108 23:10:24.011978910   68369 ev_epoll1_linux.cc:1098]    assertion 
> failed: next_worker->state == KICKED
>
>
> Looking at the code in branch 1.8.x [1], I see these two lines:
>
>
> 1098:  GPR_ASSERT(next_worker->state == KICKED);
>
> 1099:  SET_KICK_STATE(next_worker, KICKED);
>
>
> I'm curious why the code is asserting X right before it's making X true? It 
> makes me look further and I see:
>
> 1044  } else if (next_worker->state == KICKED) {
>
>         ...
>
>         goto done;
>       ...
> 1063  } else if (next_worker->state == UNKICKED) {
>
>         ...
>
>         goto done;
>
>       ...
>
> 1072  } else if (next_worker->state == DESIGNATED_POLLER) {
>
>         ...
>
>         goto done;
>
>       } else {
>
> 1098    GPR_ASSERT(next_worker->state == KICKED);
>
>
> that seems to be a bug somewhere, since if we reach line 1098, then
> next_worker->state cannot be KICKED?
>
> Ideas?
>
> Thanks!
>
> [1] https://github.com/grpc/grpc/blob/v1.8.x/src/core/lib/
> iomgr/ev_epoll1_linux.cc
>
> --
> You received this message because you are subscribed to the Google Groups "
> grpc.io" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to grpc-io+unsubscr...@googlegroups.com.
> To post to this group, send email to grpc-io@googlegroups.com.
> Visit this group at https://groups.google.com/group/grpc-io.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/grpc-io/11b1743c-1f45-4f6c-b983-64559b36d040%40googlegroups.com
> <https://groups.google.com/d/msgid/grpc-io/11b1743c-1f45-4f6c-b983-64559b36d040%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to grpc-io+unsubscr...@googlegroups.com.
To post to this group, send email to grpc-io@googlegroups.com.
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/CALRi9Qd5PAm8tZzNFBZHXtaUe99by2uEoQsKawEZYSKJAm71zA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to