[o11y] Fix segfault with tail worker self loop#3439
Conversation
To detect the main worker having a self loop, we need to compare the current WorkerService with the WorkerService corresponding to the tail worker. If service refers to an EntrypointService, that means we have to compare to the underlying worker instead.
|
Can we add a test? |
Testing streaming tail worker is not really amenable to the testing framework we have in workerd (i.e. |
Sadly the downstream test environment is unable to test the specific modified file. Perhaps we need to add some testing infrastructure to workerd. |
To detect the main worker having a self loop, we need to compare the current WorkerService with the WorkerService corresponding to the tail worker. If service refers to an EntrypointService, that means we have to compare to the underlying worker instead.
As reported by @penalosa. Tracked this down together with @jmorrell.