It is possible to panic the controller somehow when hammering ftl dev with a very high rate of verb calls for over a minute. I managed to hit this while sending 1 request every 10 ms and have not yet been able to reproduce it.
In case the controller code changes significantly from my local version as I hit this, here's a reference to the lines in the above call stack:
ftl/backend/controller/controller.go:745:
func (s *Service) Call(ctx context.Context, req *connect.Request[ftlv1.CallRequest]) (*connect.Response[ftlv1.CallResponse], \
error) {
return s.callWithRequest(ctx, req, optional.None[model.RequestKey](), "") // this line right here!
}
ftl/backend/controller/controller.go:930:
response, err := client.verb.Call(ctx, req)
resp := connect.NewResponse(response.Msg) // this line right here
var maybeResponse optional.Option[*ftlv1.CallResponse]
if resp != nil {
maybeResponse = optional.Some(resp.Msg)
}
s.recordCall(ctx, &Call{
It is possible to panic the controller somehow when hammering
ftl dev
with a very high rate of verb calls for over a minute. I managed to hit this while sending 1 request every 10 ms and have not yet been able to reproduce it.In case the controller code changes significantly from my local version as I hit this, here's a reference to the lines in the above call stack:
ftl/backend/controller/controller.go:745
:ftl/backend/controller/controller.go:930
: