- 28 Jun, 2023 1 commit
-
-
Dridi Boukelmoune authored
The VCC_GlobalSymbol() function might be called twice for the same symbol. For example a subroutine symbol may be created when the sub keyword is first encountered, but it was referenced by a call action before the subroutine definition. The main problem the leak is causing is lsan's output polluting test cases looking at the screen output of varnishd, making the lines we care about scroll out to oblivion. To remedy this, VCC_GlobalSymbol() idempotence becomes free of side effects.
-
- 26 Jun, 2023 12 commits
-
-
Nils Goroll authored
As noted in 31baed29, my commit 0c1aef58 was wrong, and it was even worse than we thought: Despite what the linux man page suggests, the close_range() declaration is in unistd.h on Linux like on freebsd. We do not actually need linux/close_range.h, because it has only macro definitions which we do not need. We now add a specific configure test if close_range() not only exists but also works. Closes #3905
-
Dridi Boukelmoune authored
But retain the ability to specify them: make VGZ_CFLAGS=-Wfoo We may need them again if new warnings crop up when we sync with zlib in the future, or if we retire libvgz in favor of a vanilla zlib. Refs 3df9cdc1
-
Nils Goroll authored
We have two forms of -efile(766, config.h) globally
-
Nils Goroll authored
I believe this is the most invasive method: -e{766} has no effect --e{766} applies to the whole file -efile(766, ...) in flint.lnt applies to the (sub)tree
-
Nils Goroll authored
-
Dridi Boukelmoune authored
This was fixed after several attempts in the past [1] and I convinced myself that I was doing it wrong when I implemented generic VSC rules similarly to how VTC rules were centralized [2] but some lessons will never be learned. The reason why I was so easily convinced is that the '-local' suffix is clearly documented, but the '-am' one is not, which leads me to believe that it is an implementation detail we shouldn't rely on. The documentation clearly states the lack of '-local' ordering, one more reason not to rely on 'check-local'. If we can use neither 'check-local' nor 'check-am' reliably for the test suite refresh vs execution ordering, maybe there's a simpler solution? Fixes #3942 [1] 85e3d442 [2] dcaf616c
-
Nils Goroll authored
Fixes #3943
-
Nils Goroll authored
https://gitlab.com/uplex/varnish/slash/-/issues/13 is an example where 9 stack frames are used by abort handling alone.
-
Walid Boudebouda authored
-
Walid Boudebouda authored
pthread_* calls don't set errno but return it instead. This cocci patch ensures we always use PTOK macro that sets errno in case of pthread calls failures.
-
Walid Boudebouda authored
-
Poul-Henning Kamp authored
-
- 23 Jun, 2023 3 commits
-
-
Nils Goroll authored
this happened on one of the uplex linux vtesters which runs gcc and clang in parallel un-namespaced * top VTEST Abstract UDS backend: change path, drop poll ** top === feature abstract_uds **** dT 0.004 ** top === server s1 -listen "@vtc.s1.sock" { ** s1 Starting server ---- s1 Server listen address (@vtc.s1.sock) cannot be resolved: bind(2)
-
Nils Goroll authored
to have available a unique string for concurrently running tests which is not a path.
-
Nils Goroll authored
from the log: ** top === shell -exit 1 -expect {failing as requested} { **** top shell_cmd|exec 2>&1 ; **** top shell_cmd|\tvarnishadm -n /root/VT/_vtest_tmp/vtc.37277.0dc3c11b/v1 vcl.load f1 /root/VT/_vtest_tmp/vtc.37277.0dc3c11b/f1 **** dT 27.789 **** v1 vsl| 0 CLI - Rd vcl.load f1 vcl_f1.1686893821.277415/vgc.so 1auto **** v1 vsl| 0 CLI - Wr 300 62 VCL "f1" Failed initialization Message: failing as requested **** dT 27.893 **** v1 vsl| 0 CLI - Rd ping **** v1 vsl| 0 CLI - Wr 200 19 PONG 1686893826 1.0 **** dT 32.987 **** top shell_out|CLI communication error (hdr) **** top shell_status = 0x0002 ---- top shell_exit not as expected: got 0x0002 wanted 0x0001 * top RESETTING after ../../../../bin/varnishtest/tests/m00000.vtc **** dT 32.988
-
- 22 Jun, 2023 1 commit
-
-
Nils Goroll authored
-
- 20 Jun, 2023 1 commit
-
-
Poul-Henning Kamp authored
in the most diff-friendly way. If Mark Adler ever decides that the 21st century is real thing, we will adopt his diff. This should allow us to revert 79c7d175
-
- 16 Jun, 2023 6 commits
-
-
Nils Goroll authored
Varnish historians claim to have evidence that the odd wording "from mgt_param" could have been an unintended side effect of a struct rename in ancient times at around 2011. (82411494)
-
Nils Goroll authored
To keep things simple, the open delay is global - the delay of the last debug stevedore applies to all of them.
-
Nils Goroll authored
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
With the recent change to stream the request body to the backend like chunked encoding does, even when we know the content length, two test cases became sensitive to the timing of window updates. The data frames contain for the most part a 16kB payload, which happens to be the same as fetch_chunksize's default value. With a value of 64kB, corresponding to one more byte than the default h2 initial window, we are garanteed to never risk a race between the VFP consuming the h2_rxbuf and the h2_sess task monitoring it to send window updates. This is also a good occasion to exercise stream.peer_window in t02019. Refs #3878 Refs #3934
-
- 14 Jun, 2023 1 commit
-
-
Poul-Henning Kamp authored
-
- 13 Jun, 2023 8 commits
-
-
Nils Goroll authored
-
Nils Goroll authored
-
Nils Goroll authored
Seen while staring at #3937
-
Nils Goroll authored
Format individual subroutines as code, add a trailing period.
-
Nils Goroll authored
-
Poul-Henning Kamp authored
-
Poul-Henning Kamp authored
-
Poul-Henning Kamp authored
-
- 12 Jun, 2023 7 commits
-
-
Nils Goroll authored
-
Nils Goroll authored
This was meant to be tested by 054215b5, but the test did not attempt to receive a second chunk, so it succeeded when it should not have. Fixes #3938
-
Walid Boudebouda authored
When VCC is run, some temporary files are generated during the process and are cleaned up at the end. The cleanup tries to remove all the files that are supposed to be generated and displays a "Could not delete 'vcl_...': No such file or directory" message if it fails to find one of them. The error happens when VCC fails before generating the file(s). This commit avoids the bogus messages by ignoring ENOENT if VCC failed. Fixes #3925
-
Walid Boudebouda authored
-
Dridi Boukelmoune authored
It's about time...
-
Dridi Boukelmoune authored
The --enable-maintainer-mode option has been used in autogen.des for a while now and it has allowed automatic reconfiguration and hot reload of makefiles. For the next step, we can turn certain programs into maintainer programs and only require them when they are absolutely needed. This is what we currently do with SVG files generated from dot files, checked in git and optionally required, with an error message when rebuild is not possible. It turns out we only need 3 lines in configure.ac to implement all that, with the following differences: - no more `./configure --with-dot[=...]` option - use `./configure DOT=...` to override the default `dot` command - or alternatively run configure with `DOT=...` in the environment - generic missing error message (but referencing dot) from make - no need to reconfigure once `dot` is in the PATH The DOT override is actually documented in `./configure --help` like the `--with-dot[=...]` option was. While dot is our most emblematic maintainer tool, with its build targets checked in all the way in the git repository, this could be applied to other maintainer programs like sphinx-build and rst2man that should not be required when building from a dist archive.
-
Dridi Boukelmoune authored
We don't need to render witness.svg in CI, even if dot(1) is available.
-