- 17 Jun, 2024 4 commits
-
-
Geoff Simmons authored
-
Geoff Simmons authored
These should *always* match. If not, then there is indeed a race with respect to the attribute's value at activate() and VDP init times.
-
Geoff Simmons authored
There may be a race, by which the attribute is not set when activate() is invoked, resulting in no pesi processing on the response. But in fact the response does contain ESI includes, and the attribute gets set later. With the result that unresolved ESI includes appear in the response. The VDP will catch this, because it checks the object attribute again in vdp_init, and continues only if it is set.
-
Geoff Simmons authored
-
- 23 Oct, 2023 3 commits
-
-
Nils Goroll authored
vmod_pesi works by saving the resulting data from a sub request to a tree structure, which gets delivered to the client in the top request's thread, once it is ready. For cacheable objects which do not require ESI processing, we simply keep the original request with an additional reference to the object. So basically we hand delivery from one worker to another. subreq_fixup() is responsible for converting the saved request to a state as if it was handled by the request handling the top level request, so one of the changes it applies is to change the wrk pointer to the worker of the top level request. Yet that change was incomplete and we missed an additional pointer in struct vdp_ctx. This should hopefully fix #14
-
Nils Goroll authored
-
Nils Goroll authored
see https://github.com/varnishcache/varnish-cache/pull/3804 for context The C compiler checks have been removed as they are already contained in VARNISH_PREREQ
-
- 11 Apr, 2023 5 commits
-
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
- 07 Apr, 2023 1 commit
-
-
Nils Goroll authored
A follow-up issue has been reported in #13: Assert error in Lck_Delete(), cache/cache_lck.c line 309: Condition((pthread_mutex_destroy(&ilck->mtx)) == 0) not true. triggered from Lck_Delete(&bytes_tree->nodes_lock) at the bottom of bytes_tree_fini(). Assuming everything else working correctly, the only scenario I can see the moment is that we see the node->subreq.done == 1 earlier than Lck_Unlock() returned in vped_task(). In this case, we could advance to destroying the lock while the other thread still holds it. The other use case of the shared lock is in fini_final(), where we already go through an explicit lock/unlock. Hopefully fixes #13 for real (backport of 067c16e0 to 6.6)
-
- 06 Apr, 2023 2 commits
-
-
-
Nils Goroll authored
-
- 27 Apr, 2022 2 commits
-
-
Geoff Simmons authored
-
Geoff Simmons authored
This is a custom patch version of Varnish 6.6.2 with a bugfix hypothesis for issue 3775.
-
- 25 Jan, 2022 2 commits
-
-
Geoff Simmons authored
-
Geoff Simmons authored
-
- 27 Oct, 2021 3 commits
-
-
Nils Goroll authored
This 6.6 branch was forked from master after 6.6 release This reverts commit 1e284a17.
-
Geoff Simmons authored
-
Geoff Simmons authored
-
- 23 Aug, 2021 1 commit
-
-
Nils Goroll authored
I had removed these before the public open source release based on Flexelint output, but Geoff is correct that, contrary to the C version macros like __STDC_VERSION__, _POSIX_C_SOURCE is to be set by the programmer. Ref: https://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html On the downside, we do now see some noise from flexelint and it is unclear to me how to suppress Note 9071. --- Module: pesi.c (C) File pesi.c, Line 33 _ Note 9071: defined macro '_POSIX_C_SOURCE' is reserved to the compiler File /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h, Line 23 _ long int __tm_gmtoff; /* Seconds east of UTC. */ Error 114: Inconsistent structure declaration for tag 'tm' File /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h, Line 24 _ const char *__tm_zone; /* Timezone abbreviation. */ Error 114: Inconsistent structure declaration for tag 'tm' --- Module: vdp_pesi.c (C) File vdp_pesi.c, Line 33 _ Note 9071: defined macro '_POSIX_C_SOURCE' is reserved to the compiler File /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h, Line 23 _ long int __tm_gmtoff; /* Seconds east of UTC. */ Error 114: Inconsistent structure declaration for tag 'tm' File /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h, Line 24 _ const char *__tm_zone; /* Timezone abbreviation. */ Error 114: Inconsistent structure declaration for tag 'tm'
-
- 17 Aug, 2021 4 commits
-
-
Nils Goroll authored
Thank you, OTTO
-
Nils Goroll authored
-
Nils Goroll authored
-
Nils Goroll authored
Ref varnish-cache fd72157cd52e974d42dff2260cb608a79f1b9403
-
- 16 Aug, 2021 1 commit
-
-
Geoff Simmons authored
-