-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Heal segfaults on slow expired endpoints #534
Comments
Good catch! |
That's a very weird place to hit a panic of that sort, as thats: _, err := (*f.onHeal).Request(ctx, request, opts...) And in NewHeal its set to a non-nil value: rv := &healClient{
ctx: ctx,
client: client,
onHeal: onHeal,
cancelHealMap: make(map[string]func() <-chan error),
}
if rv.onHeal == nil {
rv.onHeal = addressof.NetworkServiceClient(rv)
}
return rv and that's the only place its written to... |
rv := &healClient{
ctx: ctx,
client: client,
onHeal: onHeal,
cancelHealMap: make(map[string]func() <-chan error),
}
if rv.onHeal == nil {
rv.onHeal = addressof.NetworkServiceClient(rv)
}
if *rv.onHeal == nil {
fmt.Println("*rv.onHeal == nil")
}
return rv |
It is looks fixed. |
Test case: https://github.com/xzfc/networkservicemesh-sdk/commit/bfe6f167587c43ad88848d3ee76e0559605192e4
Another segfault is on line 100 (the reproduction code is messy at the moment):
The text was updated successfully, but these errors were encountered: