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.