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
Assert error in VRTPRIV_dynamic_kill(), cache/cache_vrt_priv.c line 111: #2268
Comments
Similar error..(vrt_priv_dynamic)
|
I think vrt_priv_dynamic/VRTPRIV_dynamic_kill have race condition at H2, but I could be wrong. key of PRIV_TASK/TOP are vmod_id and req/bo pointer id. varnish-cache/bin/varnishd/cache/cache_vrt_priv.c Lines 158 to 168 in 8e77985
req/bo pointer is same in the same session. H1 is sequential, there was no problem. But H/2 is multiplexing, so there is a possibility of conflict. It might be a good idea to adding vxid(or stream id) to key. |
I got same error at 6d1fb08
|
Hi @xcir Sorry for the long wait. I attempted to recreate this with the cookie VMOD, and was not successful. Have you tested this in a more recent version? Several things around stream management and cleanup have changed since this crash, so it might be that the crash you saw has been overtaken by events. Would it be possible for you to try again on 5.2.0? |
OK, I'll test again! |
I got same error at 5.2.0
|
and got a similar error.
|
Thanks @xcir, looking at this again it's obvious it happens due to missing locking around the I'll do a patch for this. |
With H/2 we now have multiple requests in flight concurrently for the same session, so we need to synchronize access to the sp->privs list. Fixes: varnishcache#2268
Keeping these in struct sess would necessitate extra locking for h/2 where we have multiple reqs in flight concurrently. Fixes: varnishcache#2268
Yes, I try it. |
Before apply patch I got segfault everyday. |
Keeping these in struct sess would necessitate extra locking for h/2 where we have multiple reqs in flight concurrently. Fixes: #2268
Keeping these in struct sess would necessitate extra locking for h/2 where we have multiple reqs in flight concurrently. Fixes: varnishcache#2268
Your Environment
The text was updated successfully, but these errors were encountered: