From 01fbb1499f954be4b43a7c913e51d588cc3c44eb Mon Sep 17 00:00:00 2001 From: Nils Goroll Date: Mon, 26 Jan 2026 15:00:35 +0100 Subject: [PATCH] fix: migrations/github: avoid getting the first issues page twice (#10798) For the previous code with the Page attribute present in ListCursorOptions for page 1, github would not return an "After" cursor, such that the request for page 2 would request what effectively is the content of page 1 a second time. This would lead to an attempt to insert the same issues twice. Note that this is not the only reason why this can happen with the current code base. We fix this particular issue by not using the Page attribute so github does return an "After" cursor. Fixes #10794 Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10798 Reviewed-by: Gusted Co-authored-by: Nils Goroll Co-committed-by: Nils Goroll --- services/migrations/github.go | 37 ++++++------------- services/migrations/github_test.go | 36 +++++++++++------- ...ion=asc&per_page=2&sort=created&state=all} | 0 .../github/pagination/GET_%2Frate_limit | 22 +++++++++++ .../GET_%2Frepos%2Fnigoroll%2Flibvmod-dynamic | 24 ++++++++++++ ...ion=asc&per_page=45&sort=created&state=all | 24 ++++++++++++ ...ion=asc&per_page=45&sort=created&state=all | 24 ++++++++++++ ...ion=asc&per_page=45&sort=created&state=all | 24 ++++++++++++ ...ion=asc&per_page=45&sort=created&state=all | 24 ++++++++++++ 9 files changed, 176 insertions(+), 39 deletions(-) rename services/migrations/testdata/github/full_download/{GET_%2Frepos%2Fforgejo%2Ftest_repo%2Fissues%3Fdirection=asc&page=1&per_page=2&sort=created&state=all => GET_%2Frepos%2Fforgejo%2Ftest_repo%2Fissues%3Fdirection=asc&per_page=2&sort=created&state=all} (100%) create mode 100644 services/migrations/testdata/github/pagination/GET_%2Frate_limit create mode 100644 services/migrations/testdata/github/pagination/GET_%2Frepos%2Fnigoroll%2Flibvmod-dynamic create mode 100644 services/migrations/testdata/github/pagination/GET_%2Frepos%2Fnigoroll%2Flibvmod-dynamic%2Fissues%3Fafter=Y3Vyc29yOnYyOpLPAAABaaHKpHDOGUReFQ%253D%253D&direction=asc&per_page=45&sort=created&state=all create mode 100644 services/migrations/testdata/github/pagination/GET_%2Frepos%2Fnigoroll%2Flibvmod-dynamic%2Fissues%3Fafter=Y3Vyc29yOnYyOpLPAAABgogj3SDOT44Tug%253D%253D&direction=asc&per_page=45&sort=created&state=all create mode 100644 services/migrations/testdata/github/pagination/GET_%2Frepos%2Fnigoroll%2Flibvmod-dynamic%2Fissues%3Fafter=Y3Vyc29yOnYyOpLPAAABmqckTzDO2bC8uw%253D%253D&direction=asc&per_page=45&sort=created&state=all create mode 100644 services/migrations/testdata/github/pagination/GET_%2Frepos%2Fnigoroll%2Flibvmod-dynamic%2Fissues%3Fdirection=asc&per_page=45&sort=created&state=all diff --git a/services/migrations/github.go b/services/migrations/github.go index 569d9c5780..04cbd690cf 100644 --- a/services/migrations/github.go +++ b/services/migrations/github.go @@ -432,9 +432,6 @@ func (g *GithubDownloaderV3) GetReleases() ([]*base.Release, error) { // GetIssues returns issues according start and limit func (g *GithubDownloaderV3) GetIssues(page, perPage int) ([]*base.Issue, bool, error) { - var issues []*github.Issue - var resp *github.Response - var err error if perPage > g.maxPerPage { perPage = g.maxPerPage } @@ -442,29 +439,17 @@ func (g *GithubDownloaderV3) GetIssues(page, perPage int) ([]*base.Issue, bool, allIssues := make([]*base.Issue, 0, perPage) g.waitAndPickClient() - if page == 1 { - issues, resp, err = g.getClient().Issues.ListByRepo(g.ctx, g.repoOwner, g.repoName, &github.IssueListByRepoOptions{ - Sort: "created", - Direction: "asc", - State: "all", - ListCursorOptions: github.ListCursorOptions{ - PerPage: perPage, - Page: strconv.Itoa(page), - }, - }) - g.githubPagingInfo.After = resp.After - } else { - issues, resp, err = g.getClient().Issues.ListByRepo(g.ctx, g.repoOwner, g.repoName, &github.IssueListByRepoOptions{ - Sort: "created", - Direction: "asc", - State: "all", - ListCursorOptions: github.ListCursorOptions{ - PerPage: perPage, - After: g.githubPagingInfo.After, - }, - }) - g.githubPagingInfo.After = resp.After - } + issues, resp, err := g.getClient().Issues.ListByRepo(g.ctx, g.repoOwner, g.repoName, &github.IssueListByRepoOptions{ + Sort: "created", + Direction: "asc", + State: "all", + ListCursorOptions: github.ListCursorOptions{ + PerPage: perPage, + After: g.githubPagingInfo.After, + }, + }) + + g.githubPagingInfo.After = resp.After if err != nil { return nil, false, fmt.Errorf("error while listing repos: %w", err) diff --git a/services/migrations/github_test.go b/services/migrations/github_test.go index f87d38b121..cf7c1d2958 100644 --- a/services/migrations/github_test.go +++ b/services/migrations/github_test.go @@ -493,12 +493,14 @@ func TestGithubMultiToken(t *testing.T) { func TestGithubIssuePagination(t *testing.T) { GithubLimitRateRemaining = 3 // Wait at 3 remaining since we could have 3 CI in // - token := os.Getenv("GITHUB_READ_TOKEN") - if token == "" { - t.Skip() - } + token := os.Getenv("GITHUB_READ_TOKEN_NIGOROLL") + liveMode := token != "" - downloader := NewGithubDownloaderV3(t.Context(), "https://api.github.com", true, true, "", "", token, "galaxyproject", "galaxy") + fixturePath := "./testdata/github/pagination" + server := unittest.NewMockWebServer(t, "https://api.github.com", fixturePath, liveMode) + defer server.Close() + + downloader := NewGithubDownloaderV3(t.Context(), server.URL, true, true, "", "", token, "nigoroll", "libvmod-dynamic") downloader.SkipReactions = true err := downloader.RefreshRate() require.NoError(t, err) @@ -507,18 +509,26 @@ func TestGithubIssuePagination(t *testing.T) { require.NoError(t, err) assertRepositoryEqual(t, &base.Repository{ - Name: "galaxy", - Owner: "galaxyproject", - Description: "Data intensive science for everyone.", - CloneURL: "https://github.com/galaxyproject/galaxy.git", - OriginalURL: "https://github.com/galaxyproject/galaxy", - DefaultBranch: "dev", - Website: "https://galaxyproject.org", + Name: "libvmod-dynamic", + Owner: "nigoroll", + Description: "The Varnish dns/named director continued", + CloneURL: server.URL + "/nigoroll/libvmod-dynamic.git", + OriginalURL: server.URL + "/nigoroll/libvmod-dynamic", + DefaultBranch: "master", }, repo) + seen := make(map[int64]bool) + perPage := 45 for page := 1; page <= 250; page++ { - _, _, err = downloader.GetIssues(page, perPage) + issues, last, err := downloader.GetIssues(page, perPage) require.NoError(t, err) + for _, issue := range issues { + assert.False(t, seen[issue.Number]) + seen[issue.Number] = true + } + if last { + break + } } } diff --git a/services/migrations/testdata/github/full_download/GET_%2Frepos%2Fforgejo%2Ftest_repo%2Fissues%3Fdirection=asc&page=1&per_page=2&sort=created&state=all b/services/migrations/testdata/github/full_download/GET_%2Frepos%2Fforgejo%2Ftest_repo%2Fissues%3Fdirection=asc&per_page=2&sort=created&state=all similarity index 100% rename from services/migrations/testdata/github/full_download/GET_%2Frepos%2Fforgejo%2Ftest_repo%2Fissues%3Fdirection=asc&page=1&per_page=2&sort=created&state=all rename to services/migrations/testdata/github/full_download/GET_%2Frepos%2Fforgejo%2Ftest_repo%2Fissues%3Fdirection=asc&per_page=2&sort=created&state=all diff --git a/services/migrations/testdata/github/pagination/GET_%2Frate_limit b/services/migrations/testdata/github/pagination/GET_%2Frate_limit new file mode 100644 index 0000000000..1491ff7e90 --- /dev/null +++ b/services/migrations/testdata/github/pagination/GET_%2Frate_limit @@ -0,0 +1,22 @@ +X-Ratelimit-Resource: core +Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset +X-Frame-Options: deny +X-Content-Type-Options: nosniff +X-Xss-Protection: 0 +Content-Security-Policy: default-src 'none' +Cache-Control: no-cache +X-Github-Api-Version-Selected: 2022-11-28 +X-Ratelimit-Limit: 5000 +X-Ratelimit-Used: 0 +Access-Control-Allow-Origin: * +Strict-Transport-Security: max-age=31536000; includeSubdomains; preload +Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin +X-Github-Media-Type: github.v3; format=json +X-Accepted-Github-Permissions: allows_permissionless_access=true +X-Ratelimit-Remaining: 5000 +X-Ratelimit-Reset: 1769189499 +Vary: Accept-Encoding, Accept, X-Requested-With +Content-Type: application/json; charset=utf-8 +X-Github-Request-Id: 545E:1E338F:1CE3AD6:1995EED:6973A26A + +{"resources":{"core":{"limit":5000,"used":0,"remaining":5000,"reset":1769189499},"search":{"limit":30,"used":0,"remaining":30,"reset":1769185959},"graphql":{"limit":5000,"used":0,"remaining":5000,"reset":1769189499},"integration_manifest":{"limit":5000,"used":0,"remaining":5000,"reset":1769189499},"source_import":{"limit":100,"used":0,"remaining":100,"reset":1769185959},"code_scanning_upload":{"limit":5000,"used":0,"remaining":5000,"reset":1769189499},"code_scanning_autofix":{"limit":10,"used":0,"remaining":10,"reset":1769185959},"actions_runner_registration":{"limit":10000,"used":0,"remaining":10000,"reset":1769189499},"scim":{"limit":15000,"used":0,"remaining":15000,"reset":1769189499},"dependency_snapshots":{"limit":100,"used":0,"remaining":100,"reset":1769185959},"dependency_sbom":{"limit":100,"used":0,"remaining":100,"reset":1769185959},"audit_log":{"limit":1750,"used":0,"remaining":1750,"reset":1769189499},"audit_log_streaming":{"limit":15,"used":0,"remaining":15,"reset":1769189499},"code_search":{"limit":10,"used":0,"remaining":10,"reset":1769185959}},"rate":{"limit":5000,"used":0,"remaining":5000,"reset":1769189499}} \ No newline at end of file diff --git a/services/migrations/testdata/github/pagination/GET_%2Frepos%2Fnigoroll%2Flibvmod-dynamic b/services/migrations/testdata/github/pagination/GET_%2Frepos%2Fnigoroll%2Flibvmod-dynamic new file mode 100644 index 0000000000..c50dc204a8 --- /dev/null +++ b/services/migrations/testdata/github/pagination/GET_%2Frepos%2Fnigoroll%2Flibvmod-dynamic @@ -0,0 +1,24 @@ +X-Ratelimit-Limit: 5000 +X-Ratelimit-Reset: 1769189499 +Cache-Control: private, max-age=60, s-maxage=60 +Vary: Accept, Authorization, Cookie, X-GitHub-OTP,Accept-Encoding, Accept, X-Requested-With +X-Accepted-Github-Permissions: metadata=read +Strict-Transport-Security: max-age=31536000; includeSubdomains; preload +X-Content-Type-Options: nosniff +X-Github-Request-Id: 545E:1E338F:1CE3BE0:1995FCF:6973A26B +Etag: W/"f8dcc1a5a57a21528eb36e54740dd9b6307feb68e14c6143d8b3a5ab47c48f9e" +Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset +Access-Control-Allow-Origin: * +X-Xss-Protection: 0 +Content-Type: application/json; charset=utf-8 +X-Github-Media-Type: github.v3; param=scarlet-witch-preview; format=json, github.mercy-preview; param=baptiste-preview.nebula-preview; format=json +X-Github-Api-Version-Selected: 2022-11-28 +X-Frame-Options: deny +Content-Security-Policy: default-src 'none' +X-Ratelimit-Remaining: 4999 +X-Ratelimit-Used: 1 +X-Ratelimit-Resource: core +Last-Modified: Thu, 08 Jan 2026 21:08:39 GMT +Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin + +{"id":68390476,"node_id":"MDEwOlJlcG9zaXRvcnk2ODM5MDQ3Ng==","name":"libvmod-dynamic","full_name":"nigoroll/libvmod-dynamic","private":false,"owner":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/nigoroll/libvmod-dynamic","description":"The Varnish dns/named director continued","fork":false,"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","forks_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/forks","keys_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/teams","hooks_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/hooks","issue_events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/events{/number}","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/events","assignees_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/assignees{/user}","branches_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/branches{/branch}","tags_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/tags","blobs_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/git/refs{/sha}","trees_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/statuses/{sha}","languages_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/languages","stargazers_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/stargazers","contributors_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/contributors","subscribers_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/subscribers","subscription_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/subscription","commits_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/commits{/sha}","git_commits_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/git/commits{/sha}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/comments{/number}","issue_comment_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/comments{/number}","contents_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/contents/{+path}","compare_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/merges","archive_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/downloads","issues_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues{/number}","pulls_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls{/number}","milestones_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/milestones{/number}","notifications_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels{/name}","releases_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/releases{/id}","deployments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/deployments","created_at":"2016-09-16T15:13:13Z","updated_at":"2026-01-08T21:08:39Z","pushed_at":"2025-12-12T11:12:19Z","git_url":"git://github.com/nigoroll/libvmod-dynamic.git","ssh_url":"git@github.com:nigoroll/libvmod-dynamic.git","clone_url":"https://github.com/nigoroll/libvmod-dynamic.git","svn_url":"https://github.com/nigoroll/libvmod-dynamic","homepage":"","size":706,"stargazers_count":104,"watchers_count":104,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"has_discussions":false,"forks_count":38,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":3,"license":{"key":"bsd-2-clause","name":"BSD 2-Clause \"Simplified\" License","spdx_id":"BSD-2-Clause","url":"https://api.github.com/licenses/bsd-2-clause","node_id":"MDc6TGljZW5zZTQ="},"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"topics":["director","dns","varnish","varnish-cache","vmod"],"visibility":"public","forks":38,"open_issues":3,"watchers":104,"default_branch":"master","permissions":{"admin":true,"maintain":true,"push":true,"triage":true,"pull":true},"network_count":38,"subscribers_count":10} \ No newline at end of file diff --git a/services/migrations/testdata/github/pagination/GET_%2Frepos%2Fnigoroll%2Flibvmod-dynamic%2Fissues%3Fafter=Y3Vyc29yOnYyOpLPAAABaaHKpHDOGUReFQ%253D%253D&direction=asc&per_page=45&sort=created&state=all b/services/migrations/testdata/github/pagination/GET_%2Frepos%2Fnigoroll%2Flibvmod-dynamic%2Fissues%3Fafter=Y3Vyc29yOnYyOpLPAAABaaHKpHDOGUReFQ%253D%253D&direction=asc&per_page=45&sort=created&state=all new file mode 100644 index 0000000000..3f5fa2799c --- /dev/null +++ b/services/migrations/testdata/github/pagination/GET_%2Frepos%2Fnigoroll%2Flibvmod-dynamic%2Fissues%3Fafter=Y3Vyc29yOnYyOpLPAAABaaHKpHDOGUReFQ%253D%253D&direction=asc&per_page=45&sort=created&state=all @@ -0,0 +1,24 @@ +Content-Type: application/json; charset=utf-8 +Vary: Accept, Authorization, Cookie, X-GitHub-OTP,Accept-Encoding, Accept, X-Requested-With +Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset +Strict-Transport-Security: max-age=31536000; includeSubdomains; preload +Content-Security-Policy: default-src 'none' +X-Ratelimit-Reset: 1769189499 +X-Ratelimit-Resource: core +Etag: W/"ed7ff15fd20853d181507588a8f6671a3f5f71f80578be1f45d7f6ecd077d147" +Access-Control-Allow-Origin: * +X-Frame-Options: deny +Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin +X-Ratelimit-Limit: 5000 +X-Github-Api-Version-Selected: 2022-11-28 +X-Content-Type-Options: nosniff +X-Xss-Protection: 0 +X-Ratelimit-Remaining: 4997 +X-Ratelimit-Used: 3 +Cache-Control: private, max-age=60, s-maxage=60 +X-Github-Media-Type: github.v3; param=squirrel-girl-preview +Link: ; rel="next", ; rel="prev" +X-Accepted-Github-Permissions: issues=read +X-Github-Request-Id: 545E:1E338F:1CE43FC:19966FB:6973A26C + +[{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/47","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/47/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/47/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/47/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/47","id":436380232,"node_id":"MDU6SXNzdWU0MzYzODAyMzI=","number":47,"title":"missing /etc/services -> test09 timeout ","user":{"login":"danielmotaleite","id":11890049,"node_id":"MDQ6VXNlcjExODkwMDQ5","avatar_url":"https://avatars.githubusercontent.com/u/11890049?v=4","gravatar_id":"","url":"https://api.github.com/users/danielmotaleite","html_url":"https://github.com/danielmotaleite","followers_url":"https://api.github.com/users/danielmotaleite/followers","following_url":"https://api.github.com/users/danielmotaleite/following{/other_user}","gists_url":"https://api.github.com/users/danielmotaleite/gists{/gist_id}","starred_url":"https://api.github.com/users/danielmotaleite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielmotaleite/subscriptions","organizations_url":"https://api.github.com/users/danielmotaleite/orgs","repos_url":"https://api.github.com/users/danielmotaleite/repos","events_url":"https://api.github.com/users/danielmotaleite/events{/privacy}","received_events_url":"https://api.github.com/users/danielmotaleite/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-04-23T20:40:43Z","updated_at":"2019-04-27T09:43:12Z","closed_at":"2019-04-27T09:43:12Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"I'm building the master vs varnish 6.2.0 inside a debian based docker and when running the tests, test09 fails with the error below.\r\n\r\n **** v1 0.6 vsl| 0 Error - vmod-dynamic: vcl1 d4 127.0.0.1:http getaddrinfo -8 (Servname not supported for ai_socktype)\r\n\r\nAs i noticed the `:http` port, i went to check the container /etc/services and it didn't existed. Creating it fixed the problem.\r\n\r\nSo probably it would be better to use a number instead of port name, so this do not happen to other people trying to build this inside a container \r\n\r\nThanks\r\n\r\nfull error log:\r\n\r\n```\r\n===============================================\r\n libvmod-dynamic trunk: src/test-suite.log\r\n===============================================\r\n\r\n# TOTAL: 14\r\n# PASS: 13\r\n# SKIP: 0\r\n# XFAIL: 0\r\n# FAIL: 1\r\n# XPASS: 0\r\n# ERROR: 0\r\n\r\n.. contents:: :depth: 2\r\n\r\nFAIL: tests/test09\r\n==================\r\n\r\n* top 0.0 TEST ./tests/test09.vtc starting\r\n**** top 0.0 extmacro def pwd=/usr/src/libvmod-dynamic/src\r\n**** top 0.0 extmacro def vmod_dynamic=dynamic from \"/usr/src/libvmod-dynamic/src/.libs/libvmod_dynamic.so\"\r\n**** top 0.0 extmacro def localhost=127.0.0.1\r\n**** top 0.0 extmacro def bad_backend=127.0.0.1 33485\r\n**** top 0.0 extmacro def bad_ip=192.0.2.255\r\n**** top 0.0 macro def testdir=/usr/src/libvmod-dynamic/src/./tests\r\n**** top 0.0 macro def tmpdir=/tmp/vtc.18162.680e3a26\r\n** top 0.0 === varnishtest \"Ipv4- or IPv6-only\"\r\n* top 0.0 VTEST Ipv4- or IPv6-only\r\n** top 0.0 === shell \"getent hosts localhost www.localhost img.localhost ||...\r\n**** top 0.0 shell_cmd|exec 2>&1 ; getent hosts localhost www.localhost img.localhost || true\r\n**** top 0.0 shell_out|::1 localhost ip6-localhost ip6-loopback\r\n**** top 0.0 shell_out|127.0.0.1 www.localhost img.localhost\r\n**** top 0.0 shell_out|127.0.0.1 www.localhost img.localhost\r\n**** top 0.0 shell_status = 0x0000\r\n** top 0.0 === server s1 { } -start\r\n** s1 0.0 Starting server\r\n**** s1 0.0 macro def s1_addr=127.0.0.1\r\n**** s1 0.0 macro def s1_port=41365\r\n**** s1 0.0 macro def s1_sock=127.0.0.1 41365\r\n* s1 0.0 Listen on 127.0.0.1 41365\r\n** top 0.0 === varnish v1 -vcl+backend {\r\n** s1 0.0 Started on 127.0.0.1 41365 (1 iterations)\r\n** v1 0.0 Launch\r\n*** v1 0.0 CMD: cd ${pwd} && exec varnishd -d -n /tmp/vtc.18162.680e3a26/v1 -l 2m -p auto_restart=off -p syslog_cli_traffic=off -p sigsegv_handler=on -p thread_pool_min=10 -p debug=+vtc_mode -a '127.0.0.1:0' -M '127.0.0.1 34053' -P /tmp/vtc.18162.680e3a26/v1/varnishd.pid \r\n*** v1 0.0 CMD: cd /usr/src/libvmod-dynamic/src && exec varnishd -d -n /tmp/vtc.18162.680e3a26/v1 -l 2m -p auto_restart=off -p syslog_cli_traffic=off -p sigsegv_handler=on -p thread_pool_min=10 -p debug=+vtc_mode -a '127.0.0.1:0' -M '127.0.0.1 34053' -P /tmp/vtc.18162.680e3a26/v1/varnishd.pid \r\n*** v1 0.0 PID: 18170\r\n**** v1 0.0 macro def v1_pid=18170\r\n**** v1 0.0 macro def v1_name=/tmp/vtc.18162.680e3a26/v1\r\n*** v1 0.0 debug|Debug: Version: varnish-6.2.0 revision b14a3d38dbe918ad50d3838b11aa596f42179b54\r\n*** v1 0.0 debug|Debug: Platform: Linux,5.0.9-050009-generic,x86_64,-junix,-sdefault,-sdefault,-hcritbit\r\n*** v1 0.0 debug|200 321 \r\n*** v1 0.0 debug|-----------------------------\r\n*** v1 0.0 debug|Varnish Cache CLI 1.0\r\n*** v1 0.0 debug|-----------------------------\r\n*** v1 0.0 debug|Linux,5.0.9-050009-generic,x86_64,-junix,-sdefault,-sdefault,-hcritbit\r\n*** v1 0.0 debug|varnish-6.2.0 revision b14a3d38dbe918ad50d3838b11aa596f42179b54\r\n*** v1 0.0 debug|\r\n*** v1 0.0 debug|Type 'help' for command list.\r\n*** v1 0.0 debug|Type 'quit' to close CLI session.\r\n*** v1 0.0 debug|Type 'start' to launch worker process.\r\n*** v1 0.0 debug|\r\n**** v1 0.1 CLIPOLL 1 0x1 0x0\r\n*** v1 0.1 CLI connection fd = 7\r\n*** v1 0.1 CLI RX 107\r\n**** v1 0.1 CLI RX|sxjzgcofjaexybfaeanoudglalzrweqs\r\n**** v1 0.1 CLI RX|\r\n**** v1 0.1 CLI RX|Authentication required.\r\n**** v1 0.1 CLI TX|auth a484337cbdcd04a8fb8f97602334132d9decb95eb024cba29c416958fc4e114e\r\n*** v1 0.1 CLI RX 200\r\n**** v1 0.1 CLI RX|-----------------------------\r\n**** v1 0.1 CLI RX|Varnish Cache CLI 1.0\r\n**** v1 0.1 CLI RX|-----------------------------\r\n**** v1 0.1 CLI RX|Linux,5.0.9-050009-generic,x86_64,-junix,-sdefault,-sdefault,-hcritbit\r\n**** v1 0.1 CLI RX|varnish-6.2.0 revision b14a3d38dbe918ad50d3838b11aa596f42179b54\r\n**** v1 0.1 CLI RX|\r\n**** v1 0.1 CLI RX|Type 'help' for command list.\r\n**** v1 0.1 CLI RX|Type 'quit' to close CLI session.\r\n**** v1 0.1 CLI RX|Type 'start' to launch worker process.\r\n**** v1 0.1 CLI TX|vcl.inline vcl1 << %XJEIFLH|)Xspa8P\r\n**** v1 0.1 CLI TX|vcl 4.1;\r\n**** v1 0.1 CLI TX|backend s1 { .host = \"127.0.0.1\"; .port = \"41365\"; }\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|\\timport dynamic from \"/usr/src/libvmod-dynamic/src/.libs/libvmod_dynamic.so\";\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|\\tacl ipv4_only { \"0.0.0.0\"/0; }\r\n**** v1 0.1 CLI TX|\\tacl ipv6_only { \"::0\"/0; }\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|\\tsub vcl_init {\r\n**** v1 0.1 CLI TX|\\t\\tnew d4 = dynamic.director(whitelist = ipv4_only);\r\n**** v1 0.1 CLI TX|\\t\\tnew d6 = dynamic.director(whitelist = ipv6_only);\r\n**** v1 0.1 CLI TX|\\t}\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|\\tsub vcl_recv {\r\n**** v1 0.1 CLI TX|\\t\\tset req.backend_hint = d4.backend(\"127.0.0.1\");\r\n**** v1 0.1 CLI TX|\\t\\tset req.backend_hint = d4.backend(\"::1\");\r\n**** v1 0.1 CLI TX|\\t\\tset req.backend_hint = d6.backend(\"127.0.0.1\");\r\n**** v1 0.1 CLI TX|\\t\\tset req.backend_hint = d6.backend(\"::1\");\r\n**** v1 0.1 CLI TX|\\t\\treturn (synth(200));\r\n**** v1 0.1 CLI TX|\\t}\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|%XJEIFLH|)Xspa8P\r\n*** v1 0.2 vsl|No VSL chunk found (child not started ?)\r\n*** v1 0.3 CLI RX 200\r\n**** v1 0.3 CLI RX|VCL compiled.\r\n**** v1 0.3 CLI TX|vcl.use vcl1\r\n*** v1 0.3 CLI RX 200\r\n** v1 0.3 Start\r\n**** v1 0.3 CLI TX|start\r\n*** v1 0.3 vsl|No VSL chunk found (child not started ?)\r\n*** v1 0.4 debug|Debug: Child (18184) Started\r\n*** v1 0.4 CLI RX 200\r\n*** v1 0.4 wait-running\r\n**** v1 0.4 CLI TX|status\r\n*** v1 0.4 debug|Info: Child (18184) said Child starts\r\n**** v1 0.4 vsl| 0 CLI - Rd vcl.load \"vcl1\" vcl_vcl1.1556051154.031158/vgc.so 1auto\r\n**** v1 0.4 vsl| 0 CLI - Wr 200 52 Loaded \"vcl_vcl1.1556051154.031158/vgc.so\" as \"vcl1\"\r\n**** v1 0.4 vsl| 0 CLI - Rd vcl.use \"vcl1\"\r\n**** v1 0.4 vsl| 0 CLI - Wr 200 0 \r\n**** v1 0.4 vsl| 0 CLI - Rd start\r\n**** v1 0.4 vsl| 0 CLI - Wr 200 0 \r\n*** v1 0.4 CLI RX 200\r\n**** v1 0.4 CLI RX|Child in state running\r\n**** v1 0.4 CLI TX|debug.listen_address\r\n*** v1 0.5 CLI RX 200\r\n**** v1 0.5 CLI RX|127.0.0.1 46781\r\n**** v1 0.5 CLI TX|debug.xid 999\r\n*** v1 0.5 CLI RX 200\r\n**** v1 0.5 CLI RX|XID is 999\r\n**** v1 0.5 CLI TX|debug.listen_address\r\n**** v1 0.5 vsl| 0 CLI - Rd debug.listen_address \r\n**** v1 0.5 vsl| 0 CLI - Wr 200 16 127.0.0.1 46781\r\n\r\n**** v1 0.5 vsl| 0 CLI - Rd debug.xid 999 \r\n**** v1 0.5 vsl| 0 CLI - Wr 200 10 XID is 999\r\n*** v1 0.6 CLI RX 200\r\n**** v1 0.6 CLI RX|127.0.0.1 46781\r\n** v1 0.6 Listen on 127.0.0.1 46781\r\n**** v1 0.6 macro def v1_addr=127.0.0.1\r\n**** v1 0.6 macro def v1_port=46781\r\n**** v1 0.6 macro def v1_sock=127.0.0.1 46781\r\n** top 0.6 === logexpect l4 -v v1 -g raw {expect * 0 Error \"d4 ::1:http acl...\r\n** l4 0.6 === expect * 0 Error \"d4 ::1:http acl-mismatch\"\r\n** top 0.6 === logexpect l6 -v v1 -g raw {expect * 0 Error \"d6 127.0.0.1:ht...\r\n**** l4 0.6 begin|\r\n*** l4 0.6 expecting| expect * 0 Error d4 ::1:http acl-mismatch\r\n** l6 0.6 === expect * 0 Error \"d6 127.0.0.1:http acl-mismatch\"\r\n** top 0.6 === client c1 {\r\n** c1 0.6 Starting client\r\n** c1 0.6 Waiting for client\r\n**** l6 0.6 begin|\r\n*** l6 0.6 expecting| expect * 0 Error d6 127.0.0.1:http acl-mismatch\r\n*** c1 0.6 Connect to 127.0.0.1 46781\r\n*** c1 0.6 connected fd 27 from 127.0.0.1 53442 to 127.0.0.1 46781\r\n** c1 0.6 === txreq\r\n**** c1 0.6 txreq|GET / HTTP/1.1\\r\r\n**** c1 0.6 txreq|Host: 127.0.0.1\\r\r\n**** c1 0.6 txreq|\\r\r\n** c1 0.6 === rxresp\r\n**** c1 0.6 rxhdr|HTTP/1.1 200 OK\\r\r\n**** c1 0.6 rxhdr|Date: Tue, 23 Apr 2019 20:25:54 GMT\\r\r\n**** c1 0.6 rxhdr|Server: Varnish\\r\r\n**** c1 0.6 rxhdr|X-Varnish: 1001\\r\r\n**** c1 0.6 rxhdr|Content-Type: text/html; charset=utf-8\\r\r\n**** c1 0.6 rxhdr|Retry-After: 5\\r\r\n**** c1 0.6 rxhdr|Content-Length: 227\\r\r\n**** c1 0.6 rxhdr|Accept-Ranges: bytes\\r\r\n**** c1 0.6 rxhdr|Connection: keep-alive\\r\r\n**** c1 0.6 rxhdr|\\r\r\n**** c1 0.6 rxhdrlen = 213\r\n**** c1 0.6 http[ 0] |HTTP/1.1\r\n**** c1 0.6 http[ 1] |200\r\n**** c1 0.6 http[ 2] |OK\r\n**** c1 0.6 http[ 3] |Date: Tue, 23 Apr 2019 20:25:54 GMT\r\n**** c1 0.6 http[ 4] |Server: Varnish\r\n**** c1 0.6 http[ 5] |X-Varnish: 1001\r\n**** c1 0.6 http[ 6] |Content-Type: text/html; charset=utf-8\r\n**** c1 0.6 http[ 7] |Retry-After: 5\r\n**** c1 0.6 http[ 8] |Content-Length: 227\r\n**** c1 0.6 http[ 9] |Accept-Ranges: bytes\r\n**** c1 0.6 http[10] |Connection: keep-alive\r\n**** c1 0.6 c-l|\r\n**** c1 0.6 c-l|\r\n**** c1 0.6 c-l| \r\n**** c1 0.6 c-l| 200 OK\r\n**** c1 0.6 c-l| \r\n**** c1 0.6 c-l| \r\n**** c1 0.6 c-l|

Error 200 OK

\r\n**** c1 0.6 c-l|

OK

\r\n**** c1 0.6 c-l|

Guru Meditation:

\r\n**** c1 0.6 c-l|

XID: 1001

\r\n**** c1 0.6 c-l|
\r\n**** c1 0.6 c-l|

Varnish cache server

\r\n**** c1 0.6 c-l| \r\n**** c1 0.6 c-l|\r\n**** c1 0.6 bodylen = 227\r\n** c1 0.6 === expect resp.status == 200\r\n**** c1 0.6 EXPECT resp.status (200) == \"200\" match\r\n*** c1 0.6 closing fd 27\r\n** c1 0.6 Ending\r\n** top 0.6 === logexpect l4 -wait\r\n** l4 0.6 Waiting for logexp\r\n**** v1 0.6 vsl| 0 CLI - Rd debug.listen_address \r\n**** v1 0.6 vsl| 0 CLI - Wr 200 16 127.0.0.1 46781\r\n\r\n**** v1 0.6 vsl| 1000 Begin c sess 0 HTTP/1\r\n**** v1 0.6 vsl| 1000 SessOpen c 127.0.0.1 53442 a0 127.0.0.1 46781 1556051154.473491 19\r\n**** v1 0.6 vsl| 1000 Link c req 1001 rxreq\r\n**** v1 0.6 vsl| 0 Timestamp - vmod-dynamic vcl1.d4(127.0.0.1:http) Lookup: 1556051154.473908 0.000000 0.000000\r\n**** v1 0.6 vsl| 0 Timestamp - vmod-dynamic vcl1.d4(::1:http) Lookup: 1556051154.474028 0.000000 0.000000\r\n**** v1 0.6 vsl| 0 Timestamp - vmod-dynamic vcl1.d6(127.0.0.1:http) Lookup: 1556051154.474126 0.000000 0.000000\r\n**** v1 0.6 vsl| 0 Timestamp - vmod-dynamic vcl1.d6(::1:http) Lookup: 1556051154.474199 0.000000 0.000000\r\n**** v1 0.6 vsl| 0 Timestamp - vmod-dynamic vcl1.d4(::1:http) Results: 1556051154.475055 0.001027 0.001027\r\n**** v1 0.6 vsl| 0 Error - vmod-dynamic: vcl1 d4 ::1:http getaddrinfo -8 (Servname not supported for ai_socktype)\r\n**** v1 0.6 vsl| 1001 Begin c req 1000 rxreq\r\n**** v1 0.6 vsl| 1001 Timestamp c Start: 1556051154.473606 0.000000 0.000000\r\n**** v1 0.6 vsl| 1001 Timestamp c Req: 1556051154.473606 0.000000 0.000000\r\n**** v1 0.6 vsl| 1001 VCL_use c vcl1\r\n**** v1 0.6 vsl| 1001 ReqStart c 127.0.0.1 53442 a0\r\n**** v1 0.6 vsl| 1001 ReqMethod c GET\r\n**** v1 0.6 vsl| 1001 ReqURL c /\r\n**** v1 0.6 vsl| 1001 ReqProtocol c HTTP/1.1\r\n**** v1 0.6 vsl| 1001 ReqHeader c Host: 127.0.0.1\r\n**** v1 0.6 vsl| 1001 ReqHeader c X-Forwarded-For: 127.0.0.1\r\n**** v1 0.6 vsl| 1001 VCL_call c RECV\r\n**** v1 0.6 vsl| 1001 VCL_return c synth\r\n**** v1 0.6 vsl| 1001 VCL_call c HASH\r\n**** v1 0.6 vsl| 1001 VCL_return c lookup\r\n**** v1 0.6 vsl| 1001 Timestamp c Process: 1556051154.474159 0.000553 0.000553\r\n**** v1 0.6 vsl| 1001 RespHeader c Date: Tue, 23 Apr 2019 20:25:54 GMT\r\n**** v1 0.6 vsl| 1001 RespHeader c Server: Varnish\r\n**** v1 0.6 vsl| 1001 RespHeader c X-Varnish: 1001\r\n**** v1 0.6 vsl| 1001 RespProtocol c HTTP/1.1\r\n**** v1 0.6 vsl| 1001 RespStatus c 200\r\n**** v1 0.6 vsl| 1001 RespReason c OK\r\n**** v1 0.6 vsl| 1001 RespReason c OK\r\n**** v1 0.6 vsl| 1001 VCL_call c SYNTH\r\n**** v1 0.6 vsl| 1001 RespHeader c Content-Type: text/html; charset=utf-8\r\n**** v1 0.6 vsl| 1001 RespHeader c Retry-After: 5\r\n**** v1 0.6 vsl| 1001 VCL_return c deliver\r\n**** v1 0.6 vsl| 1001 RespHeader c Content-Length: 227\r\n**** v1 0.6 vsl| 1001 Storage c malloc Transient\r\n**** v1 0.6 vsl| 1001 Filters c \r\n**** v1 0.6 vsl| 1001 RespHeader c Accept-Ranges: bytes\r\n**** v1 0.6 vsl| 1001 RespHeader c Connection: keep-alive\r\n**** v1 0.6 vsl| 1001 Timestamp c Resp: 1556051154.475164 0.001558 0.001005\r\n**** v1 0.6 vsl| 1001 ReqAcct c 35 0 35 213 227 440\r\n**** v1 0.6 vsl| 1001 End c \r\n**** v1 0.6 vsl| 0 Timestamp - vmod-dynamic vcl1.d4(127.0.0.1:http) Results: 1556051154.475189 0.001281 0.001281\r\n**** v1 0.6 vsl| 0 Timestamp - vmod-dynamic vcl1.d6(127.0.0.1:http) Results: 1556051154.475199 0.001073 0.001073\r\n**** v1 0.6 vsl| 0 Error - vmod-dynamic: vcl1 d4 127.0.0.1:http getaddrinfo -8 (Servname not supported for ai_socktype)\r\n**** v1 0.6 vsl| 0 Error - vmod-dynamic: vcl1 d6 127.0.0.1:http getaddrinfo -8 (Servname not supported for ai_socktype)\r\n**** v1 0.6 vsl| 0 Timestamp - vmod-dynamic vcl1.d6(::1:http) Results: 1556051154.475218 0.001018 0.001018\r\n**** v1 0.6 vsl| 0 Error - vmod-dynamic: vcl1 d6 ::1:http getaddrinfo -8 (Servname not supported for ai_socktype)\r\n**** v1 0.6 vsl| 1000 SessClose c REM_CLOSE 0.003\r\n**** v1 0.6 vsl| 1000 End c \r\n**** v1 3.4 vsl| 0 CLI - Rd ping\r\n**** v1 3.4 vsl| 0 CLI - Wr 200 19 PONG 1556051157 1.0\r\n**** v1 6.4 vsl| 0 CLI - Rd ping\r\n**** v1 6.4 vsl| 0 CLI - Wr 200 19 PONG 1556051160 1.0\r\n**** v1 9.4 vsl| 0 CLI - Rd ping\r\n**** v1 9.4 vsl| 0 CLI - Wr 200 19 PONG 1556051163 1.0\r\n**** v1 12.5 vsl| 0 CLI - Rd ping\r\n**** v1 12.5 vsl| 0 CLI - Wr 200 19 PONG 1556051166 1.0\r\n**** v1 15.5 vsl| 0 CLI - Rd ping\r\n**** v1 15.5 vsl| 0 CLI - Wr 200 19 PONG 1556051169 1.0\r\n**** v1 18.5 vsl| 0 CLI - Rd ping\r\n**** v1 18.5 vsl| 0 CLI - Wr 200 19 PONG 1556051172 1.0\r\n**** v1 21.4 vsl| 0 CLI - Rd ping\r\n**** v1 21.4 vsl| 0 CLI - Wr 200 19 PONG 1556051175 1.0\r\n**** v1 24.4 vsl| 0 CLI - Rd ping\r\n**** v1 24.4 vsl| 0 CLI - Wr 200 19 PONG 1556051178 1.0\r\n**** v1 27.4 vsl| 0 CLI - Rd ping\r\n**** v1 27.4 vsl| 0 CLI - Wr 200 19 PONG 1556051181 1.0\r\n**** v1 30.4 vsl| 0 CLI - Rd ping\r\n**** v1 30.4 vsl| 0 CLI - Wr 200 19 PONG 1556051184 1.0\r\n**** v1 33.4 vsl| 0 CLI - Rd ping\r\n**** v1 33.4 vsl| 0 CLI - Wr 200 19 PONG 1556051187 1.0\r\n**** v1 36.4 vsl| 0 CLI - Rd ping\r\n**** v1 36.4 vsl| 0 CLI - Wr 200 19 PONG 1556051190 1.0\r\n**** v1 39.4 vsl| 0 CLI - Rd ping\r\n**** v1 39.4 vsl| 0 CLI - Wr 200 19 PONG 1556051193 1.0\r\n**** v1 42.4 vsl| 0 CLI - Rd ping\r\n**** v1 42.4 vsl| 0 CLI - Wr 200 19 PONG 1556051196 1.0\r\n**** v1 45.4 vsl| 0 CLI - Rd ping\r\n**** v1 45.4 vsl| 0 CLI - Wr 200 19 PONG 1556051199 1.0\r\n**** v1 48.4 vsl| 0 CLI - Rd ping\r\n**** v1 48.4 vsl| 0 CLI - Wr 200 19 PONG 1556051202 1.0\r\n**** v1 51.4 vsl| 0 CLI - Rd ping\r\n**** v1 51.4 vsl| 0 CLI - Wr 200 19 PONG 1556051205 1.0\r\n**** v1 54.4 vsl| 0 CLI - Rd ping\r\n**** v1 54.4 vsl| 0 CLI - Wr 200 19 PONG 1556051208 1.0\r\n**** v1 57.4 vsl| 0 CLI - Rd ping\r\n**** v1 57.4 vsl| 0 CLI - Wr 200 19 PONG 1556051211 1.0\r\n# top TEST ./tests/test09.vtc TIMED OUT (kill -9)\r\n# top TEST ./tests/test09.vtc FAILED (60.061) signal=9\r\nFAIL tests/test09.vtc (exit status: 2)\r\n\r\n============================================================================\r\nTestsuite summary for libvmod-dynamic trunk\r\n============================================================================\r\n# TOTAL: 14\r\n# PASS: 13\r\n# SKIP: 0\r\n# XFAIL: 0\r\n# FAIL: 1\r\n# XPASS: 0\r\n# ERROR: 0\r\n============================================================================\r\nSee src/test-suite.log\r\n============================================================================\r\n\r\n```","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/47/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/47/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/48","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/48/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/48/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/48/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/48","id":468740958,"node_id":"MDU6SXNzdWU0Njg3NDA5NTg=","number":48,"title":"Compile error in varnish 6.0.1-1~stretch","user":{"login":"razvanphp","id":4599319,"node_id":"MDQ6VXNlcjQ1OTkzMTk=","avatar_url":"https://avatars.githubusercontent.com/u/4599319?v=4","gravatar_id":"","url":"https://api.github.com/users/razvanphp","html_url":"https://github.com/razvanphp","followers_url":"https://api.github.com/users/razvanphp/followers","following_url":"https://api.github.com/users/razvanphp/following{/other_user}","gists_url":"https://api.github.com/users/razvanphp/gists{/gist_id}","starred_url":"https://api.github.com/users/razvanphp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/razvanphp/subscriptions","organizations_url":"https://api.github.com/users/razvanphp/orgs","repos_url":"https://api.github.com/users/razvanphp/repos","events_url":"https://api.github.com/users/razvanphp/events{/privacy}","received_events_url":"https://api.github.com/users/razvanphp/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2019-07-16T16:05:31Z","updated_at":"2019-07-25T10:01:07Z","closed_at":"2019-07-17T09:56:52Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"We are using tag 6.0, where you backported some refactorings and we are now getting the following error:\r\n\r\n```\r\nIn file included from vmod_dynamic.c:56:0:\r\nvmod_dynamic.h:88:2: error: unknown type name ‘vtim_real’\r\n vtim_real deadline;\r\n ^~~~~~~~~\r\nvmod_dynamic.h:137:2: error: unknown type name ‘vtim_real’\r\n vtim_real deadline;\r\n ^~~~~~~~~\r\nvmod_dynamic.c:410:17: error: unknown type name ‘vtim_real’\r\n void *priv, vtim_real now)\r\n ^~~~~~~~~\r\nvmod_dynamic.c: In function ‘dynamic_lookup_thread’:\r\nvmod_dynamic.c:474:2: error: unknown type name ‘vtim_real’\r\n vtim_real lookup, results, update;\r\n ^~~~~~~~~\r\nvmod_dynamic.c:498:4: error: implicit declaration of function ‘dynamic_update_domain’ [-Werror=implicit-function-declaration]\r\n dynamic_update_domain(dom, res, res_priv, results);\r\n ^~~~~~~~~~~~~~~~~~~~~\r\nAt top level:\r\nvmod_dynamic.c:311:1: error: ‘dynamic_add’ defined but not used [-Werror=unused-function]\r\n dynamic_add(VRT_CTX, struct dynamic_domain *dom, const struct res_info *info)\r\n ^~~~~~~~~~~\r\ncc1: all warnings being treated as errors\r\nmake[2]: *** [vmod_dynamic.lo] Error 1\r\nmake[1]: ***\r\n```","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/48/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/48/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/49","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/49/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/49/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/49/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/49","id":472708206,"node_id":"MDU6SXNzdWU0NzI3MDgyMDY=","number":49,"title":"compilation issue for 6.0.3","user":{"login":"darjisanket","id":28775672,"node_id":"MDQ6VXNlcjI4Nzc1Njcy","avatar_url":"https://avatars.githubusercontent.com/u/28775672?v=4","gravatar_id":"","url":"https://api.github.com/users/darjisanket","html_url":"https://github.com/darjisanket","followers_url":"https://api.github.com/users/darjisanket/followers","following_url":"https://api.github.com/users/darjisanket/following{/other_user}","gists_url":"https://api.github.com/users/darjisanket/gists{/gist_id}","starred_url":"https://api.github.com/users/darjisanket/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/darjisanket/subscriptions","organizations_url":"https://api.github.com/users/darjisanket/orgs","repos_url":"https://api.github.com/users/darjisanket/repos","events_url":"https://api.github.com/users/darjisanket/events{/privacy}","received_events_url":"https://api.github.com/users/darjisanket/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2019-07-25T07:27:49Z","updated_at":"2019-07-25T09:45:05Z","closed_at":"2019-07-25T09:45:02Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Thanks for libvmod-dynamic it helps us to scale up/down our environment based on traffic. currently, we are using 4.1 and wanted to move to 6.0.\r\nI am using https://packagecloud.io/varnishcache/varnish60lts repo for varnish.\r\nwhile compiling, I got below compilation issues.\r\n \r\n```\r\n VMODTOOL vcc_dynamic_if.c\r\n CC vmod_dynamic.lo\r\n CC dyn_resolver_gai.lo\r\n CC vmod_dynamic_service.lo\r\nvmod_dynamic_service.c: In function 'service_resolve':\r\nvmod_dynamic_service.c:161:5: error: 'n' may be used uninitialized in this function [-Werror=maybe-uninitialized]\r\n if (n == 0)\r\n ^\r\nvmod_dynamic_service.c:166:5: error: 'w' may be used uninitialized in this function [-Werror=maybe-uninitialized]\r\n if (w == 0) {\r\n ^\r\ncc1: all warnings being treated as errors\r\nmake[2]: Leaving directory `/usr/redsky/src/libvmod-dynamic/src'\r\nmake[2]: *** [vmod_dynamic_service.lo] Error 1\r\nmake[1]: *** [all-recursive] Error 1\r\nmake[1]: Leaving directory `/usr/redsky/src/libvmod-dynamic'\r\nmake: *** [all] Error 2\r\n```","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/49/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/49/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/50","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/50/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/50/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/50/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/50","id":484121184,"node_id":"MDExOlB1bGxSZXF1ZXN0MzEwMDY2MDM2","number":50,"title":"Add missing headers when building under FreeBSD + FreeBSD installation instructions","user":{"login":"zi0r","id":1676702,"node_id":"MDQ6VXNlcjE2NzY3MDI=","avatar_url":"https://avatars.githubusercontent.com/u/1676702?v=4","gravatar_id":"","url":"https://api.github.com/users/zi0r","html_url":"https://github.com/zi0r","followers_url":"https://api.github.com/users/zi0r/followers","following_url":"https://api.github.com/users/zi0r/following{/other_user}","gists_url":"https://api.github.com/users/zi0r/gists{/gist_id}","starred_url":"https://api.github.com/users/zi0r/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zi0r/subscriptions","organizations_url":"https://api.github.com/users/zi0r/orgs","repos_url":"https://api.github.com/users/zi0r/repos","events_url":"https://api.github.com/users/zi0r/events{/privacy}","received_events_url":"https://api.github.com/users/zi0r/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2019-08-22T17:29:30Z","updated_at":"2019-08-23T07:54:20Z","closed_at":"2019-08-23T07:54:16Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/50","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/50","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/50.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/50.patch","merged_at":"2019-08-23T07:54:16Z"},"body":"Currently fails to build under FreeBSD 11.3 without these includes.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/50/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/50/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/51","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/51/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/51/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/51/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/51","id":503980746,"node_id":"MDU6SXNzdWU1MDM5ODA3NDY=","number":51,"title":"vmod-dynamic accepts port=0 which causes segfault","user":{"login":"lukaszlach","id":5011490,"node_id":"MDQ6VXNlcjUwMTE0OTA=","avatar_url":"https://avatars.githubusercontent.com/u/5011490?v=4","gravatar_id":"","url":"https://api.github.com/users/lukaszlach","html_url":"https://github.com/lukaszlach","followers_url":"https://api.github.com/users/lukaszlach/followers","following_url":"https://api.github.com/users/lukaszlach/following{/other_user}","gists_url":"https://api.github.com/users/lukaszlach/gists{/gist_id}","starred_url":"https://api.github.com/users/lukaszlach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lukaszlach/subscriptions","organizations_url":"https://api.github.com/users/lukaszlach/orgs","repos_url":"https://api.github.com/users/lukaszlach/repos","events_url":"https://api.github.com/users/lukaszlach/events{/privacy}","received_events_url":"https://api.github.com/users/lukaszlach/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"assignees":[{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false}],"milestone":null,"comments":1,"created_at":"2019-10-08T11:13:28Z","updated_at":"2019-10-10T12:11:38Z","closed_at":"2019-10-10T12:11:38Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"If you define a service (for example in Consul) and do not provide the port number, SRV records return value of `0`. When vmod-dynamic tries to load such backend Varnish crashes with:\r\n\r\n```\r\nChild (24198) Panic at: Tue, 08 Oct 2019 10:45:17 GMT Wrong turn at mgt/mgt_child.c:287: Signal 11 (Segmentation fault) received at 0x10 si_code 1 version = varnish-5.2.0 revision 4c4875cbf, vrt api = 6.1 ident = Linux,3.16.0-6-amd64,x86_64,-junix,-smalloc,-smalloc,-hcritbit,epoll now = 19962215.563448 (mono), 1570531516.494987 (real)\r\n```\r\n\r\nThe issue is on this line:\r\nhttps://github.com/nigoroll/libvmod-dynamic/blob/master/src/dyn_resolver_getdns.c#L386\r\n\r\nThe internal discussion I have had about this issue ended with conslusion that if the port returned in SRV is invalid (`<= 0`), vmod should just ignore it and no try to fix it with hardcoded port `80`.\r\n","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/51/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/51/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/52","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/52/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/52/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/52/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/52","id":559811795,"node_id":"MDU6SXNzdWU1NTk4MTE3OTU=","number":52,"title":"Varnish stopped processing requests - threads waiting on vcl_mtx lock","user":{"login":"jpastuszek","id":20052,"node_id":"MDQ6VXNlcjIwMDUy","avatar_url":"https://avatars.githubusercontent.com/u/20052?v=4","gravatar_id":"","url":"https://api.github.com/users/jpastuszek","html_url":"https://github.com/jpastuszek","followers_url":"https://api.github.com/users/jpastuszek/followers","following_url":"https://api.github.com/users/jpastuszek/following{/other_user}","gists_url":"https://api.github.com/users/jpastuszek/gists{/gist_id}","starred_url":"https://api.github.com/users/jpastuszek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpastuszek/subscriptions","organizations_url":"https://api.github.com/users/jpastuszek/orgs","repos_url":"https://api.github.com/users/jpastuszek/repos","events_url":"https://api.github.com/users/jpastuszek/events{/privacy}","received_events_url":"https://api.github.com/users/jpastuszek/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":2228316027,"node_id":"MDU6TGFiZWwyMjI4MzE2MDI3","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/needs%20varnish-cache","name":"needs varnish-cache","color":"006b75","default":false,"description":"needs work in varnish-cache"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2020-02-04T15:54:47Z","updated_at":"2020-12-16T15:11:19Z","closed_at":"2020-12-16T15:11:19Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"I think this was caused by a deadlock related to VMOD `dynamic` and `varnishadm` utility with Varnish v6.3 (patched).\r\n\r\nI am using VMOD dynamic with a backend that keeps rotating its IP addresses frequently. Also I monitor Varnish with a script calling `varnishadm backend.list` every few minutes.\r\n\r\nI was able to obtain a stack trace after Varnish stopped processing requests and before it got auto-restarted by manager (CLI timeout).\r\n\r\nAs far as I can tell from the trace, request processing threads got stuck on `Lck_Lock(&vcl_mtx);` call.\r\n\r\nI found two outstanding threads also involved in locking:\r\n\r\nWhat I suspect a thread running from VMOD dynamic calling into `dynamic_lookup_thread` function:\r\n```\r\n #3 0x0000000000437e4f in Lck__Lock (lck=, p=p@entry=0x4c6800 <__func__.9352> \"VRT_AddDirector\", l=l@entry=192) at cache/cache_lck.c:120\r\n #4 0x000000000045acb7 in VRT_AddDirector (ctx=ctx@entry=0x7fc5bdf01d80, m=m@entry=0x4b6980 , priv=priv@entry=0x7fc5da5b1080, fmt=fmt@entry=0x4c1fe4 \"%s\") at cache/cache_vrt_vcl.c:192\r\n\t[WAITING A] Lck_Lock(&vcl_mtx); https://github.com/varnishcache/varnish-cache/blob/0e192d6fa1691ebe9a4a3dcb600579cd43a0c1ba/bin/varnishd/cache/cache_vrt_vcl.c#L199\r\n #5 0x000000000041aac7 in VRT_new_backend_clustered (ctx=0x7fc5bdf01d80, vc=, vrt=0x7fc5bdf01e10) at cache/cache_backend.c:601\r\n\tcalled by VRT_new_backend\r\n\tsrc/vmod_dynamic.c:405 VRT_new_backend <- (dynamic_add <- dynamic_update_domain <- dynamic_lookup_thread)\r\n dynamic_update_domain:\r\n [LOCKED B] Lck_Lock(&dom->mtx); https://github.com/nigoroll/libvmod-dynamic/blob/71820eb7f91ad7e87755d02e522893a9e12dd55b/src/vmod_dynamic.c#L432\r\n #6 0x00007fc62c574550 in ?? ()\r\n #7 0x00007fc5ee1caa40 in ?? ()\r\n #8 0x00007fc62c579f3f in ?? ()\r\n #9 0x00007fc5bdf01ed0 in ?? ()\r\n #10 0x00007fc62c573cdc in ?? ()\r\n #11 0x500000024b1e9335 in ?? ()\r\n #12 0x000000001736c622 in ?? ()\r\n #13 0x0000000000000000 in ?? ()\r\n```\r\n\r\nWhat I suspect a thread running in response to `varnishadm backend.list` command calling `cli_backend_list` function:\r\n```\r\n #3 0x0000000000437e4f in Lck__Lock (lck=, p=, l=) at cache/cache_lck.c:120\r\n\tdynamic_healthy\r\n\t[WAITING B] Lck_Lock(&dom->mtx); https://github.com/nigoroll/libvmod-dynamic/blob/71820eb7f91ad7e87755d02e522893a9e12dd55b/src/vmod_dynamic.c#L180\r\n #4 0x00007fc62c5733e8 in ?? ()\r\n #5 0x00007ffed88ef710 in ?? ()\r\n #6 0x00007fd104c68cdd in __GI___clock_gettime (clock_id=, tp=) at ../sysdeps/unix/clock_gettime.c:115\r\n #7 0x00000000004ad83e in VTIM_real () at vtim.c:152\r\n #8 0x00007fd104027210 in ?? ()\r\n #9 0x00000000004238f0 in ?? () at cache/cache_director.c:224\r\n #10 0x0000000000423a66 in cli_health (d=0x7fc5df8584e0, ctx=) at cache/cache_director.c:308\r\n #11 do_list (cli=, d=0x7fc5df8584e0, priv=0x0) at cache/cache_director.c:335\r\n #12 0x000000000044c90c in vcl_iterdir (cli=cli@entry=0x7fd104027210, pat=0x7fc5e41cb880 \"default_reload_20200128_101739.*\", func=0x7fc5df8584f8, func@entry=0x4238f0 , priv=priv@entry=0x7ffed88ef710, vcl=0x7fc5db2fbaa0) at cache/cache_vcl.c:275\r\n\t[LOCKED A] Lck_Lock(&vcl_mtx); https://github.com/varnishcache/varnish-cache/blob/0e192d6fa1691ebe9a4a3dcb600579cd43a0c1ba/bin/varnishd/cache/cache_vcl.c#L342\r\n #13 0x000000000044df13 in VCL_IterDirector (cli=cli@entry=0x7fd104027210, pat=, func=func@entry=0x4238f0 , priv=priv@entry=0x7ffed88ef710) at cache/cache_vcl.c:310\r\n #14 0x000000000042328d in cli_backend_list (cli=0x7fd104027210, av=0x7fd10401d980, priv=) at cache/cache_director.c:439\r\n```\r\n\r\nUnfortunately the traces from VMOD are missing symbol names even though I have debug symbols installed (dynamic loading?). So what is following is a bit of a guess work.\r\n\r\nThe `cli_backend_list` call, before it can iterate backend list, acquires the `vcl_mtx` lock (https://github.com/varnishcache/varnish-cache/blob/0e192d6fa1691ebe9a4a3dcb600579cd43a0c1ba/bin/varnishd/cache/cache_vcl.c#L342), next it asks each backend for health status (for the listing) via `VRT_Healthy`, this call is forwarded to VMOD dynamic which firstly tries to acquire `dom->mtx` lock (https://github.com/nigoroll/libvmod-dynamic/blob/71820eb7f91ad7e87755d02e522893a9e12dd55b/src/vmod_dynamic.c#L180) before it can iterate dynamic sub-directors to enquire for their status.\r\nNow at the same time `dynamic_lookup_thread` wakes up to update the dynamic sub-director list from DNS results: it resolves the domain name in DNS and if IP list differs from last run it will go and acquire `dom->mtx` lock (https://github.com/nigoroll/libvmod-dynamic/blob/71820eb7f91ad7e87755d02e522893a9e12dd55b/src/vmod_dynamic.c#L432) and call into Varnish to add new backend with `VRT_new_backend` call, this call requires `vcl_mtx` locked (https://github.com/varnishcache/varnish-cache/blob/0e192d6fa1691ebe9a4a3dcb600579cd43a0c1ba/bin/varnishd/cache/cache_vrt_vcl.c#L199) for Varnish to be able to add entry to backend list which is held currently by `cli_backend_list` call chain waiting for `dom->mtx` lock leading to ABBA deadlock.\r\n\r\nWhat follows is that any time a request, that requires access to a backend, comes in Varnish will block on `vcl_mtx`.\r\nI suspect this issue has occurred few times before, but I got it mixed up with hangs related to thread scheduling that I got patched up now.\r\n","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/52/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/52/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/53","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/53/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/53/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/53/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/53","id":580546409,"node_id":"MDU6SXNzdWU1ODA1NDY0MDk=","number":53,"title":"dynamic.director not creating backends","user":{"login":"Raboo","id":1148206,"node_id":"MDQ6VXNlcjExNDgyMDY=","avatar_url":"https://avatars.githubusercontent.com/u/1148206?v=4","gravatar_id":"","url":"https://api.github.com/users/Raboo","html_url":"https://github.com/Raboo","followers_url":"https://api.github.com/users/Raboo/followers","following_url":"https://api.github.com/users/Raboo/following{/other_user}","gists_url":"https://api.github.com/users/Raboo/gists{/gist_id}","starred_url":"https://api.github.com/users/Raboo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Raboo/subscriptions","organizations_url":"https://api.github.com/users/Raboo/orgs","repos_url":"https://api.github.com/users/Raboo/repos","events_url":"https://api.github.com/users/Raboo/events{/privacy}","received_events_url":"https://api.github.com/users/Raboo/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":9,"created_at":"2020-03-13T11:38:44Z","updated_at":"2020-07-24T18:09:48Z","closed_at":"2020-07-24T18:09:47Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi,\r\n\r\nI am trying this vmod (and varnish) for the first time. Is there any helpful soul that can explain why only the dummy backend gets created? Am I missing something in my configuration?\r\n\r\n*opentsdb.service.consul* resolves into two SRV records that points to two nodes with weight and priority 1. TTL from DNS is 0.\r\nHowever I also tested *_test._tcp.vmod-dynamic.uplex.de* and that didn't work either.\r\n\r\n\r\n```\r\nvcl 4.1;\r\nimport dynamic;\r\n\r\nbackend dummy { .host = \"localhost\"; }\r\n\r\nprobe tsdb_probe {\r\n .url = \"/version\";\r\n .interval = 5s;\r\n .timeout = 1s;\r\n .window = 5;\r\n .threshold = 3;\r\n .initial = 3;\r\n}\r\n\r\nsub vcl_init {\r\n new r = dynamic.resolver();\r\n new d = dynamic.director(\r\n resolver = r.use(),\r\n probe = tsdb_probe,\r\n ttl = 30s,\r\n ttl_from = cfg\r\n );\r\n d.debug(true);\r\n}\r\n\r\nsub vcl_recv {\r\n set req.backend_hint = d.service(\"opentsdb.service.consul\");\r\n set client.identity = regsuball(req.url, \"&(o|ignore|png|json|html|y2?range|y2?label|y2?log|key|nokey)\\b(=[^&]*)?\", \"\");\r\n}\r\n\r\nsub vcl_hash {\r\n hash_data(regsuball(req.url, \"&ignore\\b(=[^&]*)?\", \"\"));\r\n if (req.http.host) {\r\n hash_data(req.http.host);\r\n } else {\r\n hash_data(server.ip);\r\n }\r\n return (lookup);\r\n}\r\n```\r\n\r\nRunning `backend.list` in varnish debug mode. I get this output, i.e. the dummy backend. No created backend from dynamic.director().\r\n```\r\nbackend.list\r\n200 134\r\nBackend name Admin Probe Health Last change\r\nboot.dummy healthy 0/0 healthy Fri, 13 Mar 2020 02:13:56 GMT\r\n```\r\n\r\nI can add that doing a tcpdump when starting varnish shows me it is not even doing any DNS lookups.\r\n\r\nI tested varnish 6.3.2, but also tried 6.2.3 and 6.0.6.\r\nOn 6.3.2 I ran with libvmod-dynamic commit 71820eb7f91ad7e87755d02e522893a9e12dd55b and 88161b3018305915c9cf0d2b45f695da709275da.\r\n\r\nUpdate: add tcpdump info.\r\nUpdate: add version info.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/53/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/53/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/54","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/54/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/54/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/54/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/54","id":583553144,"node_id":"MDU6SXNzdWU1ODM1NTMxNDQ=","number":54,"title":"Difficulties compiling for Varnish 5.2 into a .deb package","user":{"login":"Thertor","id":53084078,"node_id":"MDQ6VXNlcjUzMDg0MDc4","avatar_url":"https://avatars.githubusercontent.com/u/53084078?v=4","gravatar_id":"","url":"https://api.github.com/users/Thertor","html_url":"https://github.com/Thertor","followers_url":"https://api.github.com/users/Thertor/followers","following_url":"https://api.github.com/users/Thertor/following{/other_user}","gists_url":"https://api.github.com/users/Thertor/gists{/gist_id}","starred_url":"https://api.github.com/users/Thertor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Thertor/subscriptions","organizations_url":"https://api.github.com/users/Thertor/orgs","repos_url":"https://api.github.com/users/Thertor/repos","events_url":"https://api.github.com/users/Thertor/events{/privacy}","received_events_url":"https://api.github.com/users/Thertor/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2020-03-18T08:25:07Z","updated_at":"2020-03-18T10:14:56Z","closed_at":"2020-03-18T09:42:19Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi, I'm trying to compile the module from source and building it into a .deb package in ubuntu, but I'm getting errors during the last step, see below logs:\r\n\r\n```\r\nBuilding using working tree\r\nBuilding package in normal mode\r\nPurging the build dir: /home/eivind/build-area/libvmod-dynamic-5.2-1\r\nLooking for a way to retrieve the upstream tarball\r\nUpstream tarball already exists in build directory, using that\r\nBuilding the package in /home/eivind/build-area/libvmod-dynamic-5.2-1, using debuild -us -uc\r\n dpkg-buildpackage -rfakeroot -us -uc -ui\r\ndpkg-buildpackage: info: source package libvmod-dynamic\r\ndpkg-buildpackage: info: source version 5.2-1-1\r\ndpkg-buildpackage: info: source distribution bionic\r\ndpkg-buildpackage: info: source changed by Eivind Sivertsen \r\n dpkg-source --before-build libvmod-dynamic-5.2-1\r\ndpkg-buildpackage: info: host architecture amd64\r\n fakeroot debian/rules clean\r\ndh clean\r\n dh_clean\r\n dpkg-source -b libvmod-dynamic-5.2-1\r\ndpkg-source: info: using source format '3.0 (quilt)'\r\ndpkg-source: info: building libvmod-dynamic using existing ./libvmod-dynamic_5.2-1.orig.tar.gz\r\ndpkg-source: info: building libvmod-dynamic in libvmod-dynamic_5.2-1-1.debian.tar.xz\r\ndpkg-source: info: building libvmod-dynamic in libvmod-dynamic_5.2-1-1.dsc\r\n debian/rules build\r\ndh build\r\n dh_update_autotools_config\r\n dh_autoreconf\r\naclocal: error: couldn't open directory '/aclocal': No such file or directory\r\nautoreconf: aclocal failed with exit status: 1\r\ndh_autoreconf: autoreconf -f -i returned exit code 1\r\ndebian/rules:18: recipe for target 'build' failed\r\nmake: *** [build] Error 2\r\ndpkg-buildpackage: error: debian/rules build subprocess returned exit status 2\r\ndebuild: fatal error at line 1152:\r\ndpkg-buildpackage -rfakeroot -us -uc -ui failed\r\nbzr: ERROR: The build failed.\r\n````","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/54/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/54/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/55","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/55/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/55/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/55/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/55","id":583788982,"node_id":"MDU6SXNzdWU1ODM3ODg5ODI=","number":55,"title":"panic when creating new backends","user":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804422,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjI=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/bug","name":"bug","color":"ee0701","default":true,"description":null},{"id":2228311103,"node_id":"MDU6TGFiZWwyMjI4MzExMTAz","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/needs%20%E2%99%A1Sponsor","name":"needs ♡Sponsor","color":"e094d3","default":false,"description":"looking for support ♥"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2020-03-18T14:57:01Z","updated_at":"2020-10-26T21:44:31Z","closed_at":"2020-10-14T10:00:31Z","author_association":"OWNER","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"reported by @Raboo in https://github.com/nigoroll/libvmod-dynamic/issues/53#issuecomment-600657956\r\n```\r\n# varnishadm panic.show\r\nPanic at: Wed, 18 Mar 2020 14:31:52 GMT\r\nAssert error in vbp_build_req(), cache/cache_backend_probe.c line 593:\r\n Condition((be->hosthdr) != 0) not true.\r\nversion = varnish-6.4.0 revision 13f137934ec1cf14af66baf7896311115ee35598, vrt api = 11.0\r\nident = Linux,4.4.0-171-generic,x86_64,-junix,-smalloc,-sdefault,-hcritbit,epoll\r\nnow = 3632990.458782 (mono), 1584541911.163488 (real)\r\nBacktrace:\r\n 0x55fa88f43b85: varnishd(+0x50b85) [0x55fa88f43b85]\r\n 0x55fa88fb11e7: varnishd(VAS_Fail+0x17) [0x55fa88fb11e7]\r\n 0x55fa88f213ca: varnishd(+0x2e3ca) [0x55fa88f213ca]\r\n 0x55fa88f1ec78: varnishd(VRT_new_backend_clustered+0x2d8) [0x55fa88f1ec78]\r\n 0x7f0ee3ce3f49: ./vmod_cache/_vmod_dynamic.8464fed2571d152330aca2a8c2ba9d613da02b332f734302a48d8a6371a4998a(+0x5f49) [0x7f0ee3ce3f49]\r\n 0x7f0ef1711fa3: /lib/x86_64-linux-gnu/libpthread.so.0(+0x7fa3) [0x7f0ef1711fa3]\r\n 0x7f0ef16424cf: /lib/x86_64-linux-gnu/libc.so.6(clone+0x3f) [0x7f0ef16424cf]\r\npthread.attr = {\r\n guard = 4096,\r\n stack_bottom = 0x7f0ee1c48000,\r\n stack_top = 0x7f0ee2448000,\r\n stack_size = 8388608,\r\n}\r\nthr.req = (nil) {\r\n},\r\nthr.busyobj = (nil) {\r\n},\r\nvmods = {\r\n dynamic = {0x7f0ef0eea070, Varnish 6.4.0 13f137934ec1cf14af66baf7896311115ee35598, 0.0},\r\n},\r\n```","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/55/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/55/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/56","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/56/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/56/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/56/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/56","id":642977329,"node_id":"MDExOlB1bGxSZXF1ZXN0NDM3ODY1NjQ5","number":56,"title":"Update RPM packaging for compatibility with Varnish 6.3.2 and 6.4.0.","user":{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2020-06-22T11:09:14Z","updated_at":"2020-06-23T15:50:54Z","closed_at":"2020-06-23T15:50:54Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/56","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/56","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/56.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/56.patch","merged_at":"2020-06-23T15:50:54Z"},"body":"I also pushed some tags to this fork, but I'm not sure if tags are included in a github PR. The tags go with these commitishes:\r\n2.0.0 => 71820eb7f91ad7e87755d02e522893a9e12dd55b\r\n2.1.0 => b08408a45f3d4a3c13cd2d43f8125256f5454487\r\n2.2.0 => 92ab61fd3cb73edbec30e6e754f5c9862767466d\r\nThat way, the VERSION set in AC_INIT, and set for the RPM version, matches the git tag.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/56/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/56/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/57","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/57/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/57/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/57/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/57","id":643952782,"node_id":"MDExOlB1bGxSZXF1ZXN0NDM4NjYwOTA3","number":57,"title":"Enable use of dynamic.backend() in vcl_init.","user":{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2020-06-23T15:48:29Z","updated_at":"2020-06-24T09:12:52Z","closed_at":"2020-06-24T09:12:52Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/57","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/57","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/57.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/57.patch","merged_at":"2020-06-24T09:12:52Z"},"body":"I'm not sure if this is right, so I'm primarily asking for review and feedback. (But of course the PR can be merged if it is right.)\r\n\r\nThat is, I'm not sure if it's enough just to decline starting the lookup thread when `.backend()` is called in `vcl_init`, or if there are other conditions and/or invariants that might be violated.\r\n\r\nI'm also not sure if the added check in `.backend()` is strictly necessary -- load failure if the `.host` field is not set. It just doesn't make much sense to me to use `.backend()` in `vcl_init` unless you are providing a host to look up.\r\n\r\nAnd I haven't thought of a way to write a vtc test without installing another VMOD, since you need something that uses a BACKEND in `vcl_init`. I tested with this VCL using VMOD re2:\r\n```\r\nvcl 4.1;\r\n\r\nimport re2;\r\nimport dynamic;\r\n\r\nbackend fail None;\r\n\r\nsub vcl_init {\r\n new d = dynamic.director();\r\n d.debug(true);\r\n\r\n new r = re2.set(literal=true, anchor=both);\r\n r.add(\"one\", backend=d.backend(\"one.test.uplex.de\"));\r\n r.add(\"two-a\", backend=d.backend(\"two-a.test.uplex.de\"));\r\n r.add(\"two-b\", backend=d.backend(\"two-b.test.uplex.de\"));\r\n r.compile();\r\n}\r\n\r\nsub vcl_recv {\r\n set req.backend_hint = fail;\r\n if (r.match(req.http.Domain)) {\r\n set req.backend_hint = r.backend();\r\n }\r\n}\r\n```\r\n\r\nBefore the change, calling `.backend()` in `vcl_init` resulted in assertion failure, since the lookup thread was started by both `dynamic_get()` (called by the method implementation) and `dynamic_start()` (called by the event handler). Obviously we wouldn't want two threads running when one is enough. But it also violated assumptions about the state enum:\r\n```\r\nDebug: Child (16913) Started\r\nError: Child (16913) not responding to CLI, killed it.\r\nCLI result = 400\r\nError: Child (16913) Pushing vcls failed:\r\nCLI communication error (hdr)\r\nDebug: Stopping Child\r\nError: Child (16913) died signal=6 (core dumped)\r\nError: Child (16913) Panic at: Tue, 23 Jun 2020 12:40:35 GMT\r\nAssert error in dynamic_start(), vmod_dynamic.c line 646:\r\n Condition(dom->status == DYNAMIC_ST_READY) not true.\r\n```\r\nThis was because `.backend()` was called first, which started the thread and changed the state before the evnt handler ran and called `dynamic_start()`.\r\n\r\nWith the change in the PR, I get the expected result:\r\n```\r\n# varnish listening at port :8080\r\n$ curl -I -X GET -H 'Domain: one' -H 'Host: one.test.uplex.de' http://localhost:8080\r\nHTTP/1.1 302 Found\r\nDate: Tue, 23 Jun 2020 15:42:36 GMT\r\nServer: Varnish\r\nX-Varnish: 18335502\r\nLocation: https://one.test.uplex.de/\r\nContent-Length: 0\r\nX-Varnish: 32773\r\nAge: 0\r\nVia: 1.1 varnish (Varnish/6.4)\r\nConnection: keep-alive\r\n```\r\nThe redirect response to https matches the response you get for `http://one.test.uplex.de`, and the same thing happens for the `two-a` and `two-b` domains.\r\n\r\nI also see the Timestamps from VMOD dynamic as expected in the log:\r\n```\r\n$ varnishlog -g raw -q 'vxid == 0 and Timestamp' -d\r\n 0 Timestamp - vmod-dynamic boot.d(one.test.uplex.de:http) Lookup: 1592925593.002916 0.000000 0.000000\r\n 0 Timestamp - vmod-dynamic boot.d(two-a.test.uplex.de:http) Lookup: 1592925593.002975 0.000000 0.000000\r\n 0 Timestamp - vmod-dynamic boot.d(two-b.test.uplex.de:http) Lookup: 1592925593.002990 0.000000 0.000000\r\n 0 Timestamp - vmod-dynamic boot.d(one.test.uplex.de:http) Results: 1592925593.006311 0.003395 0.003395\r\n 0 Timestamp - vmod-dynamic boot.d(one.test.uplex.de:http) Update: 1592925593.006472 0.003555 0.000160\r\n 0 Timestamp - vmod-dynamic boot.d(two-b.test.uplex.de:http) Results: 1592925593.007160 0.004170 0.004170\r\n 0 Timestamp - vmod-dynamic boot.d(two-b.test.uplex.de:http) Update: 1592925593.007166 0.004176 0.000006\r\n 0 Timestamp - vmod-dynamic boot.d(two-a.test.uplex.de:http) Results: 1592925593.007333 0.004358 0.004358\r\n 0 Timestamp - vmod-dynamic boot.d(two-a.test.uplex.de:http) Update: 1592925593.007339 0.004364 0.000006\r\n```\r\n@nigoroll have I overlooked anything? (Could it be this easy?)","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/57/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/57/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/58","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/58/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/58/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/58/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/58","id":645436170,"node_id":"MDExOlB1bGxSZXF1ZXN0NDM5OTE4NDg0","number":58,"title":"Add branch 6.3","user":{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2020-06-25T10:07:19Z","updated_at":"2020-06-26T09:43:54Z","closed_at":"2020-06-26T09:43:53Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/58","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/58","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/58.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/58.patch","merged_at":null},"body":"This adds a new branch, since the most recently added test (test14.vtc) uses backend None, which was not available in Varnish 6.3. There are currently 10 vtc tests that use the `$bad_ip` macro, so we may want to change these over time on the master branch to use None.\r\n\r\nThe new branch includes a version 2.1.1, which I used for a new RPM that adds the recent new feature -- calling `.backend()` in `vcl_init`, which among other things allows the dynamic cirector to be layered with other directors. The RPM is already available at https://pkg.uplex.de.\r\n\r\n@nigoroll I tagged commit f9f4b245c8dca9b8c7ef1ecc815fa79566789bf1 as v2.1.1, but tags are not merged when github PRs are merged. So you'll probably have to do that for your github repo. I recommend that the main repo has git tags to match the version in `AC_INIT`, so that they match the RPM version numbers, and the version number created in the name of a distribution tarball. They also appear in github in the \"Release\" tab.\r\n\r\nSince there probably won't be any new Varnish 6.3.x releases, this branch will most likely be used to backport VMOD features for use with Varnish 6.3, and for new packaging, if we so choose.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/58/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/58/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/59","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/59/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/59/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/59/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/59","id":645439741,"node_id":"MDExOlB1bGxSZXF1ZXN0NDM5OTIxMTQz","number":59,"title":"Add version 2.2.1","user":{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2020-06-25T10:12:42Z","updated_at":"2020-06-26T09:36:55Z","closed_at":"2020-06-26T09:36:55Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/59","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/59","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/59.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/59.patch","merged_at":"2020-06-26T09:36:54Z"},"body":"This adds version 2.2.1, which I used to build a new RPM that is compatible with Varnish 6.4.0 and adds the recent new feature (calling `.backend()` in `vcl_init`, layering dynamic with other directors). The RPM is already available at http://pkg.uplex.de.\r\n\r\n@nigoroll as with version 2.1.1 on branch 6.3, you'll probably have to apply tag v2.2.1 to commit 109a7300a1f9a128ddd79d6bddf7595770f56ee5 -- I did that in the fork, but tags are not merged with a github PR.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/59/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/59/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/60","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/60/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/60/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/60/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/60","id":656684529,"node_id":"MDU6SXNzdWU2NTY2ODQ1Mjk=","number":60,"title":"Varnish crashing because of dynamic vmod","user":{"login":"tmcevoy14","id":6459343,"node_id":"MDQ6VXNlcjY0NTkzNDM=","avatar_url":"https://avatars.githubusercontent.com/u/6459343?v=4","gravatar_id":"","url":"https://api.github.com/users/tmcevoy14","html_url":"https://github.com/tmcevoy14","followers_url":"https://api.github.com/users/tmcevoy14/followers","following_url":"https://api.github.com/users/tmcevoy14/following{/other_user}","gists_url":"https://api.github.com/users/tmcevoy14/gists{/gist_id}","starred_url":"https://api.github.com/users/tmcevoy14/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tmcevoy14/subscriptions","organizations_url":"https://api.github.com/users/tmcevoy14/orgs","repos_url":"https://api.github.com/users/tmcevoy14/repos","events_url":"https://api.github.com/users/tmcevoy14/events{/privacy}","received_events_url":"https://api.github.com/users/tmcevoy14/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804426,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjY=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/invalid","name":"invalid","color":"e6e6e6","default":true,"description":null}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2020-07-14T15:05:10Z","updated_at":"2020-07-15T10:00:39Z","closed_at":"2020-07-14T16:00:25Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"We are using the dynamic vmod (from branch 5.2) and it is frequently causing Varnish to crash. \r\n\r\nCrash logs show this:\r\n```\r\nvarnishadm panic.show\r\nPanic at: Tue, 14 Jul 2020 06:42:52 GMT\r\nAssert error in SES_Delete(), cache/cache_session.c line 546:\r\n Condition(VTAILQ_EMPTY(&sp->privs->privs)) not true.\r\nversion = varnish-5.2.1 revision 67e562482, vrt api = 6.1\r\nident = Linux,3.10.0-1127.el7.x86_64,x86_64,-junix,-smalloc,-smalloc,-hcritbit,epoll\r\nnow = 5776089.456303 (mono), 1594708967.979804 (real)\r\nBacktrace:\r\n 0x4396da: /usr/sbin/varnishd() [0x4396da]\r\n 0x47ef02: /usr/sbin/varnishd(VAS_Fail+0x42) [0x47ef02]\r\n 0x442520: /usr/sbin/varnishd(SES_Delete+0x1f0) [0x442520]\r\n 0x459e7a: /usr/sbin/varnishd() [0x459e7a]\r\n 0x42cc61: /usr/sbin/varnishd() [0x42cc61]\r\n 0x42de19: /usr/sbin/varnishd(HSH_Unbusy+0x179) [0x42de19]\r\n 0x428d5d: /usr/sbin/varnishd() [0x428d5d]\r\n 0x45287e: /usr/sbin/varnishd() [0x45287e]\r\n 0x452d10: /usr/sbin/varnishd() [0x452d10]\r\n 0x7fa3f6ecdea5: /lib64/libpthread.so.0(+0x7ea5) [0x7fa3f6ecdea5]\r\nthread = (cache-worker)\r\nthr.req = (nil) {\r\n},\r\nthr.busyobj = 0x7f9ded9bb020 {\r\n ws = 0x7f9ded9bb0a0 {\r\n id = \\\"bo\\\",\r\n {s, f, r, e} = {0x7f9ded9bd5c0, +15592, (nil), +121400},\r\n },\r\n retries = 0, failed = 0, flags = {do_stream, uncacheable, is_gunzip},\r\n http_conn = 0x7f9ded9be590 {\r\n fd = 9951 (@0x7fa0e14ef354),\r\n doclose = REQ_CLOSE,\r\n ws = 0x7f9ded9bb0a0 {\r\n [Already dumped, see above]\r\n },\r\n {rxbuf_b, rxbuf_e} = {0x7f9ded9be5f0, 0x7f9ded9bf515},\r\n {pipeline_b, pipeline_e} = {0x7f9ded9bf515, 0x7f9ded9c1238},\r\n content_length = 16063,\r\n body_status = length,\r\n first_byte_timeout = 20.000000,\r\n between_bytes_timeout = 20.000000,\r\n },\r\n filters = V1F_STRAIGHT=0\r\n director_req = 0x7fa074ac14e0 {\r\n vcl_name = director_web_default,\r\n type = random {\r\n },\r\n },\r\n director_resp = 0x7fa07e8ff538 {\r\n vcl_name = web100-va2b,\r\n type = backend {\r\n display_name = reload_2020-07-13T032012.web100-va2b,\r\n ipv4 = 10.40.131.200,\r\n port = 10260,\r\n hosthdr = web100-va2b.udsrvs.net,\r\n health = healthy,\r\n admin_health = probe, changed = 1594679804.904402,\r\n n_conn = 8,\r\n },\r\n },\r\n http[bereq] = 0x7f9ded9bb890 {\r\n ws = 0x7f9ded9bb0a0 {\r\n [Already dumped, see above]\r\n },\r\n hdrs {\r\n },\r\n },\r\n http[beresp] = 0x7f9ded9bbf28 {\r\n ws = 0x7f9ded9bb0a0 {\r\n [Already dumped, see above]\r\n },\r\n hdrs {\r\n },\r\n },\r\n objcore[fetch] = 0x7fa00125cec0 {\r\n refcnt = 3,\r\n flags = {pass},\r\n exp_flags = {refd},\r\n boc = 0x7f9dd9501640 {\r\n refcnt = 2,\r\n state = prep_stream,\r\n vary = (nil),\r\n stevedore_priv = (nil),\r\n },\r\n exp = {1594708967.979577, 120.000000, 10.000000, 0.000000},\r\n objhead = 0x7fa071611860,\r\n stevedore = 0x7fa3f60cd240 (malloc Transient) {\r\n Simple = 0x7fa2181ea000,\r\n Obj = 0x7fa08dacb608 {priv=0x7fa08dacb600, ptr=0x7fa2181ea000, len=3984, space=3984},\r\n LEN = 0x0...0,\r\n VXID = 0x0db772f0,\r\n FLAGS = 0x00,\r\n GZIPBITS = 0x0...0,\r\n LASTMODIFIED = 0x41d7c354f9c00000,\r\n VARY = {len=0, ptr=(nil)},\r\n HEADERS = {len=3864, ptr=0x7fa2181ea078},\r\n },\r\n },\r\n vcl = {\r\n name = \\\"reload_2020-07-13T032012\\\",\r\n busy = 11984,\r\n discard = 0,\r\n state = auto,\r\n temp = warm,\r\n conf = {\r\n srcname = {\r\n \\\"/etc/varnish/vcl/django.vcl\\\",\r\n \\\"Builtin\\\",\r\n \\\"/etc/varnish/backend_default.vcl\\\",\r\n \\\"/etc/varnish/libraries/main.vcl\\\",\r\n \\\"/etc/varnish/libraries/all.vcl\\\",\r\n \\\"/etc/varnish/libraries/filters.vcl\\\",\r\n \\\"/etc/varnish/libraries/uuid_generation.vcl\\\",\r\n \\\"/etc/varnish/libraries/normalized_variables.vcl\\\",\r\n \\\"/etc/varnish/libraries/request_headers.vcl\\\",\r\n \\\"/etc/varnish/libraries/response_headers.vcl\\\",\r\n \\\"/etc/varnish/libraries/synthetic_responses.vcl\\\",\r\n \\\"/etc/varnish/libraries/variables/cacheable_per_path.vcl\\\",\r\n \\\"/etc/varnish/libraries/variables/country.vcl\\\",\r\n \\\"/etc/varnish/libraries/variables/device.vcl\\\",\r\n \\\"/etc/varnish/libraries/variables/modern_browser.vcl\\\",\r\n \\\"/etc/varnish/libraries/variables/language.vcl\\\",\r\n \\\"/etc/varnish/libraries/variables/logged_in.vcl\\\",\r\n \\\"/etc/varnish/libraries/variables/normalized_urls.vcl\\\",\r\n \\\"/etc/varnish/libraries/variables/path.vcl\\\",\r\n \\\"/etc/varnish/libraries/errors/5xx.vcl\\\",\r\n },\r\n },\r\n },\r\n vmods = {\r\n std = {Varnish 5.2.1 67e562482, 0.0},\r\n cookie = {Varnish 5.2.1 67e562482, 0.0},\r\n header = {Varnish 5.2.1 67e562482, 0.0},\r\n var = {Varnish 5.2.1 67e562482, 0.0},\r\n digest = {Varnish 5.2.1 67e562482, 0.0},\r\n uuid = {Varnish 5.2.1 67e562482, 0.0},\r\n directors = {Varnish 5.2.1 67e562482, 0.0},\r\n dynamic = {Varnish 5.2.1 67e562482, 0.0},\r\n },\r\n},\r\n```\r\n\r\n**FYI:** I've obfuscated the req and res headers because they contain user specific information. \r\n\r\n","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/60/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/60/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/61","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/61/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/61/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/61/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/61","id":665296397,"node_id":"MDU6SXNzdWU2NjUyOTYzOTc=","number":61,"title":"Least connection support","user":{"login":"danielmotaleite","id":11890049,"node_id":"MDQ6VXNlcjExODkwMDQ5","avatar_url":"https://avatars.githubusercontent.com/u/11890049?v=4","gravatar_id":"","url":"https://api.github.com/users/danielmotaleite","html_url":"https://github.com/danielmotaleite","followers_url":"https://api.github.com/users/danielmotaleite/followers","following_url":"https://api.github.com/users/danielmotaleite/following{/other_user}","gists_url":"https://api.github.com/users/danielmotaleite/gists{/gist_id}","starred_url":"https://api.github.com/users/danielmotaleite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielmotaleite/subscriptions","organizations_url":"https://api.github.com/users/danielmotaleite/orgs","repos_url":"https://api.github.com/users/danielmotaleite/repos","events_url":"https://api.github.com/users/danielmotaleite/events{/privacy}","received_events_url":"https://api.github.com/users/danielmotaleite/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804424,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjQ=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/enhancement","name":"enhancement","color":"84b6eb","default":true,"description":null},{"id":2228311103,"node_id":"MDU6TGFiZWwyMjI4MzExMTAz","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/needs%20%E2%99%A1Sponsor","name":"needs ♡Sponsor","color":"e094d3","default":false,"description":"looking for support ♥"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2020-07-24T16:59:34Z","updated_at":"2020-12-16T15:13:42Z","closed_at":"2020-12-16T15:13:42Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi\r\n\r\nFrom what i understand, we have by default round-robin backend policy... Is there any way to switch to least connections?\r\n\r\nIf one backend locks up or get overload\r\n, with round-robin, varnish will still try to deliver requests, not only overloading it more, but increasing the number of requests that may fail (when finally the healthcheck removes the bad backend) or get bad performance... with least connections, the locked one still will keep some requests, but new ones will be delivered to good backends, avoiding overloading even more the bad backend\r\n\r\nthanks","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/61/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/61/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/62","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/62/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/62/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/62/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/62","id":681916680,"node_id":"MDU6SXNzdWU2ODE5MTY2ODA=","number":62,"title":"Problem while building for varnish 6.4","user":{"login":"abresson","id":23034299,"node_id":"MDQ6VXNlcjIzMDM0Mjk5","avatar_url":"https://avatars.githubusercontent.com/u/23034299?v=4","gravatar_id":"","url":"https://api.github.com/users/abresson","html_url":"https://github.com/abresson","followers_url":"https://api.github.com/users/abresson/followers","following_url":"https://api.github.com/users/abresson/following{/other_user}","gists_url":"https://api.github.com/users/abresson/gists{/gist_id}","starred_url":"https://api.github.com/users/abresson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abresson/subscriptions","organizations_url":"https://api.github.com/users/abresson/orgs","repos_url":"https://api.github.com/users/abresson/repos","events_url":"https://api.github.com/users/abresson/events{/privacy}","received_events_url":"https://api.github.com/users/abresson/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2020-08-19T15:07:50Z","updated_at":"2020-08-26T15:11:19Z","closed_at":"2020-08-26T15:11:19Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"I'm probably doing something wrong, but I cannot figure out what\r\n\r\nHere are some information about the steps I'm doing\r\n```\r\nvarnishd (varnish-6.4.0 revision 13f137934ec1cf14af66baf7896311115ee35598)\r\nCopyright (c) 2006 Verdens Gang AS\r\nCopyright (c) 2006-2020 Varnish Software AS\r\n```\r\n```\r\napt-cache policy varnish\r\nvarnish:\r\n Installed: 6.4.0-1~buster\r\n Candidate: 6.4.0-1~buster\r\n Version table:\r\n *** 6.4.0-1~buster 500\r\n 500 https://packagecloud.io/varnishcache/varnish64/debian buster/main amd64 Packages\r\n 100 /var/lib/dpkg/status\r\n 6.1.1-1+deb10u1 500\r\n```\r\n\r\n```\r\ncat /etc/debian_version \r\n10.4\r\n```\r\n\r\n```\r\ndpkg -l |grep -E \"libgetdns-dev|automake|libvarnishapi-dev|libtool|pkg-config\"\r\nii automake 1:1.16.1-4 all Tool for generating GNU Standards-compliant Makefiles\r\nii libgetdns-dev 1.5.1-1 amd64 modern asynchronous DNS API (development)\r\nii libltdl-dev:amd64 2.4.6-9 amd64 System independent dlopen wrapper for GNU libtool\r\nii libltdl7:amd64 2.4.6-9 amd64 System independent dlopen wrapper for GNU libtool\r\nii libtool 2.4.6-9 all Generic library support script\r\nii libvarnishapi-dev:amd64 6.1.1-1+deb10u1 amd64 development files for Varnish\r\nii pkg-config 0.29-6 amd64 manage compile and link flags for libraries\r\n```\r\n\r\n```\r\ngit clone https://github.com/nigoroll/libvmod-dynamic.git\r\ngit checkout 6.4\r\n```\r\n\r\n```\r\n./autogen.sh\r\n./configure\r\n```\r\n\r\nThen I run make, and it fail..\r\n```\r\nmake\r\n\r\nmake all-recursive\r\nmake[1]: Entering directory '/tmp/bb/libvmod-dynamic'\r\nMaking all in src\r\nmake[2]: Entering directory '/tmp/bb/libvmod-dynamic/src'\r\n CC vmod_dynamic.lo\r\nIn file included from vmod_dynamic.c:55:\r\ndyn_resolver.h:34:31: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token\r\n struct VPFX(dynamic_resolver) * dyn_resolver_blob(VCL_BLOB);\r\n ^\r\ndyn_resolver.h:51:56: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token\r\n typedef int res_lookup_f(struct VPFX(dynamic_resolver) *r,\r\n ^\r\ndyn_resolver.h:58:56: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token\r\n typedef int srv_lookup_f(struct VPFX(dynamic_resolver) *r,\r\n ^\r\ndyn_resolver.h:72:2: error: unknown type name ‘res_lookup_f’\r\n res_lookup_f *lookup;\r\n ^~~~~~~~~~~~\r\ndyn_resolver.h:76:2: error: unknown type name ‘srv_lookup_f’\r\n srv_lookup_f *srv_lookup;\r\n ^~~~~~~~~~~~\r\nIn file included from vmod_dynamic.c:56:\r\nvmod_dynamic.h:177:33: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token\r\n struct VPFX(dynamic_resolver) *resolver_inst;\r\n ^\r\nvmod_dynamic.c: In function ‘dynamic_update_domain’:\r\nvmod_dynamic.c:456:21: error: ‘struct vmod_dynamic_director’ has no member named ‘ttl_from’\r\n } else if (dom->obj->ttl_from == cfg) {\r\n ^~\r\nvmod_dynamic.c:458:21: error: ‘struct vmod_dynamic_director’ has no member named ‘ttl_from’\r\n } else if (dom->obj->ttl_from == min) {\r\n ^~\r\nvmod_dynamic.c:461:21: error: ‘struct vmod_dynamic_director’ has no member named ‘ttl_from’\r\n } else if (dom->obj->ttl_from == max) {\r\n ^~\r\nIn file included from /usr/include/varnish/cache/cache.h:50,\r\n from vmod_dynamic.c:45:\r\nvmod_dynamic.c:465:18: error: ‘struct vmod_dynamic_director’ has no member named ‘ttl_from’\r\n assert(dom->obj->ttl_from == dns);\r\n ^~\r\n/usr/include/varnish/vas.h:59:8: note: in definition of macro ‘assert’\r\n if (!(e)) { \\\r\n ^\r\nvmod_dynamic.c: In function ‘dynamic_lookup_thread’:\r\nvmod_dynamic.c:502:26: error: ‘struct vmod_dynamic_director’ has no member named ‘resolver_inst’; did you mean ‘resolver’?\r\n ret = res->lookup(obj->resolver_inst, dom->addr,\r\n ^~~~~~~~~~~~~\r\n resolver\r\nvmod_dynamic.c:502:9: error: called object is not a function or function pointer\r\n ret = res->lookup(obj->resolver_inst, dom->addr,\r\n ^~~\r\nvmod_dynamic.c: In function ‘dynamic_stop’:\r\nvmod_dynamic.c:630:2: error: implicit declaration of function ‘VRT_VCL_Allow_Discard’; did you mean ‘VRT_VSC_Alloc’? [-Werror=implicit-function-declaration]\r\n VRT_VCL_Allow_Discard(&obj->vclref);\r\n ^~~~~~~~~~~~~~~~~~~~~\r\n VRT_VSC_Alloc\r\nvmod_dynamic.c: In function ‘dynamic_start’:\r\nvmod_dynamic.c:645:16: error: implicit declaration of function ‘VRT_VCL_Prevent_Discard’ [-Werror=implicit-function-declaration]\r\n obj->vclref = VRT_VCL_Prevent_Discard(ctx, buf);\r\n ^~~~~~~~~~~~~~~~~~~~~~~\r\nvmod_dynamic.c:645:14: error: assignment to ‘struct vclref *’ from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]\r\n obj->vclref = VRT_VCL_Prevent_Discard(ctx, buf);\r\n ^\r\nvmod_dynamic.c: In function ‘vmod_director__init’:\r\nvmod_dynamic.c:936:5: error: ‘struct vmod_dynamic_director’ has no member named ‘ttl_from’\r\n obj->ttl_from = dynamic_ttl_parse(ttl_from_s);\r\n ^~\r\nvmod_dynamic.c:940:8: error: ‘struct vmod_dynamic_director’ has no member named ‘resolver_inst’; did you mean ‘resolver’?\r\n obj->resolver_inst = dyn_resolver_blob(resolver);\r\n ^~~~~~~~~~~~~\r\n resolver\r\nvmod_dynamic.c:940:24: error: implicit declaration of function ‘dyn_resolver_blob’; did you mean ‘vmod_resolver_use’? [-Werror=implicit-function-declaration]\r\n obj->resolver_inst = dyn_resolver_blob(resolver);\r\n ^~~~~~~~~~~~~~~~~\r\n vmod_resolver_use\r\nvmod_dynamic.c:941:12: error: ‘struct vmod_dynamic_director’ has no member named ‘resolver_inst’; did you mean ‘resolver’?\r\n if (obj->resolver_inst == NULL)\r\n ^~~~~~~~~~~~~\r\n resolver\r\nvmod_dynamic.c:945:10: error: ‘struct vmod_dynamic_director’ has no member named ‘ttl_from’\r\n if (obj->ttl_from != cfg)\r\n ^~\r\nIn file included from vmod_dynamic.c:55:\r\nvmod_dynamic.c: At top level:\r\ndyn_resolver.h:32:13: error: storage size of ‘dynamic_resolver’ isn’t known\r\n struct VPFX(dynamic_resolver);\r\n ^~~~~~~~~~~~~~~~\r\ncc1: all warnings being treated as errors\r\nmake[2]: *** [Makefile:702: vmod_dynamic.lo] Error 1\r\nmake[2]: Leaving directory '/tmp/bb/libvmod-dynamic/src'\r\nmake[1]: *** [Makefile:494: all-recursive] Error 1\r\nmake[1]: Leaving directory '/tmp/bb/libvmod-dynamic'\r\nmake: *** [Makefile:405: all] Error 2\r\n```\r\n\r\nI have no problem compiling other modules such as xkey or curl.\r\nAny help pointing what I'm doing wrong would be much appreciated, thanks","closed_by":{"login":"abresson","id":23034299,"node_id":"MDQ6VXNlcjIzMDM0Mjk5","avatar_url":"https://avatars.githubusercontent.com/u/23034299?v=4","gravatar_id":"","url":"https://api.github.com/users/abresson","html_url":"https://github.com/abresson","followers_url":"https://api.github.com/users/abresson/followers","following_url":"https://api.github.com/users/abresson/following{/other_user}","gists_url":"https://api.github.com/users/abresson/gists{/gist_id}","starred_url":"https://api.github.com/users/abresson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abresson/subscriptions","organizations_url":"https://api.github.com/users/abresson/orgs","repos_url":"https://api.github.com/users/abresson/repos","events_url":"https://api.github.com/users/abresson/events{/privacy}","received_events_url":"https://api.github.com/users/abresson/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/62/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/62/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/63","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/63/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/63/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/63/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/63","id":687925709,"node_id":"MDU6SXNzdWU2ODc5MjU3MDk=","number":63,"title":"Is it possible: self-routing sharded Varnish Cache cluster with libvmod-dynamic ?","user":{"login":"abresson","id":23034299,"node_id":"MDQ6VXNlcjIzMDM0Mjk5","avatar_url":"https://avatars.githubusercontent.com/u/23034299?v=4","gravatar_id":"","url":"https://api.github.com/users/abresson","html_url":"https://github.com/abresson","followers_url":"https://api.github.com/users/abresson/followers","following_url":"https://api.github.com/users/abresson/following{/other_user}","gists_url":"https://api.github.com/users/abresson/gists{/gist_id}","starred_url":"https://api.github.com/users/abresson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abresson/subscriptions","organizations_url":"https://api.github.com/users/abresson/orgs","repos_url":"https://api.github.com/users/abresson/repos","events_url":"https://api.github.com/users/abresson/events{/privacy}","received_events_url":"https://api.github.com/users/abresson/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2020-08-28T09:02:38Z","updated_at":"2024-03-18T20:26:02Z","closed_at":"2020-09-02T10:47:13Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hello,\r\n\r\nI usually (without libvmod-dynamic) use cache sharding on varnish, based on what is described here : https://info.varnish-software.com/blog/creating-self-routing-varnish-cluster\r\n\r\nWith libvmod-dynamic I'm not able to determine the varnish backend identity from which the traffic is coming from because `req.backend_hint` doesn't return the name of a specific backend, but instead the general name of the dynamic backend.\r\n\r\nHere are some vcl configuration to try to make myself clear:\r\n\r\n**Without dynamic**\r\n```\r\nbackend node1 {\r\n .host = \"node1.example.com\";\r\n .port = \"80\";\r\n}\r\n\r\nbackend node2 {\r\n .host = \"node2.example.com\";\r\n .port = \"80\";\r\n}\r\n\r\nbackend content {\r\n .host = \"content-origin.example.com\";\r\n .port = \"80\";\r\n}\r\n\r\nsub vcl_init\r\n{\r\n new cluster = directors.hash();\r\n cluster.add_backend(node1, 1);\r\n cluster.add_backend(node2, 1);\r\n}\r\n\r\nsub vcl_recv\r\n{\r\n set req.backend_hint = cluster.backend();\r\n set req.http.X-shard = req.backend_hint;\r\n\r\n if (req.http.X-shard == server.identity) {\r\n set req.backend_hint = content;\r\n } else {\r\n return(pass);\r\n }\r\n}\r\n```\r\nIn the above code, there is no problem, req.backend_hint will be set to either node1.example.com or node2.example.com\r\n\r\n**With dynamic**\r\n\r\nLet's imagine node.example.com is a multi A DNS record with 2 varnish servers,\r\n`node.example.com 300 IN CNAME varnish1`\r\n `node.example.com 300 IN CNAME varnish2`\r\n\r\n```\r\nprobe node_probe {\r\n .interval = 5s;\r\n .timeout = 1s;\r\n .window = 5;\r\n .threshold = 3;\r\n .initial = 3;\r\n .request =\r\n \"HEAD / HTTP/1.1\"\r\n \"Host: node.example.com\"\r\n \"Connection: close\"\r\n \"User-Agent: Varnish node Health Probe\";\r\n\r\n}\r\n\r\nprobe content_probe {\r\n .interval = 5s;\r\n .timeout = 1s;\r\n .window = 5;\r\n .threshold = 3;\r\n .initial = 3;\r\n .request =\r\n \"HEAD / HTTP/1.1\"\r\n \"Host: content-origin.example.com\"\r\n \"Connection: close\"\r\n \"User-Agent: Varnish content Health Probe\";\r\n}\r\n\r\nsub vcl_init\r\n{\r\n new d_node = dynamic.director(\r\n probe = node_probe,\r\n host_header = \"Host\",\r\n port = 80,\r\n ttl = 30s\r\n );\r\n\r\n new d_content= dynamic.director(\r\n probe = content_probe,\r\n host_header = \"Host\",\r\n port = 80,\r\n ttl = 30s\r\n );\r\n\r\n new v_cluster = directors.shard();\r\n varnish_nodes.add_backend(d_node.backend(\"node.example.com\",\"80\"));\r\n varnish_nodes.reconfigure();\r\n\r\n new c_cluster = directors.round_robin();\r\n front_nodes.add_backend(d_content.backend(\"content-origin.example.com\",\"80\"));\r\n}\r\n\r\nsub vcl_recv\r\n{\r\n set req.backend_hint = v_cluster.backend();\r\n set req.http.X-shard = req.backend_hint;\r\n\r\n if (req.http.X-shard == server.identity) {\r\n set req.backend_hint = c_cluster;\r\n } else {\r\n return(pass);\r\n }\r\n}\r\n```\r\n\r\nThe above code doesn't work because `req.backend_hint = v_cluster.backend()` will be set to `v_cluster(node.example.com:80)` and not to the actual varnish backend hosts. \r\nI mean `req.http.X-shard` will be set to either `varnish2` or `varnish1` whereas `req.backend_hint` wil always be set to `v_cluster(node.example.com:80)`\r\n\r\nIs there any way to put hostname of the varnish wich actually catched the orign request in \r\n`req.backend_hint` ?\r\n\r\nI'm sorry if my explanation is confused, let me know if you need me to add more information to clarify.\r\n\r\nRegards,","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/63/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/63/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/64","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/64/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/64/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/64/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/64","id":720085486,"node_id":"MDU6SXNzdWU3MjAwODU0ODY=","number":64,"title":"Compilation error against Varnish 6.1.1","user":{"login":"wimsymons","id":1419117,"node_id":"MDQ6VXNlcjE0MTkxMTc=","avatar_url":"https://avatars.githubusercontent.com/u/1419117?v=4","gravatar_id":"","url":"https://api.github.com/users/wimsymons","html_url":"https://github.com/wimsymons","followers_url":"https://api.github.com/users/wimsymons/followers","following_url":"https://api.github.com/users/wimsymons/following{/other_user}","gists_url":"https://api.github.com/users/wimsymons/gists{/gist_id}","starred_url":"https://api.github.com/users/wimsymons/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wimsymons/subscriptions","organizations_url":"https://api.github.com/users/wimsymons/orgs","repos_url":"https://api.github.com/users/wimsymons/repos","events_url":"https://api.github.com/users/wimsymons/events{/privacy}","received_events_url":"https://api.github.com/users/wimsymons/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2020-10-13T10:13:01Z","updated_at":"2020-10-14T11:21:26Z","closed_at":"2020-10-14T08:54:45Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi,\r\n\r\nI'm trying to compile the module against Varnish 6.1.1 provided by Debian 10 (Buster).\r\nAs stated in the README, I should use branch 6.2 for that.\r\n\r\nBut when I try to do so, I get these compilation errors:\r\n\r\n```\r\nmake all-recursive\r\nmake[1]: Entering directory '/home/vagrant/libvmod-dynamic64'\r\nMaking all in src\r\nmake[2]: Entering directory '/home/vagrant/libvmod-dynamic64/src'\r\n VMODTOOL vcc_dynamic_if.c\r\n CC vmod_dynamic.lo\r\nIn file included from vmod_dynamic.c:55:\r\ndyn_resolver.h:34:31: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token\r\n struct VPFX(dynamic_resolver) * dyn_resolver_blob(VCL_BLOB);\r\n ^\r\ndyn_resolver.h:51:56: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token\r\n typedef int res_lookup_f(struct VPFX(dynamic_resolver) *r,\r\n ^\r\ndyn_resolver.h:58:56: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token\r\n typedef int srv_lookup_f(struct VPFX(dynamic_resolver) *r,\r\n ^\r\ndyn_resolver.h:72:2: error: unknown type name ‘res_lookup_f’\r\n res_lookup_f *lookup;\r\n ^~~~~~~~~~~~\r\ndyn_resolver.h:76:2: error: unknown type name ‘srv_lookup_f’\r\n srv_lookup_f *srv_lookup;\r\n ^~~~~~~~~~~~\r\nIn file included from vmod_dynamic.c:56:\r\nvmod_dynamic.h:176:33: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token\r\n struct VPFX(dynamic_resolver) *resolver_inst;\r\n ^\r\nvmod_dynamic.c: In function ‘dynamic_update_domain’:\r\nvmod_dynamic.c:452:21: error: ‘struct vmod_dynamic_director’ has no member named ‘ttl_from’\r\n } else if (dom->obj->ttl_from == cfg) {\r\n ^~\r\nvmod_dynamic.c:454:21: error: ‘struct vmod_dynamic_director’ has no member named ‘ttl_from’\r\n } else if (dom->obj->ttl_from == min) {\r\n ^~\r\nvmod_dynamic.c:457:21: error: ‘struct vmod_dynamic_director’ has no member named ‘ttl_from’\r\n } else if (dom->obj->ttl_from == max) {\r\n ^~\r\nIn file included from /usr/include/varnish/cache/cache.h:50,\r\n from vmod_dynamic.c:45:\r\nvmod_dynamic.c:461:18: error: ‘struct vmod_dynamic_director’ has no member named ‘ttl_from’\r\n assert(dom->obj->ttl_from == dns);\r\n ^~\r\n/usr/include/varnish/vas.h:59:8: note: in definition of macro ‘assert’\r\n if (!(e)) { \\\r\n ^\r\nvmod_dynamic.c: In function ‘dynamic_lookup_thread’:\r\nvmod_dynamic.c:498:26: error: ‘struct vmod_dynamic_director’ has no member named ‘resolver_inst’; did you mean ‘resolver’?\r\n ret = res->lookup(obj->resolver_inst, dom->addr,\r\n ^~~~~~~~~~~~~\r\n resolver\r\nvmod_dynamic.c:498:9: error: called object is not a function or function pointer\r\n ret = res->lookup(obj->resolver_inst, dom->addr,\r\n ^~~\r\nvmod_dynamic.c: In function ‘vmod_director__init’:\r\nvmod_dynamic.c:932:5: error: ‘struct vmod_dynamic_director’ has no member named ‘ttl_from’\r\n obj->ttl_from = dynamic_ttl_parse(ttl_from_s);\r\n ^~\r\nvmod_dynamic.c:936:8: error: ‘struct vmod_dynamic_director’ has no member named ‘resolver_inst’; did you mean ‘resolver’?\r\n obj->resolver_inst = dyn_resolver_blob(resolver);\r\n ^~~~~~~~~~~~~\r\n resolver\r\nvmod_dynamic.c:936:24: error: implicit declaration of function ‘dyn_resolver_blob’; did you mean ‘vmod_resolver_use’? [-Werror=implicit-function-declaration]\r\n obj->resolver_inst = dyn_resolver_blob(resolver);\r\n ^~~~~~~~~~~~~~~~~\r\n vmod_resolver_use\r\nvmod_dynamic.c:937:12: error: ‘struct vmod_dynamic_director’ has no member named ‘resolver_inst’; did you mean ‘resolver’?\r\n if (obj->resolver_inst == NULL)\r\n ^~~~~~~~~~~~~\r\n resolver\r\nvmod_dynamic.c:941:10: error: ‘struct vmod_dynamic_director’ has no member named ‘ttl_from’\r\n if (obj->ttl_from != cfg)\r\n ^~\r\nIn file included from vmod_dynamic.c:55:\r\nvmod_dynamic.c: At top level:\r\ndyn_resolver.h:32:13: error: storage size of ‘dynamic_resolver’ isn’t known\r\n struct VPFX(dynamic_resolver);\r\n ^~~~~~~~~~~~~~~~\r\ncc1: all warnings being treated as errors\r\nmake[2]: *** [Makefile:704: vmod_dynamic.lo] Error 1\r\nmake[2]: Leaving directory '/home/vagrant/libvmod-dynamic64/src'\r\nmake[1]: *** [Makefile:497: all-recursive] Error 1\r\nmake[1]: Leaving directory '/home/vagrant/libvmod-dynamic64'\r\nmake: *** [Makefile:408: all] Error 2\r\n```\r\n\r\nSteps to reproduce on Debian Buster:\r\n```\r\nsudo apt-get install libgetdns-dev libvarnishapi-dev automake libtool python3-docutils\r\ngit clone https://github.com/nigoroll/libvmod-dynamic.git libvmod-dynamic64\r\ncd libvmod-dynamic64/\r\ngit checkout 6.2\r\n./autogen.sh\r\n./configure\r\nmake\r\n```\r\n\r\nPackage versions:\r\n```\r\nvagrant@debian-10:~/libvmod-dynamic64$ dpkg -l libvarnishapi-dev libgetdns-dev\r\nDesired=Unknown/Install/Remove/Purge/Hold\r\n| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend\r\n|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)\r\n||/ Name Version Architecture Description\r\n+++-=======================-===============-============-=================================\r\nii libgetdns-dev 1.5.1-1 amd64 modern asynchronous DNS API (development)\r\nii libvarnishapi-dev:amd64 6.1.1-1+deb10u1 amd64 development files for Varnish\r\n```\r\n\r\nIs the 6.2 branch no longer compatible with Varnish 6.1.1?\r\n\r\nKind regards\r\n\r\nWim","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/64/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/64/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/65","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/65/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/65/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/65/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/65","id":743264836,"node_id":"MDExOlB1bGxSZXF1ZXN0NTIxMjAxMjA2","number":65,"title":"Fix for addition of struct vrt_endpoint to VRT.","user":{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2020-11-15T14:10:02Z","updated_at":"2020-11-16T15:43:04Z","closed_at":"2020-11-16T15:43:04Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/65","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/65","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/65.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/65.patch","merged_at":"2020-11-16T15:43:04Z"},"body":"","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/65/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/65/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/66","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/66/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/66/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/66/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/66","id":772100619,"node_id":"MDU6SXNzdWU3NzIxMDA2MTk=","number":66,"title":"error: storage size of 'ep' isn't known","user":{"login":"ronaldploeger","id":2346952,"node_id":"MDQ6VXNlcjIzNDY5NTI=","avatar_url":"https://avatars.githubusercontent.com/u/2346952?v=4","gravatar_id":"","url":"https://api.github.com/users/ronaldploeger","html_url":"https://github.com/ronaldploeger","followers_url":"https://api.github.com/users/ronaldploeger/followers","following_url":"https://api.github.com/users/ronaldploeger/following{/other_user}","gists_url":"https://api.github.com/users/ronaldploeger/gists{/gist_id}","starred_url":"https://api.github.com/users/ronaldploeger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronaldploeger/subscriptions","organizations_url":"https://api.github.com/users/ronaldploeger/orgs","repos_url":"https://api.github.com/users/ronaldploeger/repos","events_url":"https://api.github.com/users/ronaldploeger/events{/privacy}","received_events_url":"https://api.github.com/users/ronaldploeger/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804426,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjY=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/invalid","name":"invalid","color":"e6e6e6","default":true,"description":null}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2020-12-21T11:43:49Z","updated_at":"2021-09-15T22:55:30Z","closed_at":"2020-12-21T13:00:09Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"I am building inside a docker container based on \"ubuntu:18.04\" running: \r\n\r\n```\r\nVMOD_DYNAMIC_BUILD_DEPS=\"autotools-dev \\\r\n automake \\\r\n libtool \\\r\n autoconf \\\r\n libncurses-dev \\\r\n xsltproc \\\r\n groff-base \\\r\n libpcre3-dev \\\r\n pkg-config \\\r\n build-essential \\\r\n python3 \\\r\n python3-docutils \\\r\n libjemalloc-dev \\\r\n libreadline-dev \\\r\n python3-sphinx \\\r\n libcurl3-dev \\\r\n unzip\"\r\n\r\n# Install dependencies\r\n# ------------------------------------------------------------------------------\r\napt-get update\r\napt-get install --no-install-recommends --no-install-suggests -y ${VMOD_DYNAMIC_BUILD_DEPS}\r\n\r\nunzip \"${VMOD_DYNAMIC_DOWNLOAD}\"\r\n\r\nsh autogen.sh\r\nsh configure \\\r\n --bindir=/usr/bin \\\r\n --sbindir=/usr/sbin \\\r\n --sysconfdir=/etc \\\r\n --libdir=/usr/lib\r\nmake\r\nmake install\r\n```\r\n\r\nFrom this commit https://github.com/nigoroll/libvmod-dynamic/commit/caab533a23f60c9e1227c4db241b7749841f780d on I can not build anymore but get\r\n\r\n```\r\nmake all-recursive\r\nmake[1]: Entering directory '/tmp/docker/libvmod-dynamic-caab533a23f60c9e1227c4db241b7749841f780d'\r\nMaking all in src\r\nmake[2]: Entering directory '/tmp/docker/libvmod-dynamic-caab533a23f60c9e1227c4db241b7749841f780d/src'\r\n VMODTOOL vcc_dynamic_if.c\r\n CC vmod_dynamic.lo\r\nvmod_dynamic.c: In function 'dynamic_add':\r\nvmod_dynamic.c:327:22: error: storage size of 'ep' isn't known\r\n struct vrt_endpoint ep;\r\n ^~\r\nIn file included from /usr/local/include/varnish/cache/cache.h:51:0,\r\n from vmod_dynamic.c:45:\r\nvmod_dynamic.c:396:16: error: 'VRT_ENDPOINT_MAGIC' undeclared (first use in this function); did you mean 'VRT_BACKEND_MAGIC'?\r\n INIT_OBJ(&ep, VRT_ENDPOINT_MAGIC);\r\n ^\r\n/usr/local/include/varnish/miniobj.h:17:18: note: in definition of macro 'INIT_OBJ'\r\n (to)->magic = (type_magic); \\\r\n ^~~~~~~~~~\r\nvmod_dynamic.c:396:16: note: each undeclared identifier is reported only once for each function it appears in\r\n INIT_OBJ(&ep, VRT_ENDPOINT_MAGIC);\r\n ^\r\n/usr/local/include/varnish/miniobj.h:17:18: note: in definition of macro 'INIT_OBJ'\r\n (to)->magic = (type_magic); \\\r\n ^~~~~~~~~~\r\nvmod_dynamic.c:410:5: error: 'struct vrt_backend' has no member named 'endpoint'\r\n vrt.endpoint = &ep;\r\n ^\r\nvmod_dynamic.c:327:22: error: unused variable 'ep' [-Werror=unused-variable]\r\n struct vrt_endpoint ep;\r\n ^~\r\ncc1: all warnings being treated as errors\r\nMakefile:689: recipe for target 'vmod_dynamic.lo' failed\r\nmake[2]: Leaving directory '/tmp/docker/libvmod-dynamic-caab533a23f60c9e1227c4db241b7749841f780d/src'\r\nmake[2]: *** [vmod_dynamic.lo] Error 1\r\nMakefile:494: recipe for target 'all-recursive' failed\r\nmake[1]: Leaving directory '/tmp/docker/libvmod-dynamic-caab533a23f60c9e1227c4db241b7749841f780d'\r\nmake[1]: *** [all-recursive] Error 1\r\nMakefile:405: recipe for target 'all' failed\r\nmake: *** [all] Error 2\r\n```","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/66/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/66/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/67","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/67/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/67/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/67/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/67","id":780680903,"node_id":"MDU6SXNzdWU3ODA2ODA5MDM=","number":67,"title":"Assert error in VRT_VSC_Destroy()","user":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804422,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjI=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/bug","name":"bug","color":"ee0701","default":true,"description":null}],"state":"closed","locked":false,"assignee":{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false},"assignees":[{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false}],"milestone":null,"comments":0,"created_at":"2021-01-06T16:28:04Z","updated_at":"2021-01-07T13:50:11Z","closed_at":"2021-01-07T13:50:11Z","author_association":"OWNER","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"seen by @slimhazard\r\n```\r\nPanic at: Wed, 06 Jan 2021 13:53:13 GMT\r\nAssert error in VRT_VSC_Destroy(), common/common_vsc.c line 200:\r\n Condition((vsg) != NULL) not true.\r\nversion = varnish-6.5.1 revision1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64, vrt api = 12.0\r\nident = Linux,4.19.0-6-amd64,x86_64,-junix,-sdefault,-sdefault,-hcritbit,epoll\r\nnow = 486009.986834 (mono), 1609941193.760639 (real)\r\nBacktrace:\r\n 0x43f7df: /usr/sbin/varnishd() [0x43f7df]\r\n 0x4a99b5: /usr/sbin/varnishd(VAS_Fail+0x45) [0x4a99b5]\r\n 0x4644f1: /usr/sbin/varnishd() [0x4644f1]\r\n 0x7f951d5fd990: ./vmod_cache/_vmod_dynamic.99d3db6707fde818e419de5d6c0c375da7efe809681dcdc4ffcf909db540302c(vmod_event+0x470)\r\n[0x7f951d5fd990]\r\n 0x7f9519e1e726: vcl_vk8s_ing_65OeQ3N75jaW8kbTEH3frDay01MAwI8ve4hKg7.1609940320.829609/vgc.so(+0x4726)\r\n[0x7f9519e1e726]\r\n 0x44f3c8: /usr/sbin/varnishd() [0x44f3c8]\r\n 0x451113: /usr/sbin/varnishd(VCL_Poll+0x123) [0x451113]\r\n 0x4513dd: /usr/sbin/varnishd() [0x4513dd]\r\n 0x4abbca: /usr/sbin/varnishd() [0x4abbca]\r\n 0x4ac09e: /usr/sbin/varnishd(VCLS_Poll+0x35e)\r\n...\r\n```","closed_by":{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/67/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/67/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/68","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/68/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/68/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/68/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/68","id":794019764,"node_id":"MDU6SXNzdWU3OTQwMTk3NjQ=","number":68,"title":"can not build on alpine:3.13","user":{"login":"raybog","id":8174876,"node_id":"MDQ6VXNlcjgxNzQ4NzY=","avatar_url":"https://avatars.githubusercontent.com/u/8174876?v=4","gravatar_id":"","url":"https://api.github.com/users/raybog","html_url":"https://github.com/raybog","followers_url":"https://api.github.com/users/raybog/followers","following_url":"https://api.github.com/users/raybog/following{/other_user}","gists_url":"https://api.github.com/users/raybog/gists{/gist_id}","starred_url":"https://api.github.com/users/raybog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/raybog/subscriptions","organizations_url":"https://api.github.com/users/raybog/orgs","repos_url":"https://api.github.com/users/raybog/repos","events_url":"https://api.github.com/users/raybog/events{/privacy}","received_events_url":"https://api.github.com/users/raybog/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2021-01-26T08:01:19Z","updated_at":"2021-03-16T15:48:05Z","closed_at":"2021-03-16T15:48:05Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Trying to build varnish docker on latest alpine:\r\n\r\n```\r\nFROM alpine:3.13 AS builder\r\nENV LIBVMOD_DYNAMIC_VERSION=2.3.0\r\nRUN apk --no-cache add automake autoconf libtool make curl python3 py3-sphinx py-docutils pkgconf \\\r\n gcc make g++ zlib-dev pcre-dev libedit-dev readline-dev libexecinfo-dev linux-headers \\\r\n varnish varnish-dev\r\n\r\nRUN cd /tmp && curl -sSLO https://github.com/nigoroll/libvmod-dynamic/archive/v${LIBVMOD_DYNAMIC_VERSION}.zip && \\\r\n unzip v${LIBVMOD_DYNAMIC_VERSION}.zip && cd libvmod-dynamic-${LIBVMOD_DYNAMIC_VERSION} && \\\r\n ./autogen.sh && ./configure && make && make install\r\n\r\n```\r\n\r\nGetting this error:\r\n\r\n```\r\n/usr/lib/gcc/x86_64-alpine-linux-musl/10.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: .libs/vmod_dynamic_service.o:/tmp/libvmod-dynamic-2.3.0/src/vmod_dynamic.h:181: multiple definition of `objects'; .libs/vmod_dynamic.o:/tmp/libvmod-dynamic-2.3.0/src/vmod_dynamic.h:181: first defined here\r\ncollect2: error: ld returned 1 exit status\r\nmake[2]: Leaving directory '/tmp/libvmod-dynamic-2.3.0/src'\r\n```\r\n\r\n\r\n\r\n","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/68/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/68/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/69","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/69/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/69/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/69/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/69","id":830221383,"node_id":"MDU6SXNzdWU4MzAyMjEzODM=","number":69,"title":"Compilation error on Debian bullseye (testing)","user":{"login":"huiser","id":50897,"node_id":"MDQ6VXNlcjUwODk3","avatar_url":"https://avatars.githubusercontent.com/u/50897?v=4","gravatar_id":"","url":"https://api.github.com/users/huiser","html_url":"https://github.com/huiser","followers_url":"https://api.github.com/users/huiser/followers","following_url":"https://api.github.com/users/huiser/following{/other_user}","gists_url":"https://api.github.com/users/huiser/gists{/gist_id}","starred_url":"https://api.github.com/users/huiser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/huiser/subscriptions","organizations_url":"https://api.github.com/users/huiser/orgs","repos_url":"https://api.github.com/users/huiser/repos","events_url":"https://api.github.com/users/huiser/events{/privacy}","received_events_url":"https://api.github.com/users/huiser/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804423,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjM=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/duplicate","name":"duplicate","color":"cccccc","default":true,"description":null}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2021-03-12T15:21:26Z","updated_at":"2021-03-12T15:49:02Z","closed_at":"2021-03-12T15:48:54Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"I try to compile tag v2.3.0 in a Debian bullseye docker container, but it fails with the following error:\r\n\r\n```\r\nroot@8a81ad28d485:/src/libvmod-dynamic# make \r\nmake all-recursive\r\nmake[1]: Entering directory '/src/libvmod-dynamic'\r\nMaking all in src\r\nmake[2]: Entering directory '/src/libvmod-dynamic/src'\r\n CCLD libvmod_dynamic.la\r\n/usr/bin/ld: .libs/vmod_dynamic_service.o:/src/libvmod-dynamic/src/vmod_dynamic.h:181: multiple definition of `objects'; .libs/vmod_dynamic.o:/src/libvmod-dynamic/src/vmod_dynamic.h:181: first defined here\r\ncollect2: error: ld returned 1 exit status\r\nmake[2]: *** [Makefile:667: libvmod_dynamic.la] Error 1\r\nmake[2]: Leaving directory '/src/libvmod-dynamic/src'\r\nmake[1]: *** [Makefile:499: all-recursive] Error 1\r\nmake[1]: Leaving directory '/src/libvmod-dynamic'\r\nmake: *** [Makefile:410: all] Error 2\r\n```\r\n\r\nCommand to start container:\r\n```\r\ndocker run -ti --rm --name debian debian:bullseye-20210311-slim\r\n```","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/69/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/69/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/70","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/70/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/70/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/70/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/70","id":833597611,"node_id":"MDU6SXNzdWU4MzM1OTc2MTE=","number":70,"title":"Assert error in VRT_SetHealth(), cache/cache_vcl_vrt.c line 223","user":{"login":"wimsymons","id":1419117,"node_id":"MDQ6VXNlcjE0MTkxMTc=","avatar_url":"https://avatars.githubusercontent.com/u/1419117?v=4","gravatar_id":"","url":"https://api.github.com/users/wimsymons","html_url":"https://github.com/wimsymons","followers_url":"https://api.github.com/users/wimsymons/followers","following_url":"https://api.github.com/users/wimsymons/following{/other_user}","gists_url":"https://api.github.com/users/wimsymons/gists{/gist_id}","starred_url":"https://api.github.com/users/wimsymons/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wimsymons/subscriptions","organizations_url":"https://api.github.com/users/wimsymons/orgs","repos_url":"https://api.github.com/users/wimsymons/repos","events_url":"https://api.github.com/users/wimsymons/events{/privacy}","received_events_url":"https://api.github.com/users/wimsymons/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":2228311103,"node_id":"MDU6TGFiZWwyMjI4MzExMTAz","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/needs%20%E2%99%A1Sponsor","name":"needs ♡Sponsor","color":"e094d3","default":false,"description":"looking for support ♥"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2021-03-17T09:58:35Z","updated_at":"2021-03-17T10:40:37Z","closed_at":"2021-03-17T10:40:37Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi,\r\n\r\nWe found a (concurrency?) bug, running on Varnish 6.1.1.\r\n\r\nNot sure that it is in this module, but it happened when a deploy occurred on the infrastructure behind on of the dynamic directors (AWS Beanstalk). The load balancer got new instances, thus the IP addresses changed.\r\n\r\nVarnish child dies, this is posted in the logs:\r\n```\r\nMar 16 16:04:24 ip-172-22-84-104 varnishd[19503]: Child (19522) not responding to CLI, killed it.\r\nMar 16 16:04:24 ip-172-22-84-104 varnishd[19503]: Unexpected reply from ping: 400 CLI communication error (hdr)\r\nMar 16 16:04:24 ip-172-22-84-104 varnishd[19503]: Child (19522) died signal=6\r\nMar 16 16:04:24 ip-172-22-84-104 varnishd[19503]: Child (19522) Panic at: Tue, 16 Mar 2021 16:04:24 GMT\r\n Assert error in VRT_SetHealth(), cache/cache_vcl_vrt.c line 223:\r\n Condition((d) != NULL) not true.\r\n version = varnish-6.1.1 revision efc2f6c1536cf2272e471f5cff5f145239b19460, vrt api = 8.0\r\n ident = Linux,4.19.0-14-amd64,x86_64,-junix,-smalloc,-sdefault,-hcritbit,epoll\r\n now = 714264.543532 (mono), 1615910663.806864 (real)\r\n Backtrace:\r\n 0x5616f60a3d2a: /usr/sbin/varnishd(+0x4cd2a) [0x5616f60a3d2a]\r\n 0x5616f610bcc3: /usr/sbin/varnishd(VAS_Fail+0x13) [0x5616f610bcc3]\r\n 0x5616f60b6c0b: /usr/sbin/varnishd(VRT_SetHealth+0x6b) [0x5616f60b6c0b]\r\n 0x5616f6083520: /usr/sbin/varnishd(VBP_Remove+0x60) [0x5616f6083520]\r\n 0x5616f607f83e: /usr/sbin/varnishd(+0x2883e) [0x5616f607f83e]\r\n 0x5616f60b69d2: /usr/sbin/varnishd(VRT_DelDirector+0x112) [0x5616f60b69d2]\r\n 0x5616f6081509: /usr/sbin/varnishd(VBE_Poll+0xc9) [0x5616f6081509]\r\n 0x5616f6087d0d: /usr/sbin/varnishd(+0x30d0d) [0x5616f6087d0d]\r\n 0x5616f610dd02: /usr/sbin/varnishd(+0xb6d02) [0x5616f610dd02]\r\n 0x5616f610e369: /usr/sbin/varnishd(VCLS_Poll+0x2e9) [0x5616f610e369]\r\n thread = (cache-main)\r\n thr.req = (nil) {\r\n },\r\n thr.busyobj = (nil) {\r\n },\r\nMar 16 16:04:24 ip-172-22-84-104 varnishd[19503]: Child cleanup complete\r\nMar 16 16:04:24 ip-172-22-84-104 varnishd[19503]: Child (30911) Started\r\nMar 16 16:04:24 ip-172-22-84-104 varnishd[19503]: Child (30911) said Child starts\r\n```\r\n\r\nSome snippets from the VCL config:\r\n```\r\nprobe dynamic_probe {\r\n .interval = 5s;\r\n .timeout = 5s;\r\n .initial = 3;\r\n .threshold = 2;\r\n .window = 3;\r\n .request =\r\n \"GET /health HTTP/1.1\"\r\n \"User-Agent: Varnish Probe\"\r\n \"Host: localhost\"\r\n \"Connection: close\";\r\n}\r\n\r\n...\r\n\r\nsub vcl_init {\r\n new dynamic_director = dynamic.director(\r\n port = \"80\",\r\n ttl = 2m,\r\n connect_timeout = 3s,\r\n first_byte_timeout = 10s,\r\n between_bytes_timeout = 5s,\r\n probe = dynamic_probe\r\n );\r\n}\r\n```\r\n\r\nThe libvmod-dynamic module was compiled on Thu, 15 Oct 2020 09:12:00 +0000 against the latest code now on the 6.1 branch (https://github.com/nigoroll/libvmod-dynamic/commit/4931cfd08ad6f142a9f13b064c8a5aa0723f84a1).\r\n\r\nWe need to restart the [Varnish Prometheus exporter](https://github.com/jonnenauha/prometheus_varnish_exporter) after that to send out correct metrics after that, but that's another issue.","closed_by":{"login":"wimsymons","id":1419117,"node_id":"MDQ6VXNlcjE0MTkxMTc=","avatar_url":"https://avatars.githubusercontent.com/u/1419117?v=4","gravatar_id":"","url":"https://api.github.com/users/wimsymons","html_url":"https://github.com/wimsymons","followers_url":"https://api.github.com/users/wimsymons/followers","following_url":"https://api.github.com/users/wimsymons/following{/other_user}","gists_url":"https://api.github.com/users/wimsymons/gists{/gist_id}","starred_url":"https://api.github.com/users/wimsymons/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wimsymons/subscriptions","organizations_url":"https://api.github.com/users/wimsymons/orgs","repos_url":"https://api.github.com/users/wimsymons/repos","events_url":"https://api.github.com/users/wimsymons/events{/privacy}","received_events_url":"https://api.github.com/users/wimsymons/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/70/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/70/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/71","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/71/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/71/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/71/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/71","id":910220237,"node_id":"MDExOlB1bGxSZXF1ZXN0NjYwNjc2MTE3","number":71,"title":"Add least connections and weighted least connections balancing algorithms","user":{"login":"karlvr","id":1086005,"node_id":"MDQ6VXNlcjEwODYwMDU=","avatar_url":"https://avatars.githubusercontent.com/u/1086005?v=4","gravatar_id":"","url":"https://api.github.com/users/karlvr","html_url":"https://github.com/karlvr","followers_url":"https://api.github.com/users/karlvr/followers","following_url":"https://api.github.com/users/karlvr/following{/other_user}","gists_url":"https://api.github.com/users/karlvr/gists{/gist_id}","starred_url":"https://api.github.com/users/karlvr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/karlvr/subscriptions","organizations_url":"https://api.github.com/users/karlvr/orgs","repos_url":"https://api.github.com/users/karlvr/repos","events_url":"https://api.github.com/users/karlvr/events{/privacy}","received_events_url":"https://api.github.com/users/karlvr/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804424,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjQ=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/enhancement","name":"enhancement","color":"84b6eb","default":true,"description":null},{"id":2228311103,"node_id":"MDU6TGFiZWwyMjI4MzExMTAz","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/needs%20%E2%99%A1Sponsor","name":"needs ♡Sponsor","color":"e094d3","default":false,"description":"looking for support ♥"},{"id":2228316027,"node_id":"MDU6TGFiZWwyMjI4MzE2MDI3","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/needs%20varnish-cache","name":"needs varnish-cache","color":"006b75","default":false,"description":"needs work in varnish-cache"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2021-06-03T07:51:21Z","updated_at":"2023-01-05T04:40:45Z","closed_at":"2022-11-08T19:55:08Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/71","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/71","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/71.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/71.patch","merged_at":null},"body":"There is some code to tidy up in here (a x 1.25 particularly), but I am hoping to gauge your interest in merging something like this! I made these changes several years ago, and we've been running with these changes for all of that time. Although I did just port them to 6.6.\r\n\r\nLet me know and I'll work on making it beautiful with you!","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/71/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/71/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/72","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/72/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/72/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/72/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/72","id":942117663,"node_id":"MDU6SXNzdWU5NDIxMTc2NjM=","number":72,"title":"the counter main.backend-unhealthy in varnishstat dont work when use the libvmod-dynamic","user":{"login":"yeurin","id":1029571,"node_id":"MDQ6VXNlcjEwMjk1NzE=","avatar_url":"https://avatars.githubusercontent.com/u/1029571?v=4","gravatar_id":"","url":"https://api.github.com/users/yeurin","html_url":"https://github.com/yeurin","followers_url":"https://api.github.com/users/yeurin/followers","following_url":"https://api.github.com/users/yeurin/following{/other_user}","gists_url":"https://api.github.com/users/yeurin/gists{/gist_id}","starred_url":"https://api.github.com/users/yeurin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yeurin/subscriptions","organizations_url":"https://api.github.com/users/yeurin/orgs","repos_url":"https://api.github.com/users/yeurin/repos","events_url":"https://api.github.com/users/yeurin/events{/privacy}","received_events_url":"https://api.github.com/users/yeurin/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2021-07-12T14:21:43Z","updated_at":"2021-10-26T17:09:01Z","closed_at":"2021-10-26T17:09:01Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"hello, i'm using varnish 6.5.1, and libvmod-dynamic. and when i shut my backend define with the libvmod, varnish detect the unhealthy backend, switch to grace mode etc.. BUT, the counter MAIN.backend_unhealthy stay at 0. For information, i configured a health probe\r\n\r\nis there anything to do to correct that ?","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/72/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/72/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/73","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/73/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/73/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/73/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/73","id":998150632,"node_id":"I_kwDOBBOOTM47fpHo","number":73,"title":"`configure` doesn't read `libdir` from `varnishapi.pc`","user":{"login":"VasiliPupkin256","id":27725951,"node_id":"MDQ6VXNlcjI3NzI1OTUx","avatar_url":"https://avatars.githubusercontent.com/u/27725951?v=4","gravatar_id":"","url":"https://api.github.com/users/VasiliPupkin256","html_url":"https://github.com/VasiliPupkin256","followers_url":"https://api.github.com/users/VasiliPupkin256/followers","following_url":"https://api.github.com/users/VasiliPupkin256/following{/other_user}","gists_url":"https://api.github.com/users/VasiliPupkin256/gists{/gist_id}","starred_url":"https://api.github.com/users/VasiliPupkin256/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/VasiliPupkin256/subscriptions","organizations_url":"https://api.github.com/users/VasiliPupkin256/orgs","repos_url":"https://api.github.com/users/VasiliPupkin256/repos","events_url":"https://api.github.com/users/VasiliPupkin256/events{/privacy}","received_events_url":"https://api.github.com/users/VasiliPupkin256/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2021-09-16T12:23:11Z","updated_at":"2021-10-26T16:22:37Z","closed_at":"2021-10-26T16:22:37Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"I see the variable is read in the scripts but it seems that it is only used for testing. When I run configure/make/install of the version 2.3.1 on Ubuntu 21.04 it tries to install module in `/usr/lib/varnish/vmods` instead of `/usr/lib/x86_64-linux-gnu/varnish/vmods` where it belongs on this repo. I've solved this with this hack\r\n\r\n ./configure --without-getdns \\\r\n --prefix=$(pkg-config --variable=prefix varnishapi) \\\r\n --bindir=$(pkg-config --variable=bindir varnishapi) \\\r\n --sbindir=$(pkg-config --variable=sbindir varnishapi) \\\r\n --sysconfdir=$(pkg-config --variable=sysconfdir varnishapi) \\\r\n --libdir=$(pkg-config --variable=libdir varnishapi)\r\n\r\nBut of course I don't like it. \r\n\r\nPS: I've tried to set `PKG_CONFIG_PATH` it doesn't change anything.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/73/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/73/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/74","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/74/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/74/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/74/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/74","id":1026076348,"node_id":"I_kwDOBBOOTM49KK68","number":74,"title":"test failing with varnish 6.6","user":{"login":"blacktek","id":42382745,"node_id":"MDQ6VXNlcjQyMzgyNzQ1","avatar_url":"https://avatars.githubusercontent.com/u/42382745?v=4","gravatar_id":"","url":"https://api.github.com/users/blacktek","html_url":"https://github.com/blacktek","followers_url":"https://api.github.com/users/blacktek/followers","following_url":"https://api.github.com/users/blacktek/following{/other_user}","gists_url":"https://api.github.com/users/blacktek/gists{/gist_id}","starred_url":"https://api.github.com/users/blacktek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blacktek/subscriptions","organizations_url":"https://api.github.com/users/blacktek/orgs","repos_url":"https://api.github.com/users/blacktek/repos","events_url":"https://api.github.com/users/blacktek/events{/privacy}","received_events_url":"https://api.github.com/users/blacktek/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2021-10-14T07:50:41Z","updated_at":"2021-10-26T16:12:27Z","closed_at":"2021-10-26T16:12:27Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hello,\r\n we just installed this library on Varnish 6.6 and One of tests failed (out of 21):\r\n\r\n*** v1 CLI RX 106\r\n**** v1 CLI RX|Message from VCC-compiler:\r\n**** v1 CLI RX|Expected '{' got '+'\r\n**** v1 CLI RX|(program line 560), at\r\n**** v1 CLI RX|('' Line 7 Pos 27)\r\n**** v1 CLI RX| acl ipv4_loopback +log {\r\n**** v1 CLI RX|--------------------------#-----\r\n**** v1 CLI RX|\r\n**** v1 CLI RX|Running VCC-compiler failed, exited with 2\r\n**** v1 CLI RX|VCL compilation failed\r\n\r\n\r\n18 varnish v1 -vcl {\r\n19 import ${vmod_dynamic};\r\n20\r\n21 backend dummy { .host = \"${bad_ip}\"; .port = \"9080\"; }\r\n22\r\n23 acl ipv4_loopback +log {\r\n24 \"127/24\";\r\n25 }\r\n26\r\n27 sub vcl_init {\r\n28 new d1 = dynamic.director(\r\n29 port = \"${s1_port}\",\r\n30 whitelist = ipv4_loopback,\r\n31 domain_usage_timeout = 1s);\r\n32 d1.debug(true);\r\n33 }\r\n34\r\n35 sub vcl_recv {\r\n36 set req.backend_hint = d1.backend();\r\n37 }\r\n38 } -start\r\n\r\nCould you please make it working with Varnish 6.6?\r\n\r\nWhat are the consequences of the failed test?\r\n\r\nThank you","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/74/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/74/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/75","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/75/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/75/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/75/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/75","id":1027494200,"node_id":"I_kwDOBBOOTM49PlE4","number":75,"title":"Is \"master\" already ready for Varnish 7?","user":{"login":"ronaldploeger","id":2346952,"node_id":"MDQ6VXNlcjIzNDY5NTI=","avatar_url":"https://avatars.githubusercontent.com/u/2346952?v=4","gravatar_id":"","url":"https://api.github.com/users/ronaldploeger","html_url":"https://github.com/ronaldploeger","followers_url":"https://api.github.com/users/ronaldploeger/followers","following_url":"https://api.github.com/users/ronaldploeger/following{/other_user}","gists_url":"https://api.github.com/users/ronaldploeger/gists{/gist_id}","starred_url":"https://api.github.com/users/ronaldploeger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronaldploeger/subscriptions","organizations_url":"https://api.github.com/users/ronaldploeger/orgs","repos_url":"https://api.github.com/users/ronaldploeger/repos","events_url":"https://api.github.com/users/ronaldploeger/events{/privacy}","received_events_url":"https://api.github.com/users/ronaldploeger/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2021-10-15T14:19:45Z","updated_at":"2021-10-26T15:54:54Z","closed_at":"2021-10-26T15:54:54Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Is \"master\" already ready for Varnish 7.0.0?\r\n\r\nThanks and all the best,\r\nRonald","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/75/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/75/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/76","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/76/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/76/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/76/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/76","id":1044868162,"node_id":"PR_kwDOBBOOTM4uGT2M","number":76,"title":"Add the authority parameter to .director().","user":{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2021-11-04T15:09:14Z","updated_at":"2023-07-07T13:59:13Z","closed_at":"2023-07-07T13:59:13Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":true,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/76","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/76","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/76.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/76.patch","merged_at":null},"body":"Previously this was always set to the value of the VRT_backend host\r\nheader. That is still the default, but with the new parameter a\r\ndifferent value may be set, or the parameter may be set to the\r\nempty string, to specify that no authority TLV should be sent.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/76/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/76/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/77","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/77/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/77/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/77/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/77","id":1045836082,"node_id":"I_kwDOBBOOTM4-VjEy","number":77,"title":"Cannot build on alpine:3.14","user":{"login":"alexpozzi","id":8307861,"node_id":"MDQ6VXNlcjgzMDc4NjE=","avatar_url":"https://avatars.githubusercontent.com/u/8307861?v=4","gravatar_id":"","url":"https://api.github.com/users/alexpozzi","html_url":"https://github.com/alexpozzi","followers_url":"https://api.github.com/users/alexpozzi/followers","following_url":"https://api.github.com/users/alexpozzi/following{/other_user}","gists_url":"https://api.github.com/users/alexpozzi/gists{/gist_id}","starred_url":"https://api.github.com/users/alexpozzi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexpozzi/subscriptions","organizations_url":"https://api.github.com/users/alexpozzi/orgs","repos_url":"https://api.github.com/users/alexpozzi/repos","events_url":"https://api.github.com/users/alexpozzi/events{/privacy}","received_events_url":"https://api.github.com/users/alexpozzi/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2021-11-05T13:13:17Z","updated_at":"2021-11-08T10:32:20Z","closed_at":"2021-11-05T16:30:10Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hello,\r\nI'm trying to build this mod on alpine:3.14 (same version used by official Varnish alpine docker images) but I get the following error:\r\n```\r\n./configure: line 12848: syntax error: unexpected newline (expecting \")\")\r\nThe command '/bin/sh -c cd /tmp && curl -sSLO https://github.com/nigoroll/libvmod-dynamic/archive/v${LIBVMOD_DYNAMIC_VERSION}.zip && unzip v${LIBVMOD_DYNAMIC_VERSION}.zip && cd libvmod-dynamic-${LIBVMOD_DYNAMIC_VERSION} && ./autogen.sh && ./configure && make && make install' returned a non-zero code: 2\r\n```\r\n\r\nExample Dockerfile to reproduce the problem:\r\n```\r\nFROM alpine:3.14 AS prod\r\nENV LIBVMOD_DYNAMIC_VERSION=2.3.1\r\nRUN apk --no-cache add automake autoconf libtool make curl python3 py3-sphinx py-docutils pkgconf \\\r\n gcc make g++ zlib-dev pcre-dev libedit-dev readline-dev libexecinfo-dev linux-headers \\\r\n varnish varnish-dev\r\n\r\nRUN cd /tmp && curl -sSLO https://github.com/nigoroll/libvmod-dynamic/archive/v${LIBVMOD_DYNAMIC_VERSION}.zip && \\\r\n unzip v${LIBVMOD_DYNAMIC_VERSION}.zip && cd libvmod-dynamic-${LIBVMOD_DYNAMIC_VERSION} && \\\r\n ./autogen.sh && ./configure && make && make install\r\n```\r\n\r\nIs there something I'm missing?\r\nDo you have any hint on how to solve the issue?\r\n\r\nThank you!","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/77/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/77/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/78","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/78/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/78/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/78/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/78","id":1112007836,"node_id":"I_kwDOBBOOTM5CR-Sc","number":78,"title":"Deadlock on service lookup when all contexts in use","user":{"login":"jake-dog","id":20374198,"node_id":"MDQ6VXNlcjIwMzc0MTk4","avatar_url":"https://avatars.githubusercontent.com/u/20374198?v=4","gravatar_id":"","url":"https://api.github.com/users/jake-dog","html_url":"https://github.com/jake-dog","followers_url":"https://api.github.com/users/jake-dog/followers","following_url":"https://api.github.com/users/jake-dog/following{/other_user}","gists_url":"https://api.github.com/users/jake-dog/gists{/gist_id}","starred_url":"https://api.github.com/users/jake-dog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jake-dog/subscriptions","organizations_url":"https://api.github.com/users/jake-dog/orgs","repos_url":"https://api.github.com/users/jake-dog/repos","events_url":"https://api.github.com/users/jake-dog/events{/privacy}","received_events_url":"https://api.github.com/users/jake-dog/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2022-01-23T22:43:48Z","updated_at":"2025-01-02T16:02:33Z","closed_at":"2022-01-24T10:07:41Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Observed on b72c723acff5b2ef46c9de8cef036cee3a380a64 (`6.0` branch).\r\n\r\nA deadlock can occur when looking up a service record with a `vmod_dynamic.resolver` that has run out of contexts (`parallel` argument to resolver constructor). One thread will wait infinitely for a context so it may resolve the domain returned by the SRV record, and the other thread will wait infinitely for the `dom->resolve` condition to be set before it releases the context.\r\n\r\nPer the following thread stack traces: thread 957 is waiting for the condition `dom->resolve` while holding a resolver context; thread 972 is waiting for a resolver context so it can set the condition `dom->resolve`.\r\n\r\n```\r\nThread 957 (Thread 0x7fcf717ea700 (LWP 350411)):\r\n#0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238\r\n#1 0x0000000000436bf6 in Lck_CondWait ()\r\n#2 0x00007fd1b4df21c9 in service_doms (prios=0x7fd1b0631080, obj=0x7fd1c341a440, ctx=0x7fcf717e9e10) at vmod_dynamic_service.c:266\r\n#3 service_update (res=0x7fd1b4ffb360 , now=1642054171.002723, priv=, srv=0x7fd16a822300) at vmod_dynamic_service.c:424\r\n#4 service_lookup_thread (priv=0x7fd16a822300) at vmod_dynamic_service.c:496\r\n#5 0x00007fd1c405eea5 in start_thread (arg=0x7fcf717ea700) at pthread_create.c:307\r\n#6 0x00007fd1c3d879fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111\r\n\r\nThread 972 (Thread 0x7fcf6a7dc700 (LWP 350426)):\r\n#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185\r\n#1 0x00007fd1b4df5063 in dyn_getdns_get_context (r=r@entry=0x7fd1c341da80) at dyn_getdns.c:64\r\n#2 0x00007fd1b4df5f16 in getdns_lookup (r=0x7fd1c341da80, node=0x7fd1c34d5dc0 \"redacted.example.svc.cluster.local.\", service=0x7fd1c34d7120 \"42667\", priv=0x7fcf6a7dbc70) at dyn_resolver_getdns.c:183\r\n#3 0x00007fd1b4ded90e in dynamic_lookup_thread (priv=0x7fd1c35c6700) at vmod_dynamic.c:490\r\n#4 0x00007fd1c405eea5 in start_thread (arg=0x7fcf6a7dc700) at pthread_create.c:307\r\n#5 0x00007fd1c3d879fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111\r\n```\r\n\r\nThe possibility of a deadlock is the result of the context not being released until after the service is updated in the function `service_lookup_thread`.\r\n\r\n1. A resolver context is obtained\r\nhttps://github.com/nigoroll/libvmod-dynamic/blob/b72c723acff5b2ef46c9de8cef036cee3a380a64/src/vmod_dynamic_service.c#L488\r\n\r\n2. Update service, which requires condition be set by other thread(s) attaining resolver context\r\nhttps://github.com/nigoroll/libvmod-dynamic/blob/b72c723acff5b2ef46c9de8cef036cee3a380a64/src/vmod_dynamic_service.c#L496\r\n\r\n3. Release context obtained in step 1\r\nhttps://github.com/nigoroll/libvmod-dynamic/blob/b72c723acff5b2ef46c9de8cef036cee3a380a64/src/vmod_dynamic_service.c#L517\r\n\r\nTo eliminate the possibility of a deadlock the resolver context needs to be released (`res->srv_fini(&res_priv)` from [line 517](https://github.com/nigoroll/libvmod-dynamic/blob/b72c723acff5b2ef46c9de8cef036cee3a380a64/src/vmod_dynamic_service.c#L517)) prior to [locking/waiting on the `dom->resolve` condition](https://github.com/nigoroll/libvmod-dynamic/blob/b72c723acff5b2ef46c9de8cef036cee3a380a64/src/vmod_dynamic_service.c#L262-L270). This could _probably_ be done most easily by moving the `srv_fini()` call to [line 423](https://github.com/nigoroll/libvmod-dynamic/blob/b72c723acff5b2ef46c9de8cef036cee3a380a64/src/vmod_dynamic_service.c#L423), just before the call to `service_doms()`, and adding another `srv_fini()` to handle the [`else` condition](https://github.com/nigoroll/libvmod-dynamic/blob/b72c723acff5b2ef46c9de8cef036cee3a380a64/src/vmod_dynamic_service.c#L510).\r\n\r\nA possible workaround for anyone impacted by this issue is set a larger value for `parallel` (defaut: 16) in the resolver constructor.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/78/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/78/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/79","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/79/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/79/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/79/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/79","id":1119737295,"node_id":"PR_kwDOBBOOTM4x2ouU","number":79,"title":"Declare $ABI vrt.","user":{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2022-01-31T17:41:30Z","updated_at":"2022-02-02T08:19:32Z","closed_at":"2022-02-02T08:19:32Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/79","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/79","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/79.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/79.patch","merged_at":"2022-02-02T08:19:32Z"},"body":"As far as I can tell, the VMOD code conforms to VRT. @nigoroll please make your own judgment on that, I may have missed something.\r\n\r\nVRT makes like easier when there's a Varnish version update that doesn't change the VRT version -- the VMOD usually doesn't have to be updated. With $ABI strict, we have to update the VMOD even if nothing changes except the Varnish commit ID.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/79/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/79/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/80","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/80/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/80/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/80/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/80","id":1125025593,"node_id":"I_kwDOBBOOTM5DDoc5","number":80,"title":"no release works with 7.0.2","user":{"login":"gquintard","id":3776553,"node_id":"MDQ6VXNlcjM3NzY1NTM=","avatar_url":"https://avatars.githubusercontent.com/u/3776553?v=4","gravatar_id":"","url":"https://api.github.com/users/gquintard","html_url":"https://github.com/gquintard","followers_url":"https://api.github.com/users/gquintard/followers","following_url":"https://api.github.com/users/gquintard/following{/other_user}","gists_url":"https://api.github.com/users/gquintard/gists{/gist_id}","starred_url":"https://api.github.com/users/gquintard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gquintard/subscriptions","organizations_url":"https://api.github.com/users/gquintard/orgs","repos_url":"https://api.github.com/users/gquintard/repos","events_url":"https://api.github.com/users/gquintard/events{/privacy}","received_events_url":"https://api.github.com/users/gquintard/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false},"assignees":[{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false}],"milestone":null,"comments":4,"created_at":"2022-02-05T20:37:35Z","updated_at":"2022-03-01T18:23:49Z","closed_at":"2022-03-01T11:58:52Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Unless I'm mistaken, `2.5.0` is the latest tag, and has `VARNISH_PREREQ([6.6.0],[7.0.0])`, preventing it from building again `7.0.2`\r\nI can of course pick the top of master, but I'd like to package this vmod into the official `docker` image, and so having an official tag/release would be nice","closed_by":{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/80/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/80/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/81","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/81/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/81/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/81/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/81","id":1142330043,"node_id":"I_kwDOBBOOTM5EFpK7","number":81,"title":"Assertion error for service with purged dynamic_domain","user":{"login":"jake-dog","id":20374198,"node_id":"MDQ6VXNlcjIwMzc0MTk4","avatar_url":"https://avatars.githubusercontent.com/u/20374198?v=4","gravatar_id":"","url":"https://api.github.com/users/jake-dog","html_url":"https://github.com/jake-dog","followers_url":"https://api.github.com/users/jake-dog/followers","following_url":"https://api.github.com/users/jake-dog/following{/other_user}","gists_url":"https://api.github.com/users/jake-dog/gists{/gist_id}","starred_url":"https://api.github.com/users/jake-dog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jake-dog/subscriptions","organizations_url":"https://api.github.com/users/jake-dog/orgs","repos_url":"https://api.github.com/users/jake-dog/repos","events_url":"https://api.github.com/users/jake-dog/events{/privacy}","received_events_url":"https://api.github.com/users/jake-dog/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":12,"created_at":"2022-02-18T04:28:18Z","updated_at":"2023-07-21T03:10:00Z","closed_at":"2023-07-03T15:01:52Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Observed on 5c1c68b (w/ varnish 6.0.9) and b72c723 (w/ varnish 6.0.7).\r\n\r\n```\r\nPanic at: Fri, 28 Jan 2022 04:08:36 GMT\r\nAssert error in service_resolve(), vmod_dynamic_service.c line 150:\r\n Condition((t->dom)->magic == 0x1bfe1345) not true.\r\nversion = varnish-6.0.9 revision 3383d3d02c6ee459f20e1f46cfcb9692726a6387, vrt api = 7.1\r\nident = Linux,5.4.77-flatcar,x86_64,-junix,-smalloc,-sdefault,-hcritbit,epoll\r\nnow = 18260503.813988 (mono), 1643342916.576233 (real)\r\nBacktrace:\r\n 0x43c46e: varnishd() [0x43c46e]\r\n 0x49f272: varnishd(VAS_Fail+0x42) [0x49f272]\r\n 0x7fb8159f13da: ./vmod_cache/_vmod_dynamic.04887395d86555991e34ec9874763b01e23b00135a5367941f17a5e0076a9451(+0x83da) [0x7fb8159f13da]\r\n 0x4216a3: varnishd() [0x4216a3]\r\n 0x421d83: varnishd(VDI_GetHdr+0x33) [0x421d83]\r\n 0x42a859: varnishd() [0x42a859]\r\n 0x45a4db: varnishd() [0x45a4db]\r\n 0x45a9c0: varnishd() [0x45a9c0]\r\n 0x7fb8257d2ea5: /lib64/libpthread.so.0(+0x7ea5) [0x7fb8257d2ea5]\r\n 0x7fb8254fbb0d: /lib64/libc.so.6(clone+0x6d) [0x7fb8254fbb0d]\r\n```\r\n\r\n[Full panic output from VTC test log.](https://github.com/nigoroll/libvmod-dynamic/files/8113720/r81.log)\r\n\r\n## Reproduction steps\r\n\r\nA [gist has been created with VTC](https://gist.github.com/jake-dog/25a77e193c406bf5744005fa7a021e9d) that reproduces the panic. Please follow the instructions inside of the gist, which includes installing and configuring dnsmasq.\r\n\r\nOther test conditions, such as changing A names in SRV responses, have also succeeded in reproducing the assertion error.\r\n\r\n## Investigation\r\n\r\nThe assertion error was not reproducible when `dynamic_domain` usage timeout checks were hardcoded out, blocking timeout purges in the [`dynamic_search`](https://github.com/nigoroll/libvmod-dynamic/blob/5c1c68b7914a10726d724ad8c60562019baa6371/src/vmod_dynamic.c#L650) function, demonstrating that the bug occurs when a `dynamic_domain` is purged while still referenced by a `dynamic_service`.\r\n\r\nThe life cycles of `dynamic_domain` structs, and the `dynamic_service` structs which reference them, are not tightly coupled. Under specific conditions data races are possible.\r\n\r\nOne such scenario, as demonstrated in the provided VTC, involves three components:\r\n\r\n1. `dynamic_domain` structs exclusively referenced by a `dynamic_service` only have their `last_used` property updated when SRV resolve is successful ([code](https://github.com/nigoroll/libvmod-dynamic/blob/5c1c68b7914a10726d724ad8c60562019baa6371/src/vmod_dynamic_service.c#L245))\r\n2. the delay between SRV resolves is set to `obj->ttl` when the previous DNS resolve fails ([code](https://github.com/nigoroll/libvmod-dynamic/blob/5c1c68b7914a10726d724ad8c60562019baa6371/src/vmod_dynamic_service.c#L522))\r\n3. when retrieving a specific `dynamic_domain`, any active domain which doesn't match is subject to a timeout purge ([code](https://github.com/nigoroll/libvmod-dynamic/blob/5c1c68b7914a10726d724ad8c60562019baa6371/src/vmod_dynamic.c#L670))\r\n\r\nWith these components a panic can be instigated via a simple sequence of requests and DNS failures:\r\n\r\n1. Send a request for a valid `d.service` with DNS running\r\n2. Kill/block DNS\r\n3. Send several more requests to the same `d.service` from step 1 until DNS resolve timeout occurs\r\n4. Enable/unblock DNS\r\n5. Send several requests for a different `d.service` to trigger a timeout purge of the `d.service` from step 1\r\n6. Continue sending requests to the `d.service` from step 1 until panic\r\n\r\nThis sequence of lookups, and purges, looks like this (from provided VTC log):\r\n\r\n```\r\n**** v1 0.7 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(srv _http._tcp.p-test-3.example.svc.cluster.local) Lookup: 1645503346.958248 0.000000 0.000000\r\n**** v1 0.7 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(srv _http._tcp.p-test-3.example.svc.cluster.local) Results: 1645503346.958876 0.000628 0.000628\r\n**** v1 0.7 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(p-test-3.example.svc.cluster.local.:8893) Lookup: 1645503346.959250 0.000000 0.000000\r\n**** v1 0.7 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(p-test-3.example.svc.cluster.local.:8893) Results: 1645503346.959764 0.000514 0.000514\r\n**** v1 0.7 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(p-test-3.example.svc.cluster.local.:8893) Update: 1645503346.959862 0.000613 0.000099\r\n**** v1 0.7 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(srv _http._tcp.p-test-3.example.svc.cluster.local) Update: 1645503346.959927 0.001679 0.001051\r\n**** v1 2.2 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(srv _http._tcp.p-test-3.example.svc.cluster.local) Lookup: 1645503348.470227 0.000000 0.000000\r\n**** v1 7.3 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(srv _http._tcp.p-test-3.example.svc.cluster.local) Results: 1645503353.475618 5.005390 5.005390\r\n**** v1 7.3 vsl| 0 Error - vmod-dynamic: vcl1 d1 _http._tcp.p-test-3.example.svc.cluster.local getdns 902 (All queries for the name timed out)\r\n**** v1 15.8 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(srv _http._tcp.p-test-2.example.svc.cluster.local) Lookup: 1645503362.042588 0.000000 0.000000\r\n**** v1 15.8 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(srv _http._tcp.p-test-2.example.svc.cluster.local) Results: 1645503362.043147 0.000558 0.000558\r\n**** v1 15.8 vsl| 0 VCL_Log - vmod-dynamic: vcl1 d1 p-test-3.example.svc.cluster.local.:8893 timeout\r\n**** v1 15.8 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(p-test-3.example.svc.cluster.local.:8893) Done: 1645503362.043266 0.000000 0.000000\r\n**** v1 15.8 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(p-test-2.example.svc.cluster.local.:8892) Lookup: 1645503362.043516 0.000000 0.000000\r\n**** v1 15.8 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(p-test-2.example.svc.cluster.local.:8892) Results: 1645503362.043797 0.000281 0.000281\r\n**** v1 15.8 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(p-test-2.example.svc.cluster.local.:8892) Update: 1645503362.043895 0.000379 0.000098\r\n**** v1 15.8 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(srv _http._tcp.p-test-2.example.svc.cluster.local) Update: 1645503362.043962 0.001374 0.000815\r\n**** v1 17.3 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(srv _http._tcp.p-test-2.example.svc.cluster.local) Lookup: 1645503363.554317 0.000000 0.000000\r\n**** v1 17.3 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(srv _http._tcp.p-test-2.example.svc.cluster.local) Results: 1645503363.554597 0.000280 0.000280\r\n**** v1 17.3 vsl| 0 VCL_Log - vmod-dynamic: vcl1 d1 p-test-3.example.svc.cluster.local.:8893 deleted\r\n**** v1 17.3 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(srv _http._tcp.p-test-2.example.svc.cluster.local) Update: 1645503363.554614 0.000297 0.000017\r\n```\r\n\r\nNote that the service `_http._tcp.p-test-3.example.svc.cluster.local` is still active, and has not changed, but the domain it points to `p-test-3.example.svc.cluster.local` has timed out and was eventually deleted.\r\n\r\n## Solutions\r\n\r\nThough not completely without the possibility of data races, and not tested, the following should avoid the bulk of the race conditions. Based on 5c1c68b\r\n\r\n```diff\r\ndiff --git a/src/vmod_dynamic_service.c b/src/vmod_dynamic_service.c\r\nindex 2140a2d..c77ca06 100644\r\n--- a/src/vmod_dynamic_service.c\r\n+++ b/src/vmod_dynamic_service.c\r\n@@ -521,3 +521,6 @@ service_lookup_thread(void *priv)\r\n res->name, ret, res->strerror(ret));\r\n- srv->deadline = results + obj->ttl;\r\n+ if (obj->ttl < obj->domain_usage_tmo / 2)\r\n+ srv->deadline = results + obj->ttl;\r\n+ else\r\n+ srv->deadline = results + (obj->domain_usage_tmo / 2);\r\n dbg_res_details(NULL, srv->obj, res, res_priv);\r\n@@ -737,2 +740,5 @@ vmod_director_service(VRT_CTX, struct VPFX(dynamic_director) *obj,\r\n struct dynamic_service *srv;\r\n+ const struct service_prios *prios;\r\n+ const struct service_prio *p;\r\n+ const struct service_target *t;\r\n CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);\r\n@@ -750,2 +756,16 @@ vmod_director_service(VRT_CTX, struct VPFX(dynamic_director) *obj,\r\n srv->last_used = ctx->now;\r\n+\r\n+ VRMB();\r\n+ prios = srv->prios;\r\n+\r\n+ if (prios != NULL) {\r\n+ VTAILQ_FOREACH(p, &prios->head, list) {\r\n+ CHECK_OBJ_NOTNULL(p, SERVICE_PRIO_MAGIC);\r\n+ VTAILQ_FOREACH(t, &p->targets, list) {\r\n+ CHECK_OBJ_NOTNULL(t, SERVICE_TARGET_MAGIC);\r\n+ CHECK_OBJ_NOTNULL(t->dom, DYNAMIC_DOMAIN_MAGIC);\r\n+ t->dom->last_used = ctx->now;\r\n+ }\r\n+ }\r\n+ }\r\n Lck_Unlock(&obj->mtx);\r\n```\r\n\r\nThe problems with the trivial solution include:\r\n\r\n* still possibility of data races\r\n * multiple services using a shared domain\r\n * multiple unique services with unique domains causing thread races to purge timed out domains\r\n* pattern of SRV resolves is inconsistent and diverges from user configuration\r\n\r\nI've sent #82 introducing minimal reference counting logic to block `dynamic_domain` timeout purges while referenced by a `dynamic_service`, thus tightly coupling them.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/81/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/81/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/82","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/82/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/82/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/82/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/82","id":1142330257,"node_id":"PR_kwDOBBOOTM4zCxtc","number":82,"title":"Fixing domain purge data race","user":{"login":"jake-dog","id":20374198,"node_id":"MDQ6VXNlcjIwMzc0MTk4","avatar_url":"https://avatars.githubusercontent.com/u/20374198?v=4","gravatar_id":"","url":"https://api.github.com/users/jake-dog","html_url":"https://github.com/jake-dog","followers_url":"https://api.github.com/users/jake-dog/followers","following_url":"https://api.github.com/users/jake-dog/following{/other_user}","gists_url":"https://api.github.com/users/jake-dog/gists{/gist_id}","starred_url":"https://api.github.com/users/jake-dog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jake-dog/subscriptions","organizations_url":"https://api.github.com/users/jake-dog/orgs","repos_url":"https://api.github.com/users/jake-dog/repos","events_url":"https://api.github.com/users/jake-dog/events{/privacy}","received_events_url":"https://api.github.com/users/jake-dog/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2022-02-18T04:28:41Z","updated_at":"2023-07-03T15:32:58Z","closed_at":"2023-07-03T15:32:57Z","author_association":"NONE","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/82","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/82","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/82.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/82.patch","merged_at":null},"body":"# What's new\r\n\r\n* fix #81 with a ref counter on `dynamic_domains` linked to `dynamic_services`\r\n* fix SRV resolve TTL so it isn't limited by [`0.5 * domain_usage_tmo`](https://github.com/nigoroll/libvmod-dynamic/blob/5c1c68b7914a10726d724ad8c60562019baa6371/src/vmod_dynamic_service.c#L513-L515)\r\n* fix `dynamic_domain` timeout behavior for `dynamic_domains` linked to `dynamic_services`\r\n\r\n# Why\r\n\r\nThere are several scenarios to consider when fixing #81. A `dynamic_domain` could be linked to zero or more `dynamic_services`, and/or a `dynamic_domain` linked to `dynamic_service` could be called directly via `d.backend`. A simple reference counter accommodates all of these possibilities, and prevents all services/domain timeout related data races. In a word, it is bombproof.\r\n\r\nTimeout initiated purges will be blocked for all `dynamic_domain` structs referenced by `dynamic_services`. Only after a `dynamic_service` is purged will the corresponding `dynamic_domain` ref counter(s) be decremented. \r\n\r\nWhile adding the ref counter logic I discovered two other unexpected behaviors which were linked to each other:\r\n\r\n* SRV resolve TTL is limited to `0.5 * domain_usage_tmo` or `obj->ttl` (whichever is smaller)\r\n* domains exclusively linked to services had `last_used` updated only when SRV resolve succeeded\r\n\r\nThese behaviors together formed a partially protective layer against early purge of service linked domains. The addition of a ref counter to service linked domains removes the need for previous workarounds, fixes all early purge vulnerabilities, and makes the behavior of `d.backend` and `d.service` consistent and predictable.\r\n\r\nThis branch passed the [`r81.vtc`](https://gist.github.com/jake-dog/25a77e193c406bf5744005fa7a021e9d) test, and produces the following expected pattern of dynamic backends:\r\n\r\n```\r\n**** v1 0.6 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(srv _http._tcp.p-test-3.example.svc.cluster.local) Lookup: 1645504100.142287 0.000000 0.000000\r\n**** v1 0.6 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(srv _http._tcp.p-test-3.example.svc.cluster.local) Results: 1645504100.142864 0.000577 0.000577\r\n**** v1 0.6 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(p-test-3.example.svc.cluster.local.:8893) Lookup: 1645504100.143254 0.000000 0.000000\r\n**** v1 0.6 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(p-test-3.example.svc.cluster.local.:8893) Results: 1645504100.143684 0.000430 0.000430\r\n**** v1 0.6 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(p-test-3.example.svc.cluster.local.:8893) Update: 1645504100.143806 0.000552 0.000122\r\n**** v1 0.6 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(srv _http._tcp.p-test-3.example.svc.cluster.local) Update: 1645504100.143882 0.001595 0.001019\r\n**** v1 15.7 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(srv _http._tcp.p-test-2.example.svc.cluster.local) Lookup: 1645504115.210968 0.000000 0.000000\r\n**** v1 15.7 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(srv _http._tcp.p-test-2.example.svc.cluster.local) Results: 1645504115.211497 0.000529 0.000529\r\n**** v1 15.7 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(p-test-2.example.svc.cluster.local.:8892) Lookup: 1645504115.211926 0.000000 0.000000\r\n**** v1 15.7 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(p-test-2.example.svc.cluster.local.:8892) Results: 1645504115.212421 0.000495 0.000495\r\n**** v1 15.7 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(p-test-2.example.svc.cluster.local.:8892) Update: 1645504115.212502 0.000576 0.000081\r\n**** v1 15.7 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(srv _http._tcp.p-test-2.example.svc.cluster.local) Update: 1645504115.212528 0.001560 0.001031\r\n**** v1 18.8 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(srv _http._tcp.p-test-2.example.svc.cluster.local) Done: 1645504118.317811 0.000000 0.000000\r\n**** v1 18.8 vsl| 1039 VCL_Log c vmod-dynamic: vcl1 d1 _http._tcp.p-test-2.example.svc.cluster.local timeout\r\n**** v1 19.8 vsl| 1041 VCL_Log c vmod-dynamic: vcl1 d1 _http._tcp.p-test-2.example.svc.cluster.local deleted\r\n```\r\n\r\n# Performance Considerations\r\n\r\nWhen an existing service is resolved, and no changes are made, no additional locking is necessary, however extra looping over `srv->prios` is still required to determine if refcounts changed. Only when an existing service is resolved, and domains are removed from it, is additional locking required to decrement refcounts.\r\n\r\nAn additional loop of `srv->prios` was also added to each `d.service` call to ensure that `last_used` was updated for all linked domains, ensuring that domain timeout behavior will be consistent when the service changes or is removed.\r\n\r\nIn testing with a fairly small number of service backends (5-10), each containing only a single A record, I saw no measurable difference in CPU usage at high transaction rates (3k-5k req/s).","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/82/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/82/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/83","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/83/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/83/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/83/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/83","id":1150626937,"node_id":"I_kwDOBBOOTM5ElSx5","number":83,"title":"Unguarded use-after-free in dynamic_resolve","user":{"login":"rezan","id":1030507,"node_id":"MDQ6VXNlcjEwMzA1MDc=","avatar_url":"https://avatars.githubusercontent.com/u/1030507?v=4","gravatar_id":"","url":"https://api.github.com/users/rezan","html_url":"https://github.com/rezan","followers_url":"https://api.github.com/users/rezan/followers","following_url":"https://api.github.com/users/rezan/following{/other_user}","gists_url":"https://api.github.com/users/rezan/gists{/gist_id}","starred_url":"https://api.github.com/users/rezan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rezan/subscriptions","organizations_url":"https://api.github.com/users/rezan/orgs","repos_url":"https://api.github.com/users/rezan/repos","events_url":"https://api.github.com/users/rezan/events{/privacy}","received_events_url":"https://api.github.com/users/rezan/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2022-02-25T16:17:10Z","updated_at":"2023-06-30T05:38:42Z","closed_at":"2023-06-30T05:38:42Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"There is an unguarded use-after-free error [here in vmod_dynamic.c](https://github.com/nigoroll/libvmod-dynamic/blob/9666973952f62110c872d720af3dae0b85b4b597/src/vmod_dynamic.c#L160). This affects all versions of `vmod_dynamic`, potentially all the way back to 4.1. This is unguarded meaning there are no magic checks preventing this from happening or being exploited.\r\n\r\n**Cause**\r\n\r\nResolve a director while doing a plain DNS update where a backend is deleted. Note that without a magic check, this use-after-free is undetectable without extra memory checks.\r\n\r\n**Outcome**\r\n\r\nNothing, a crash/panic, or you can land on a different random backend or an attacker controlled backend.\r\n\r\n**Fix**\r\n\r\n* Add magic checks to all dynamic structs. This is how the bug was uncovered.\r\n* Move the `struct dynamic_ref *next` [dereference in question](https://github.com/nigoroll/libvmod-dynamic/blob/9666973952f62110c872d720af3dae0b85b4b597/src/vmod_dynamic.c#L160) up into the locked section. Grab a reference to the director there and return it.\r\n\r\nI will not be making a PR for this and this has not been reported anywhere else.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/83/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/83/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/84","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/84/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/84/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/84/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/84","id":1170732528,"node_id":"I_kwDOBBOOTM5Fx_Xw","number":84,"title":"A branch dedicated to 7.1?","user":{"login":"anthosz","id":14294064,"node_id":"MDQ6VXNlcjE0Mjk0MDY0","avatar_url":"https://avatars.githubusercontent.com/u/14294064?v=4","gravatar_id":"","url":"https://api.github.com/users/anthosz","html_url":"https://github.com/anthosz","followers_url":"https://api.github.com/users/anthosz/followers","following_url":"https://api.github.com/users/anthosz/following{/other_user}","gists_url":"https://api.github.com/users/anthosz/gists{/gist_id}","starred_url":"https://api.github.com/users/anthosz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anthosz/subscriptions","organizations_url":"https://api.github.com/users/anthosz/orgs","repos_url":"https://api.github.com/users/anthosz/repos","events_url":"https://api.github.com/users/anthosz/events{/privacy}","received_events_url":"https://api.github.com/users/anthosz/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2022-03-16T09:07:22Z","updated_at":"2022-04-07T12:42:38Z","closed_at":"2022-04-07T12:42:38Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hello,\r\n\r\nIs it planned to create a branch dedicated to 7.1 or we simply need to use master?\r\n\r\nBest regards,","closed_by":{"login":"anthosz","id":14294064,"node_id":"MDQ6VXNlcjE0Mjk0MDY0","avatar_url":"https://avatars.githubusercontent.com/u/14294064?v=4","gravatar_id":"","url":"https://api.github.com/users/anthosz","html_url":"https://github.com/anthosz","followers_url":"https://api.github.com/users/anthosz/followers","following_url":"https://api.github.com/users/anthosz/following{/other_user}","gists_url":"https://api.github.com/users/anthosz/gists{/gist_id}","starred_url":"https://api.github.com/users/anthosz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anthosz/subscriptions","organizations_url":"https://api.github.com/users/anthosz/orgs","repos_url":"https://api.github.com/users/anthosz/repos","events_url":"https://api.github.com/users/anthosz/events{/privacy}","received_events_url":"https://api.github.com/users/anthosz/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/84/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/84/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/85","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/85/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/85/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/85/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/85","id":1175165710,"node_id":"I_kwDOBBOOTM5GC5sO","number":85,"title":"Support for arm containers on m1 mac","user":{"login":"janosmiko","id":693558,"node_id":"MDQ6VXNlcjY5MzU1OA==","avatar_url":"https://avatars.githubusercontent.com/u/693558?v=4","gravatar_id":"","url":"https://api.github.com/users/janosmiko","html_url":"https://github.com/janosmiko","followers_url":"https://api.github.com/users/janosmiko/followers","following_url":"https://api.github.com/users/janosmiko/following{/other_user}","gists_url":"https://api.github.com/users/janosmiko/gists{/gist_id}","starred_url":"https://api.github.com/users/janosmiko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janosmiko/subscriptions","organizations_url":"https://api.github.com/users/janosmiko/orgs","repos_url":"https://api.github.com/users/janosmiko/repos","events_url":"https://api.github.com/users/janosmiko/events{/privacy}","received_events_url":"https://api.github.com/users/janosmiko/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2022-03-21T10:17:07Z","updated_at":"2022-04-21T10:58:40Z","closed_at":"2022-04-21T10:58:40Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi,\r\n\r\nI'm building varnish containers for amd64 and arm64 using this vmod. While it's working well on amd64 and it also works well when I'm using an arm64 linux server it's not working for desktop users using m1 mac.\r\n\r\nThey got the following error:\r\n```\r\nError:\r\nvarnish_1 | Message from VCC-compiler:\r\nvarnish_1 | Could not open VMOD dynamic\r\nvarnish_1 | \tFile name: /usr/lib/varnish/vmods/libvmod_dynamic.so\r\nvarnish_1 | \tdlerror: /usr/lib/varnish/vmods/libvmod_dynamic.so: undefined symbol: vmb_pthread\r\nvarnish_1 | ('/etc/varnish/default.vcl' Line 5 Pos 8)\r\nvarnish_1 | import dynamic;\r\nvarnish_1 | -------#######-\r\nvarnish_1 | \r\n```\r\n\r\nThe Dockerfile I'm using:\r\nhttps://github.com/rewardenv/reward/blob/main/images/varnish/debian/6.5/Dockerfile\r\n\r\n\r\nRelated issue:\r\nhttps://github.com/rewardenv/reward/issues/17","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/85/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/85/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/86","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/86/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/86/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/86/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/86","id":1187420285,"node_id":"PR_kwDOBBOOTM41XT3a","number":86,"title":"align vmb.h with the varnish version","user":{"login":"gquintard","id":3776553,"node_id":"MDQ6VXNlcjM3NzY1NTM=","avatar_url":"https://avatars.githubusercontent.com/u/3776553?v=4","gravatar_id":"","url":"https://api.github.com/users/gquintard","html_url":"https://github.com/gquintard","followers_url":"https://api.github.com/users/gquintard/followers","following_url":"https://api.github.com/users/gquintard/following{/other_user}","gists_url":"https://api.github.com/users/gquintard/gists{/gist_id}","starred_url":"https://api.github.com/users/gquintard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gquintard/subscriptions","organizations_url":"https://api.github.com/users/gquintard/orgs","repos_url":"https://api.github.com/users/gquintard/repos","events_url":"https://api.github.com/users/gquintard/events{/privacy}","received_events_url":"https://api.github.com/users/gquintard/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2022-03-31T02:47:21Z","updated_at":"2022-06-07T10:02:45Z","closed_at":"2022-04-21T10:58:40Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/86","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/86","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/86.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/86.patch","merged_at":"2022-04-21T10:58:40Z"},"body":"fixes #85\r\n\r\nit shouldn't break 7.0- as the header file predates it, but I haven't tested it","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/86/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/86/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/87","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/87/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/87/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/87/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/87","id":1334710826,"node_id":"PR_kwDOBBOOTM489mU0","number":87,"title":"align vmb.h with the varnish version","user":{"login":"janosmiko","id":693558,"node_id":"MDQ6VXNlcjY5MzU1OA==","avatar_url":"https://avatars.githubusercontent.com/u/693558?v=4","gravatar_id":"","url":"https://api.github.com/users/janosmiko","html_url":"https://github.com/janosmiko","followers_url":"https://api.github.com/users/janosmiko/followers","following_url":"https://api.github.com/users/janosmiko/following{/other_user}","gists_url":"https://api.github.com/users/janosmiko/gists{/gist_id}","starred_url":"https://api.github.com/users/janosmiko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janosmiko/subscriptions","organizations_url":"https://api.github.com/users/janosmiko/orgs","repos_url":"https://api.github.com/users/janosmiko/repos","events_url":"https://api.github.com/users/janosmiko/events{/privacy}","received_events_url":"https://api.github.com/users/janosmiko/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2022-08-10T14:23:30Z","updated_at":"2022-08-10T14:49:54Z","closed_at":"2022-08-10T14:49:54Z","author_association":"NONE","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/87","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/87","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/87.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/87.patch","merged_at":"2022-08-10T14:49:54Z"},"body":"I open these pull requests to apply @gquintard 's fix on ARM builds for older varnish versions.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/87/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/87/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/88","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/88/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/88/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/88/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/88","id":1334710920,"node_id":"PR_kwDOBBOOTM489mWM","number":88,"title":"align vmb.h with the varnish version","user":{"login":"janosmiko","id":693558,"node_id":"MDQ6VXNlcjY5MzU1OA==","avatar_url":"https://avatars.githubusercontent.com/u/693558?v=4","gravatar_id":"","url":"https://api.github.com/users/janosmiko","html_url":"https://github.com/janosmiko","followers_url":"https://api.github.com/users/janosmiko/followers","following_url":"https://api.github.com/users/janosmiko/following{/other_user}","gists_url":"https://api.github.com/users/janosmiko/gists{/gist_id}","starred_url":"https://api.github.com/users/janosmiko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janosmiko/subscriptions","organizations_url":"https://api.github.com/users/janosmiko/orgs","repos_url":"https://api.github.com/users/janosmiko/repos","events_url":"https://api.github.com/users/janosmiko/events{/privacy}","received_events_url":"https://api.github.com/users/janosmiko/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2022-08-10T14:23:35Z","updated_at":"2022-08-10T14:50:03Z","closed_at":"2022-08-10T14:50:03Z","author_association":"NONE","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/88","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/88","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/88.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/88.patch","merged_at":"2022-08-10T14:50:03Z"},"body":"I open these pull requests to apply @gquintard 's fix on ARM builds for older varnish versions.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/88/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/88/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/89","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/89/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/89/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/89/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/89","id":1334711085,"node_id":"PR_kwDOBBOOTM489mYZ","number":89,"title":"align vmb.h with the varnish version","user":{"login":"janosmiko","id":693558,"node_id":"MDQ6VXNlcjY5MzU1OA==","avatar_url":"https://avatars.githubusercontent.com/u/693558?v=4","gravatar_id":"","url":"https://api.github.com/users/janosmiko","html_url":"https://github.com/janosmiko","followers_url":"https://api.github.com/users/janosmiko/followers","following_url":"https://api.github.com/users/janosmiko/following{/other_user}","gists_url":"https://api.github.com/users/janosmiko/gists{/gist_id}","starred_url":"https://api.github.com/users/janosmiko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janosmiko/subscriptions","organizations_url":"https://api.github.com/users/janosmiko/orgs","repos_url":"https://api.github.com/users/janosmiko/repos","events_url":"https://api.github.com/users/janosmiko/events{/privacy}","received_events_url":"https://api.github.com/users/janosmiko/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2022-08-10T14:23:41Z","updated_at":"2022-08-10T14:50:11Z","closed_at":"2022-08-10T14:50:11Z","author_association":"NONE","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/89","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/89","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/89.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/89.patch","merged_at":"2022-08-10T14:50:11Z"},"body":"I open these pull requests to apply @gquintard 's fix on ARM builds for older varnish versions.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/89/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/89/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/90","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/90/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/90/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/90/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/90","id":1334711147,"node_id":"PR_kwDOBBOOTM489mZO","number":90,"title":"align vmb.h with the varnish version","user":{"login":"janosmiko","id":693558,"node_id":"MDQ6VXNlcjY5MzU1OA==","avatar_url":"https://avatars.githubusercontent.com/u/693558?v=4","gravatar_id":"","url":"https://api.github.com/users/janosmiko","html_url":"https://github.com/janosmiko","followers_url":"https://api.github.com/users/janosmiko/followers","following_url":"https://api.github.com/users/janosmiko/following{/other_user}","gists_url":"https://api.github.com/users/janosmiko/gists{/gist_id}","starred_url":"https://api.github.com/users/janosmiko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janosmiko/subscriptions","organizations_url":"https://api.github.com/users/janosmiko/orgs","repos_url":"https://api.github.com/users/janosmiko/repos","events_url":"https://api.github.com/users/janosmiko/events{/privacy}","received_events_url":"https://api.github.com/users/janosmiko/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2022-08-10T14:23:44Z","updated_at":"2022-08-10T14:50:19Z","closed_at":"2022-08-10T14:50:19Z","author_association":"NONE","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/90","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/90","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/90.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/90.patch","merged_at":"2022-08-10T14:50:19Z"},"body":"I open these pull requests to apply @gquintard 's fix on ARM builds for older varnish versions.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/90/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/90/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/91","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/91/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/91/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/91/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/91","id":1334711226,"node_id":"PR_kwDOBBOOTM489maX","number":91,"title":"align vmb.h with the varnish version","user":{"login":"janosmiko","id":693558,"node_id":"MDQ6VXNlcjY5MzU1OA==","avatar_url":"https://avatars.githubusercontent.com/u/693558?v=4","gravatar_id":"","url":"https://api.github.com/users/janosmiko","html_url":"https://github.com/janosmiko","followers_url":"https://api.github.com/users/janosmiko/followers","following_url":"https://api.github.com/users/janosmiko/following{/other_user}","gists_url":"https://api.github.com/users/janosmiko/gists{/gist_id}","starred_url":"https://api.github.com/users/janosmiko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janosmiko/subscriptions","organizations_url":"https://api.github.com/users/janosmiko/orgs","repos_url":"https://api.github.com/users/janosmiko/repos","events_url":"https://api.github.com/users/janosmiko/events{/privacy}","received_events_url":"https://api.github.com/users/janosmiko/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2022-08-10T14:23:48Z","updated_at":"2022-08-10T14:50:26Z","closed_at":"2022-08-10T14:50:26Z","author_association":"NONE","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/91","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/91","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/91.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/91.patch","merged_at":"2022-08-10T14:50:26Z"},"body":"I open these pull requests to apply @gquintard 's fix on ARM builds for older varnish versions.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/91/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/91/timeline","performed_via_github_app":null,"state_reason":null}] \ No newline at end of file diff --git a/services/migrations/testdata/github/pagination/GET_%2Frepos%2Fnigoroll%2Flibvmod-dynamic%2Fissues%3Fafter=Y3Vyc29yOnYyOpLPAAABgogj3SDOT44Tug%253D%253D&direction=asc&per_page=45&sort=created&state=all b/services/migrations/testdata/github/pagination/GET_%2Frepos%2Fnigoroll%2Flibvmod-dynamic%2Fissues%3Fafter=Y3Vyc29yOnYyOpLPAAABgogj3SDOT44Tug%253D%253D&direction=asc&per_page=45&sort=created&state=all new file mode 100644 index 0000000000..6af7fe094a --- /dev/null +++ b/services/migrations/testdata/github/pagination/GET_%2Frepos%2Fnigoroll%2Flibvmod-dynamic%2Fissues%3Fafter=Y3Vyc29yOnYyOpLPAAABgogj3SDOT44Tug%253D%253D&direction=asc&per_page=45&sort=created&state=all @@ -0,0 +1,24 @@ +Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset +Content-Security-Policy: default-src 'none' +X-Ratelimit-Limit: 5000 +X-Github-Request-Id: 545E:1E338F:1CE4A84:1996CBD:6973A26D +X-Github-Media-Type: github.v3; param=squirrel-girl-preview +X-Content-Type-Options: nosniff +X-Ratelimit-Remaining: 4996 +X-Ratelimit-Used: 4 +X-Ratelimit-Resource: core +Cache-Control: private, max-age=60, s-maxage=60 +Vary: Accept, Authorization, Cookie, X-GitHub-OTP,Accept-Encoding, Accept, X-Requested-With +Etag: W/"a49a1c60869efd0512ebf397fe3b38f0f0780cd1108773b389a457d5139908be" +Access-Control-Allow-Origin: * +Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin +Link: ; rel="next", ; rel="prev" +X-Github-Api-Version-Selected: 2022-11-28 +Strict-Transport-Security: max-age=31536000; includeSubdomains; preload +X-Frame-Options: deny +X-Xss-Protection: 0 +X-Ratelimit-Reset: 1769189499 +Content-Type: application/json; charset=utf-8 +X-Accepted-Github-Permissions: issues=read + +[{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/92","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/92/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/92/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/92/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/92","id":1334711283,"node_id":"PR_kwDOBBOOTM489mbM","number":92,"title":"align vmb.h with the varnish version","user":{"login":"janosmiko","id":693558,"node_id":"MDQ6VXNlcjY5MzU1OA==","avatar_url":"https://avatars.githubusercontent.com/u/693558?v=4","gravatar_id":"","url":"https://api.github.com/users/janosmiko","html_url":"https://github.com/janosmiko","followers_url":"https://api.github.com/users/janosmiko/followers","following_url":"https://api.github.com/users/janosmiko/following{/other_user}","gists_url":"https://api.github.com/users/janosmiko/gists{/gist_id}","starred_url":"https://api.github.com/users/janosmiko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janosmiko/subscriptions","organizations_url":"https://api.github.com/users/janosmiko/orgs","repos_url":"https://api.github.com/users/janosmiko/repos","events_url":"https://api.github.com/users/janosmiko/events{/privacy}","received_events_url":"https://api.github.com/users/janosmiko/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2022-08-10T14:23:51Z","updated_at":"2022-08-10T14:50:33Z","closed_at":"2022-08-10T14:50:33Z","author_association":"NONE","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/92","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/92","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/92.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/92.patch","merged_at":"2022-08-10T14:50:33Z"},"body":"I open these pull requests to apply @gquintard 's fix on ARM builds for older varnish versions.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/92/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/92/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/93","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/93/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/93/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/93/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/93","id":1334955060,"node_id":"PR_kwDOBBOOTM48-Zu6","number":93,"title":"Branch for 7.1","user":{"login":"janosmiko","id":693558,"node_id":"MDQ6VXNlcjY5MzU1OA==","avatar_url":"https://avatars.githubusercontent.com/u/693558?v=4","gravatar_id":"","url":"https://api.github.com/users/janosmiko","html_url":"https://github.com/janosmiko","followers_url":"https://api.github.com/users/janosmiko/followers","following_url":"https://api.github.com/users/janosmiko/following{/other_user}","gists_url":"https://api.github.com/users/janosmiko/gists{/gist_id}","starred_url":"https://api.github.com/users/janosmiko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janosmiko/subscriptions","organizations_url":"https://api.github.com/users/janosmiko/orgs","repos_url":"https://api.github.com/users/janosmiko/repos","events_url":"https://api.github.com/users/janosmiko/events{/privacy}","received_events_url":"https://api.github.com/users/janosmiko/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2022-08-10T17:32:13Z","updated_at":"2022-11-08T19:48:10Z","closed_at":"2022-11-08T19:48:10Z","author_association":"NONE","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/93","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/93","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/93.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/93.patch","merged_at":null},"body":"I prepared a branch for Varnish 7.1.\r\n\r\nOn top of the regular CI-elated changes I replaced the `Lck_CondWait` functions with `Lck_CondWaitTimeout` in the `src/vmod_dynamic.c` file to be up-to-date with Varnish 7.1 (https://github.com/varnishcache/varnish-cache/blob/5424da941529503c724911d8141e6824db756f88/doc/changes.rst)","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/93/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/93/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/94","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/94/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/94/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/94/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/94","id":1410081152,"node_id":"I_kwDOBBOOTM5UDCGA","number":94,"title":"Branches 7.1 / 7.2","user":{"login":"ronaldploeger","id":2346952,"node_id":"MDQ6VXNlcjIzNDY5NTI=","avatar_url":"https://avatars.githubusercontent.com/u/2346952?v=4","gravatar_id":"","url":"https://api.github.com/users/ronaldploeger","html_url":"https://github.com/ronaldploeger","followers_url":"https://api.github.com/users/ronaldploeger/followers","following_url":"https://api.github.com/users/ronaldploeger/following{/other_user}","gists_url":"https://api.github.com/users/ronaldploeger/gists{/gist_id}","starred_url":"https://api.github.com/users/ronaldploeger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronaldploeger/subscriptions","organizations_url":"https://api.github.com/users/ronaldploeger/orgs","repos_url":"https://api.github.com/users/ronaldploeger/repos","events_url":"https://api.github.com/users/ronaldploeger/events{/privacy}","received_events_url":"https://api.github.com/users/ronaldploeger/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2022-10-15T07:35:36Z","updated_at":"2022-11-09T16:17:58Z","closed_at":"2022-11-08T19:49:42Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi, \r\n\r\nwill there be a branch 7.1 and 7.2 or does the branch 7.0 work correctly with those versions of varnish? \r\n\r\nThanks and best regards,\r\nRonald","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/94/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/94/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/95","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/95/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/95/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/95/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/95","id":1440805930,"node_id":"I_kwDOBBOOTM5V4PQq","number":95,"title":"Update RPM build","user":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false},"assignees":[{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false}],"milestone":null,"comments":3,"created_at":"2022-11-08T19:47:13Z","updated_at":"2022-11-17T16:23:21Z","closed_at":"2022-11-17T16:23:21Z","author_association":"OWNER","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Ref https://github.com/nigoroll/libvmod-dynamic/pull/93/commits/e7c14cf7bbeaa51e15a2e2921629ab15c701b09d and #93 \r\n\r\nWe should update our RPM build to support 7.1 and/or 7.2\r\n","closed_by":{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/95/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/95/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/96","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/96/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/96/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/96/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/96","id":1626745126,"node_id":"I_kwDOBBOOTM5g9ikm","number":96,"title":"7.3 compatibility","user":{"login":"gquintard","id":3776553,"node_id":"MDQ6VXNlcjM3NzY1NTM=","avatar_url":"https://avatars.githubusercontent.com/u/3776553?v=4","gravatar_id":"","url":"https://api.github.com/users/gquintard","html_url":"https://github.com/gquintard","followers_url":"https://api.github.com/users/gquintard/followers","following_url":"https://api.github.com/users/gquintard/following{/other_user}","gists_url":"https://api.github.com/users/gquintard/gists{/gist_id}","starred_url":"https://api.github.com/users/gquintard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gquintard/subscriptions","organizations_url":"https://api.github.com/users/gquintard/orgs","repos_url":"https://api.github.com/users/gquintard/repos","events_url":"https://api.github.com/users/gquintard/events{/privacy}","received_events_url":"https://api.github.com/users/gquintard/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2023-03-16T05:25:51Z","updated_at":"2023-03-17T09:03:03Z","closed_at":"2023-03-17T05:03:27Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"hi,\r\n\r\nAs I'm sure you know, some APIs have changed in Varnish 7.3, and libvmod-dynamic doesn't compile against it. I'm opening this for visibility, and I'll try to look into it this week-end if nobody beats me to it","closed_by":{"login":"gquintard","id":3776553,"node_id":"MDQ6VXNlcjM3NzY1NTM=","avatar_url":"https://avatars.githubusercontent.com/u/3776553?v=4","gravatar_id":"","url":"https://api.github.com/users/gquintard","html_url":"https://github.com/gquintard","followers_url":"https://api.github.com/users/gquintard/followers","following_url":"https://api.github.com/users/gquintard/following{/other_user}","gists_url":"https://api.github.com/users/gquintard/gists{/gist_id}","starred_url":"https://api.github.com/users/gquintard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gquintard/subscriptions","organizations_url":"https://api.github.com/users/gquintard/orgs","repos_url":"https://api.github.com/users/gquintard/repos","events_url":"https://api.github.com/users/gquintard/events{/privacy}","received_events_url":"https://api.github.com/users/gquintard/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/96/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/96/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/97","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/97/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/97/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/97/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/97","id":1628702332,"node_id":"I_kwDOBBOOTM5hFAZ8","number":97,"title":"via.vtc failing with \"Cannot assign requested address\"","user":{"login":"gquintard","id":3776553,"node_id":"MDQ6VXNlcjM3NzY1NTM=","avatar_url":"https://avatars.githubusercontent.com/u/3776553?v=4","gravatar_id":"","url":"https://api.github.com/users/gquintard","html_url":"https://github.com/gquintard","followers_url":"https://api.github.com/users/gquintard/followers","following_url":"https://api.github.com/users/gquintard/following{/other_user}","gists_url":"https://api.github.com/users/gquintard/gists{/gist_id}","starred_url":"https://api.github.com/users/gquintard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gquintard/subscriptions","organizations_url":"https://api.github.com/users/gquintard/orgs","repos_url":"https://api.github.com/users/gquintard/repos","events_url":"https://api.github.com/users/gquintard/events{/privacy}","received_events_url":"https://api.github.com/users/gquintard/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2023-03-17T05:10:25Z","updated_at":"2023-06-29T14:51:33Z","closed_at":"2023-06-29T14:51:32Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"stumbled onto this when trying to build https://github.com/varnish/docker-varnish/blob/master/fresh/debian/Dockerfile\r\n\r\ncould it be that\r\n```\r\nshell \"getent hosts localhost www.localhost img.localhost || true\"\r\n```\r\nshould actually be\r\n```\r\nfeature cmd \"getent hosts localhost www.localhost img.localhost || true\"\r\n```\r\n?\r\n\r\n```\r\nFAIL: tests/via\r\n===============\r\n\r\n**** dT 0.000\r\n* top TEST ./tests/via.vtc starting\r\n**** top extmacro def pkg_version=7.3.0\r\n**** top extmacro def pkg_branch=7.3\r\n**** top extmacro def pwd=/tmp/module_to_build/src\r\n**** top extmacro def date(...)\r\n**** top extmacro def string(...)\r\n**** top extmacro def vmod_dynamic=dynamic from \"/tmp/module_to_build/src/.libs/libvmod_dynamic.so\"\r\n**** top extmacro def localhost=127.0.0.1\r\n**** top extmacro def bad_backend=127.0.0.1:37455\r\n**** top extmacro def listen_addr=127.0.0.1:0\r\n**** top extmacro def bad_ip=192.0.2.255\r\n**** top macro def testdir=/tmp/module_to_build/src/./tests\r\n**** top macro def tmpdir=/tmp/vtc.31252.7c6136c4\r\n** top === varnishtest \"via\"\r\n* top VTEST via\r\n** top === shell \"getent hosts localhost www.localhost img.localhost ||...\r\n**** top shell_cmd|exec 2>&1 ; getent hosts localhost www.localhost img.localhost || true\r\n**** dT 0.213\r\n**** top shell_out|::1 localhost ip6-localhost ip6-loopback\r\n**** top shell_status = 0x0000\r\n** top === server s1 {\r\n** s1 Starting server\r\n**** s1 macro def s1_addr=127.0.0.1\r\n**** s1 macro def s1_port=41173\r\n**** s1 macro def s1_sock=127.0.0.1:41173\r\n* s1 Listen on 127.0.0.1:41173\r\n** top === varnish v2 -proto PROXY -vcl {\r\n** s1 Started on 127.0.0.1:41173 (1 iterations)\r\n**** dT 0.216\r\n** v2 Launch\r\n*** v2 CMD: cd ${pwd} && exec varnishd -d -n /tmp/vtc.31252.7c6136c4/v2 -i v2 -p debug=+vcl_keep -p debug=+vmod_so_keep -p debug=+vsm_keep -l 2m -p auto_restart=off -p syslog_cli_traffic=off -p thread_pool_min=10 -p debug=+vtc_mode -p vsl_mask=+Debug -p h2_initial_window_size=1m -p h2_rx_window_low_water=64k -a '127.0.0.1:0',PROXY -M '127.0.0.1 45329' -P /tmp/vtc.31252.7c6136c4/v2/varnishd.pid \r\n*** v2 CMD: cd /tmp/module_to_build/src && exec varnishd -d -n /tmp/vtc.31252.7c6136c4/v2 -i v2 -p debug=+vcl_keep -p debug=+vmod_so_keep -p debug=+vsm_keep -l 2m -p auto_restart=off -p syslog_cli_traffic=off -p thread_pool_min=10 -p debug=+vtc_mode -p vsl_mask=+Debug -p h2_initial_window_size=1m -p h2_rx_window_low_water=64k -a '127.0.0.1:0',PROXY -M '127.0.0.1 45329' -P /tmp/vtc.31252.7c6136c4/v2/varnishd.pid \r\n*** v2 PID: 31281\r\n**** v2 macro def v2_pid=31281\r\n**** v2 macro def v2_name=/tmp/vtc.31252.7c6136c4/v2\r\n**** dT 0.226\r\n*** v2 debug|Debug: Version: varnish-7.3.0 revision 84d79120b6d17b11819a663a93160743f293e63f\r\n*** v2 debug|Debug: Platform: Linux,6.1.11-arch1-1,x86_64,-junix,-sdefault,-sdefault,-hcritbit\r\n*** v2 debug|200 315 \r\n*** v2 debug|-----------------------------\r\n*** v2 debug|Varnish Cache CLI 1.0\r\n*** v2 debug|-----------------------------\r\n*** v2 debug|Linux,6.1.11-arch1-1,x86_64,-junix,-sdefault,-sdefault,-hcritbit\r\n*** v2 debug|varnish-7.3.0 revision 84d79120b6d17b11819a663a93160743f293e63f\r\n*** v2 debug|\r\n*** v2 debug|Type 'help' for command list.\r\n*** v2 debug|Type 'quit' to close CLI session.\r\n*** v2 debug|Type 'start' to launch worker process.\r\n*** v2 debug|\r\n**** dT 0.325\r\n**** v2 CLIPOLL 1 0x1 0x0 0x0\r\n*** v2 CLI connection fd = 7\r\n*** v2 CLI RX 107\r\n**** v2 CLI RX|tpbjefitubonnjbuqolncwowdyrfjdyh\r\n**** v2 CLI RX|\r\n**** v2 CLI RX|Authentication required.\r\n**** v2 CLI TX|auth d37955cd96eb9ec6ae08fedc09e18c6ffcf62bd5fbc1526bc3ef40c651cb3a9b\r\n**** dT 0.326\r\n*** v2 CLI RX 200\r\n**** v2 CLI RX|-----------------------------\r\n**** v2 CLI RX|Varnish Cache CLI 1.0\r\n**** v2 CLI RX|-----------------------------\r\n**** v2 CLI RX|Linux,6.1.11-arch1-1,x86_64,-junix,-sdefault,-sdefault,-hcritbit\r\n**** v2 CLI RX|varnish-7.3.0 revision 84d79120b6d17b11819a663a93160743f293e63f\r\n**** v2 CLI RX|\r\n**** v2 CLI RX|Type 'help' for command list.\r\n**** v2 CLI RX|Type 'quit' to close CLI session.\r\n**** v2 CLI RX|Type 'start' to launch worker process.\r\n**** v2 CLI TX|vcl.inline vcl1 << %XJEIFLH|)Xspa8P\r\n**** v2 CLI TX|vcl 4.1;\r\n**** v2 CLI TX|\r\n**** v2 CLI TX|\\timport dynamic from \"/tmp/module_to_build/src/.libs/libvmod_dynamic.so\";\r\n**** v2 CLI TX|\\timport std;\r\n**** v2 CLI TX|\\timport proxy;\r\n**** v2 CLI TX|\r\n**** v2 CLI TX|\\tbackend dummy { .host = \"127.0.0.1:37455\"; }\r\n**** v2 CLI TX|\r\n**** v2 CLI TX|\\tsub vcl_init {\r\n**** v2 CLI TX|\\t\\tnew d1 = dynamic.director();\r\n**** v2 CLI TX|\\t}\r\n**** v2 CLI TX|\r\n**** v2 CLI TX|\\tsub vcl_recv {\r\n**** v2 CLI TX|\\t\\tset req.backend_hint = d1.backend(server.ip,\r\n**** v2 CLI TX|\\t\\t std.port(server.ip));\r\n**** v2 CLI TX|\\t\\tset req.http.Authority = proxy.authority();\r\n**** v2 CLI TX|\r\n**** v2 CLI TX|\\t\\treturn (pass);\r\n**** v2 CLI TX|\\t}\r\n**** v2 CLI TX|\r\n**** v2 CLI TX|\\tsub vcl_deliver {\r\n**** v2 CLI TX|\\t\\tset resp.http.Authority = req.http.Authority;\r\n**** v2 CLI TX|\\t}\r\n**** v2 CLI TX|\r\n**** v2 CLI TX|%XJEIFLH|)Xspa8P\r\n**** dT 0.426\r\n*** v2 vsl|No VSL chunk found (child not started ?)\r\n**** dT 0.526\r\n*** v2 vsl|No VSL chunk found (child not started ?)\r\n**** dT 0.606\r\n*** v2 CLI RX 200\r\n**** v2 CLI RX|VCL compiled.\r\n**** v2 CLI TX|vcl.use vcl1\r\n*** v2 CLI RX 200\r\n**** v2 CLI RX|VCL 'vcl1' now active\r\n** v2 Start\r\n**** v2 CLI TX|start\r\n**** dT 0.626\r\n*** v2 vsl|No VSL chunk found (child not started ?)\r\n**** dT 0.649\r\n*** v2 debug|Debug: Child (31370) Started\r\n**** dT 0.673\r\n*** v2 debug|Child launched OK\r\n**** dT 0.678\r\n*** v2 debug|Info: Child (31370) said Child starts\r\n*** v2 CLI RX 200\r\n*** v2 wait-running\r\n**** v2 CLI TX|status\r\n**** dT 0.721\r\n*** v2 CLI RX 200\r\n**** v2 CLI RX|Child in state running\r\n**** v2 CLI TX|debug.listen_address\r\n**** dT 0.727\r\n**** v2 vsl| 0 CLI - Rd vcl.load \"vcl1\" vcl_vcl1.1679028965.187541/vgc.so 1auto\r\n**** v2 vsl| 0 CLI - Wr 200 52 Loaded \"vcl_vcl1.1679028965.187541/vgc.so\" as \"vcl1\"\r\n**** v2 vsl| 0 CLI - Rd vcl.use \"vcl1\"\r\n**** v2 vsl| 0 CLI - Wr 200 0 \r\n**** v2 vsl| 0 CLI - Rd start\r\n**** v2 vsl| 0 Debug - sockopt: Setting SO_LINGER for a0=127.0.0.1:35713\r\n**** v2 vsl| 0 Debug - sockopt: Setting SO_KEEPALIVE for a0=127.0.0.1:35713\r\n**** v2 vsl| 0 Debug - sockopt: Setting SO_SNDTIMEO for a0=127.0.0.1:35713\r\n**** v2 vsl| 0 Debug - sockopt: Setting SO_RCVTIMEO for a0=127.0.0.1:35713\r\n**** v2 vsl| 0 Debug - sockopt: Setting TCP_NODELAY for a0=127.0.0.1:35713\r\n**** v2 vsl| 0 Debug - sockopt: Setting TCP_KEEPIDLE for a0=127.0.0.1:35713\r\n**** v2 vsl| 0 Debug - sockopt: Setting TCP_KEEPCNT for a0=127.0.0.1:35713\r\n**** v2 vsl| 0 Debug - sockopt: Setting TCP_KEEPINTVL for a0=127.0.0.1:35713\r\n**** v2 vsl| 0 CLI - Wr 200 0 \r\n**** dT 0.764\r\n*** v2 CLI RX 200\r\n**** v2 CLI RX|a0 127.0.0.1 35713\r\n**** v2 CLI TX|debug.xid 1000\r\n**** dT 0.811\r\n*** v2 CLI RX 200\r\n**** v2 CLI RX|XID is 1000 chunk 1\r\n**** v2 CLI TX|debug.listen_address\r\n**** dT 0.827\r\n**** v2 vsl| 0 CLI - Rd debug.listen_address \r\n**** v2 vsl| 0 CLI - Wr 200 19 a0 127.0.0.1 35713\r\n\r\n**** v2 vsl| 0 CLI - Rd debug.xid 1000 \r\n**** v2 vsl| 0 CLI - Wr 200 19 XID is 1000 chunk 1\r\n**** dT 0.854\r\n*** v2 CLI RX 200\r\n**** v2 CLI RX|a0 127.0.0.1 35713\r\n** v2 Listen on 127.0.0.1 35713\r\n**** v2 macro def v2_addr=127.0.0.1\r\n**** v2 macro def v2_port=35713\r\n**** v2 macro def v2_sock=127.0.0.1:35713\r\n**** v2 macro def v2_a0_addr=127.0.0.1\r\n**** v2 macro def v2_a0_port=35713\r\n**** v2 macro def v2_a0_sock=127.0.0.1:35713\r\n** top === varnish v1 -vcl {\r\n**** dT 0.857\r\n** v1 Launch\r\n*** v1 CMD: cd ${pwd} && exec varnishd -d -n /tmp/vtc.31252.7c6136c4/v1 -i v1 -p debug=+vcl_keep -p debug=+vmod_so_keep -p debug=+vsm_keep -l 2m -p auto_restart=off -p syslog_cli_traffic=off -p thread_pool_min=10 -p debug=+vtc_mode -p vsl_mask=+Debug -p h2_initial_window_size=1m -p h2_rx_window_low_water=64k -a '127.0.0.1:0' -M '127.0.0.1 33113' -P /tmp/vtc.31252.7c6136c4/v1/varnishd.pid \r\n*** v1 CMD: cd /tmp/module_to_build/src && exec varnishd -d -n /tmp/vtc.31252.7c6136c4/v1 -i v1 -p debug=+vcl_keep -p debug=+vmod_so_keep -p debug=+vsm_keep -l 2m -p auto_restart=off -p syslog_cli_traffic=off -p thread_pool_min=10 -p debug=+vtc_mode -p vsl_mask=+Debug -p h2_initial_window_size=1m -p h2_rx_window_low_water=64k -a '127.0.0.1:0' -M '127.0.0.1 33113' -P /tmp/vtc.31252.7c6136c4/v1/varnishd.pid \r\n*** v1 PID: 31413\r\n**** v1 macro def v1_pid=31413\r\n**** v1 macro def v1_name=/tmp/vtc.31252.7c6136c4/v1\r\n**** dT 0.866\r\n*** v1 debug|Debug: Version: varnish-7.3.0 revision 84d79120b6d17b11819a663a93160743f293e63f\r\n*** v1 debug|Debug: Platform: Linux,6.1.11-arch1-1,x86_64,-junix,-sdefault,-sdefault,-hcritbit\r\n*** v1 debug|200 315 \r\n*** v1 debug|-----------------------------\r\n*** v1 debug|Varnish Cache CLI 1.0\r\n*** v1 debug|-----------------------------\r\n*** v1 debug|Linux,6.1.11-arch1-1,x86_64,-junix,-sdefault,-sdefault,-hcritbit\r\n*** v1 debug|varnish-7.3.0 revision 84d79120b6d17b11819a663a93160743f293e63f\r\n*** v1 debug|\r\n*** v1 debug|Type 'help' for command list.\r\n*** v1 debug|Type 'quit' to close CLI session.\r\n*** v1 debug|Type 'start' to launch worker process.\r\n*** v1 debug|\r\n**** dT 0.927\r\n**** v2 vsl| 0 CLI - Rd debug.listen_address \r\n**** v2 vsl| 0 CLI - Wr 200 19 a0 127.0.0.1 35713\r\n\r\n**** dT 0.966\r\n**** v1 CLIPOLL 1 0x1 0x0 0x0\r\n*** v1 CLI connection fd = 18\r\n*** v1 CLI RX 107\r\n**** v1 CLI RX|sivrodaptpqwhiockdagcddondbmlnoq\r\n**** v1 CLI RX|\r\n**** v1 CLI RX|Authentication required.\r\n**** v1 CLI TX|auth d2c2d189e19fd9551e2913d49c42111c030d1fc301821431c9802913b9bf5307\r\n*** v1 CLI RX 200\r\n**** v1 CLI RX|-----------------------------\r\n**** v1 CLI RX|Varnish Cache CLI 1.0\r\n**** v1 CLI RX|-----------------------------\r\n**** v1 CLI RX|Linux,6.1.11-arch1-1,x86_64,-junix,-sdefault,-sdefault,-hcritbit\r\n**** v1 CLI RX|varnish-7.3.0 revision 84d79120b6d17b11819a663a93160743f293e63f\r\n**** v1 CLI RX|\r\n**** v1 CLI RX|Type 'help' for command list.\r\n**** v1 CLI RX|Type 'quit' to close CLI session.\r\n**** v1 CLI RX|Type 'start' to launch worker process.\r\n**** dT 0.967\r\n**** v1 CLI TX|vcl.inline vcl1 << %XJEIFLH|)Xspa8P\r\n**** v1 CLI TX|vcl 4.1;\r\n**** v1 CLI TX|\r\n**** v1 CLI TX|\\timport dynamic from \"/tmp/module_to_build/src/.libs/libvmod_dynamic.so\";\r\n**** v1 CLI TX|\r\n**** v1 CLI TX|\\tbackend v2 { .host = \"127.0.0.1\"; .port = \"35713\"; }\r\n**** v1 CLI TX|\r\n**** v1 CLI TX|\\tsub vcl_init {\r\n**** v1 CLI TX|\\t\\tnew d1 = dynamic.director(\r\n**** v1 CLI TX|\\t\\t port = \"41173\",\r\n**** v1 CLI TX|\\t\\t via = v2);\r\n**** v1 CLI TX|\\t}\r\n**** v1 CLI TX|\r\n**** v1 CLI TX|\\tsub vcl_recv {\r\n**** v1 CLI TX|\\t\\tset req.backend_hint = d1.backend(\"localhost\");\r\n**** v1 CLI TX|\\t}\r\n**** v1 CLI TX|\r\n**** v1 CLI TX|\\tsub vcl_backend_error {\r\n**** v1 CLI TX|\\t\\t# the director may resolve ::1 first\r\n**** v1 CLI TX|\\t\\treturn (retry);\r\n**** v1 CLI TX|\\t}\r\n**** v1 CLI TX|\r\n**** v1 CLI TX|%XJEIFLH|)Xspa8P\r\n**** dT 1.067\r\n*** v1 vsl|No VSL chunk found (child not started ?)\r\n**** dT 1.167\r\n*** v1 vsl|No VSL chunk found (child not started ?)\r\n**** dT 1.228\r\n*** v1 CLI RX 200\r\n**** v1 CLI RX|VCL compiled.\r\n**** v1 CLI TX|vcl.use vcl1\r\n*** v1 CLI RX 200\r\n**** v1 CLI RX|VCL 'vcl1' now active\r\n** v1 Start\r\n**** v1 CLI TX|start\r\n**** dT 1.267\r\n*** v1 vsl|No VSL chunk found (child not started ?)\r\n**** dT 1.272\r\n*** v1 debug|Debug: Child (31486) Started\r\n**** dT 1.297\r\n*** v1 debug|Child launched OK\r\n**** dT 1.301\r\n*** v1 CLI RX 200\r\n*** v1 debug|Info: Child (31486) said Child starts\r\n*** v1 wait-running\r\n**** v1 CLI TX|status\r\n**** dT 1.344\r\n*** v1 CLI RX 200\r\n**** v1 CLI RX|Child in state running\r\n**** v1 CLI TX|debug.listen_address\r\n**** dT 1.367\r\n**** v1 vsl| 0 CLI - Rd vcl.load \"vcl1\" vcl_vcl1.1679028965.828132/vgc.so 1auto\r\n**** v1 vsl| 0 CLI - Wr 200 52 Loaded \"vcl_vcl1.1679028965.828132/vgc.so\" as \"vcl1\"\r\n**** v1 vsl| 0 CLI - Rd vcl.use \"vcl1\"\r\n**** v1 vsl| 0 CLI - Wr 200 0 \r\n**** v1 vsl| 0 CLI - Rd start\r\n**** v1 vsl| 0 Debug - sockopt: Setting SO_LINGER for a0=127.0.0.1:44415\r\n**** v1 vsl| 0 Debug - sockopt: Setting SO_KEEPALIVE for a0=127.0.0.1:44415\r\n**** v1 vsl| 0 Debug - sockopt: Setting SO_SNDTIMEO for a0=127.0.0.1:44415\r\n**** v1 vsl| 0 Debug - sockopt: Setting SO_RCVTIMEO for a0=127.0.0.1:44415\r\n**** v1 vsl| 0 Debug - sockopt: Setting TCP_NODELAY for a0=127.0.0.1:44415\r\n**** v1 vsl| 0 Debug - sockopt: Setting TCP_KEEPIDLE for a0=127.0.0.1:44415\r\n**** v1 vsl| 0 Debug - sockopt: Setting TCP_KEEPCNT for a0=127.0.0.1:44415\r\n**** v1 vsl| 0 Debug - sockopt: Setting TCP_KEEPINTVL for a0=127.0.0.1:44415\r\n**** v1 vsl| 0 CLI - Wr 200 0 \r\n**** dT 1.391\r\n*** v1 CLI RX 200\r\n**** v1 CLI RX|a0 127.0.0.1 44415\r\n**** v1 CLI TX|debug.xid 1000\r\n**** dT 1.434\r\n*** v1 CLI RX 200\r\n**** v1 CLI RX|XID is 1000 chunk 1\r\n**** v1 CLI TX|debug.listen_address\r\n**** dT 1.467\r\n**** v1 vsl| 0 CLI - Rd debug.listen_address \r\n**** v1 vsl| 0 CLI - Wr 200 19 a0 127.0.0.1 44415\r\n\r\n**** v1 vsl| 0 CLI - Rd debug.xid 1000 \r\n**** v1 vsl| 0 CLI - Wr 200 19 XID is 1000 chunk 1\r\n**** dT 1.477\r\n*** v1 CLI RX 200\r\n**** v1 CLI RX|a0 127.0.0.1 44415\r\n** v1 Listen on 127.0.0.1 44415\r\n**** v1 macro def v1_addr=127.0.0.1\r\n**** v1 macro def v1_port=44415\r\n**** v1 macro def v1_sock=127.0.0.1:44415\r\n**** v1 macro def v1_a0_addr=127.0.0.1\r\n**** v1 macro def v1_a0_port=44415\r\n**** v1 macro def v1_a0_sock=127.0.0.1:44415\r\n** top === client c1 {\r\n** c1 Starting client\r\n** c1 Waiting for client\r\n** c1 Started on 127.0.0.1:44415 (1 iterations)\r\n*** c1 Connect to 127.0.0.1:44415\r\n*** c1 connected fd 28 from 127.0.0.1 38040 to 127.0.0.1:44415\r\n**** dT 1.478\r\n** c1 === txreq\r\n**** c1 txreq|GET / HTTP/1.1\\r\r\n**** c1 txreq|Host: 127.0.0.1\\r\r\n**** c1 txreq|\\r\r\n** c1 === rxresp\r\n**** dT 1.480\r\n**** c1 rxhdr|HTTP/1.1 503 Backend fetch failed\\r\r\n**** c1 rxhdr|Date: Fri, 17 Mar 2023 04:56:06 GMT\\r\r\n**** c1 rxhdr|Server: Varnish\\r\r\n**** c1 rxhdr|Content-Type: text/html; charset=utf-8\\r\r\n**** c1 rxhdr|Retry-After: 5\\r\r\n**** c1 rxhdr|X-Varnish: 1001\\r\r\n**** c1 rxhdr|Authority: localhost\\r\r\n**** c1 rxhdr|Content-Length: 281\\r\r\n**** c1 rxhdr|X-Varnish: 1001\\r\r\n**** c1 rxhdr|Age: 0\\r\r\n**** c1 rxhdr|Via: 1.1 v2 (Varnish/7.3), 1.1 v1 (Varnish/7.3)\\r\r\n**** c1 rxhdr|Connection: keep-alive\\r\r\n**** c1 rxhdr|\\r\r\n**** c1 rxhdrlen = 305\r\n**** c1 http[ 0] |HTTP/1.1\r\n**** c1 http[ 1] |503\r\n**** c1 http[ 2] |Backend fetch failed\r\n**** c1 http[ 3] |Date: Fri, 17 Mar 2023 04:56:06 GMT\r\n**** c1 http[ 4] |Server: Varnish\r\n**** c1 http[ 5] |Content-Type: text/html; charset=utf-8\r\n**** c1 http[ 6] |Retry-After: 5\r\n**** c1 http[ 7] |X-Varnish: 1001\r\n**** c1 http[ 8] |Authority: localhost\r\n**** c1 http[ 9] |Content-Length: 281\r\n**** c1 http[10] |X-Varnish: 1001\r\n**** c1 http[11] |Age: 0\r\n**** c1 http[12] |Via: 1.1 v2 (Varnish/7.3), 1.1 v1 (Varnish/7.3)\r\n**** c1 http[13] |Connection: keep-alive\r\n**** c1 c-l|\r\n**** c1 c-l|\r\n**** c1 c-l| \r\n**** c1 c-l| 503 Backend fetch failed\r\n**** c1 c-l| \r\n**** c1 c-l| \r\n**** c1 c-l|

Error 503 Backend fetch failed

\r\n**** c1 c-l|

Backend fetch failed

\r\n**** c1 c-l|

Guru Meditation:

\r\n**** c1 c-l|

XID: 1002

\r\n**** c1 c-l|
\r\n**** c1 c-l|

Varnish cache server

\r\n**** c1 c-l| \r\n**** c1 c-l|\r\n**** c1 bodylen = 281\r\n** c1 === expect resp.status == 200\r\n---- c1 EXPECT resp.status (503) == \"200\" failed\r\n* top RESETTING after ./tests/via.vtc\r\n** s1 Waiting for server (4/-1)\r\n** v2 Wait\r\n**** v2 CLI TX|panic.show\r\n**** dT 1.524\r\n*** v2 CLI RX 300\r\n**** v2 CLI RX|Child has not panicked or panic has been cleared\r\n*** v2 debug|Info: manager stopping child\r\n*** v2 debug|Debug: Stopping Child\r\n**** dT 1.528\r\n**** v2 vsl| 1000 Begin c sess 0 PROXY\r\n**** v2 vsl| 1000 SessOpen c 127.0.0.1 59120 a0 127.0.0.1 35713 1679028966.339887 19\r\n**** v2 vsl| 1000 Debug c sockopt: SO_LINGER may be inherited for a0=127.0.0.1:35713\r\n**** v2 vsl| 1000 Debug c sockopt: SO_KEEPALIVE may be inherited for a0=127.0.0.1:35713\r\n**** v2 vsl| 1000 Debug c sockopt: SO_SNDTIMEO may be inherited for a0=127.0.0.1:35713\r\n**** v2 vsl| 1000 Debug c sockopt: SO_RCVTIMEO may be inherited for a0=127.0.0.1:35713\r\n**** v2 vsl| 1000 Debug c sockopt: TCP_NODELAY may be inherited for a0=127.0.0.1:35713\r\n**** v2 vsl| 1000 Debug c sockopt: TCP_KEEPIDLE may be inherited for a0=127.0.0.1:35713\r\n**** v2 vsl| 1000 Debug c sockopt: TCP_KEEPCNT may be inherited for a0=127.0.0.1:35713\r\n**** v2 vsl| 1000 Debug c sockopt: TCP_KEEPINTVL may be inherited for a0=127.0.0.1:35713\r\n**** v2 vsl| 1000 Proxy c 2 :: 0 ::1 41173\r\n**** v2 vsl| 1000 Link c req 1001 rxreq\r\n**** v2 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(::1:41173) Lookup: 1679028966.340034 0.000000 0.000000\r\n**** v2 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(::1:41173) Results: 1679028966.340130 0.000096 0.000096\r\n**** v2 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(::1:41173) Update: 1679028966.340295 0.000261 0.000165\r\n**** v2 vsl| 1002 Begin b bereq 1001 pass\r\n**** v2 vsl| 1002 VCL_use b vcl1\r\n**** v2 vsl| 1002 Timestamp b Start: 1679028966.340091 0.000000 0.000000\r\n**** v2 vsl| 1002 BereqMethod b GET\r\n**** v2 vsl| 1002 BereqURL b /\r\n**** v2 vsl| 1002 BereqProtocol b HTTP/1.1\r\n**** v2 vsl| 1002 BereqHeader b Host: 127.0.0.1\r\n**** v2 vsl| 1002 BereqHeader b Accept-Encoding: gzip\r\n**** v2 vsl| 1002 BereqHeader b X-Varnish: 1002\r\n**** v2 vsl| 1002 BereqHeader b X-Forwarded-For: 127.0.0.1, ::\r\n**** v2 vsl| 1002 BereqHeader b Via: 1.1 v1 (Varnish/7.3), 1.1 v2 (Varnish/7.3)\r\n**** v2 vsl| 1002 BereqHeader b Authority: localhost\r\n**** v2 vsl| 1002 BereqHeader b X-Varnish: 1002\r\n**** v2 vsl| 1002 VCL_call b BACKEND_FETCH\r\n**** v2 vsl| 1002 VCL_return b fetch\r\n**** v2 vsl| 1002 Timestamp b Fetch: 1679028966.340108 0.000017 0.000017\r\n**** v2 vsl| 1002 FetchError b backend d1(::1:41173): fail errno 99 (Cannot assign requested address)\r\n**** v2 vsl| 1002 Timestamp b Beresp: 1679028966.340422 0.000331 0.000313\r\n**** v2 vsl| 1002 Timestamp b Error: 1679028966.340424 0.000333 0.000002\r\n**** v2 vsl| 1002 BerespProtocol b HTTP/1.1\r\n**** v2 vsl| 1002 BerespStatus b 503\r\n**** v2 vsl| 1002 BerespReason b Backend fetch failed\r\n**** v2 vsl| 1002 BerespHeader b Date: Fri, 17 Mar 2023 04:56:06 GMT\r\n**** v2 vsl| 1002 BerespHeader b Server: Varnish\r\n**** v2 vsl| 1002 VCL_call b BACKEND_ERROR\r\n**** v2 vsl| 1002 BerespHeader b Content-Type: text/html; charset=utf-8\r\n**** v2 vsl| 1002 BerespHeader b Retry-After: 5\r\n**** v2 vsl| 1002 VCL_return b deliver\r\n**** v2 vsl| 1002 Storage b malloc Transient\r\n**** v2 vsl| 1002 Length b 281\r\n**** v2 vsl| 1002 BereqAcct b 0 0 0 0 0 0\r\n**** v2 vsl| 1002 End b \r\n**** v2 vsl| 1001 Begin c req 1000 rxreq\r\n**** v2 vsl| 1001 Timestamp c Start: 1679028966.339929 0.000000 0.000000\r\n**** v2 vsl| 1001 Timestamp c Req: 1679028966.339929 0.000000 0.000000\r\n**** v2 vsl| 1001 VCL_use c vcl1\r\n**** v2 vsl| 1001 ReqStart c :: 0 a0\r\n**** v2 vsl| 1001 ReqMethod c GET\r\n**** v2 vsl| 1001 ReqURL c /\r\n**** v2 vsl| 1001 ReqProtocol c HTTP/1.1\r\n**** v2 vsl| 1001 ReqHeader c Host: 127.0.0.1\r\n**** v2 vsl| 1001 ReqHeader c X-Forwarded-For: 127.0.0.1\r\n**** v2 vsl| 1001 ReqHeader c Via: 1.1 v1 (Varnish/7.3)\r\n**** v2 vsl| 1001 ReqHeader c Accept-Encoding: gzip\r\n**** v2 vsl| 1001 ReqHeader c X-Varnish: 1002\r\n**** v2 vsl| 1001 ReqUnset c X-Forwarded-For: 127.0.0.1\r\n**** v2 vsl| 1001 ReqHeader c X-Forwarded-For: 127.0.0.1, ::\r\n**** v2 vsl| 1001 ReqUnset c Via: 1.1 v1 (Varnish/7.3)\r\n**** v2 vsl| 1001 ReqHeader c Via: 1.1 v1 (Varnish/7.3), 1.1 v2 (Varnish/7.3)\r\n**** v2 vsl| 1001 VCL_call c RECV\r\n**** v2 vsl| 1001 ReqHeader c Authority: localhost\r\n**** v2 vsl| 1001 VCL_return c pass\r\n**** v2 vsl| 1001 VCL_call c HASH\r\n**** v2 vsl| 1001 VCL_return c lookup\r\n**** v2 vsl| 1001 VCL_call c PASS\r\n**** v2 vsl| 1001 VCL_return c fetch\r\n**** v2 vsl| 1001 Link c bereq 1002 pass\r\n**** v2 vsl| 1001 Timestamp c Fetch: 1679028966.340555 0.000625 0.000625\r\n**** v2 vsl| 1001 RespProtocol c HTTP/1.1\r\n**** v2 vsl| 1001 RespStatus c 503\r\n**** v2 vsl| 1001 RespReason c Backend fetch failed\r\n**** v2 vsl| 1001 RespHeader c Date: Fri, 17 Mar 2023 04:56:06 GMT\r\n**** v2 vsl| 1001 RespHeader c Server: Varnish\r\n**** v2 vsl| 1001 RespHeader c Content-Type: text/html; charset=utf-8\r\n**** v2 vsl| 1001 RespHeader c Retry-After: 5\r\n**** v2 vsl| 1001 RespHeader c X-Varnish: 1001\r\n**** v2 vsl| 1001 RespHeader c Age: 0\r\n**** v2 vsl| 1001 RespHeader c Via: 1.1 v2 (Varnish/7.3)\r\n**** v2 vsl| 1001 VCL_call c DELIVER\r\n**** v2 vsl| 1001 RespHeader c Authority: localhost\r\n**** v2 vsl| 1001 VCL_return c deliver\r\n**** v2 vsl| 1001 Timestamp c Process: 1679028966.340574 0.000644 0.000018\r\n**** v2 vsl| 1001 Filters c \r\n**** v2 vsl| 1001 RespHeader c Content-Length: 281\r\n**** v2 vsl| 1001 RespHeader c Connection: keep-alive\r\n**** v2 vsl| 1001 Timestamp c Resp: 1679028966.340619 0.000689 0.000045\r\n**** v2 vsl| 1001 ReqAcct c 130 0 130 266 281 547\r\n**** v2 vsl| 1001 End c \r\n**** v2 vsl| 0 CLI - EOF on CLI connection, worker stops\r\n**** dT 1.567\r\n**** v1 vsl| 0 CLI - Rd debug.listen_address \r\n**** v1 vsl| 0 CLI - Wr 200 19 a0 127.0.0.1 44415\r\n\r\n**** v1 vsl| 1000 Begin c sess 0 HTTP/1\r\n**** v1 vsl| 1000 SessOpen c 127.0.0.1 38040 a0 127.0.0.1 44415 1679028966.339009 19\r\n**** v1 vsl| 1000 Debug c sockopt: SO_LINGER may be inherited for a0=127.0.0.1:44415\r\n**** v1 vsl| 1000 Debug c sockopt: SO_KEEPALIVE may be inherited for a0=127.0.0.1:44415\r\n**** v1 vsl| 1000 Debug c sockopt: SO_SNDTIMEO may be inherited for a0=127.0.0.1:44415\r\n**** v1 vsl| 1000 Debug c sockopt: SO_RCVTIMEO may be inherited for a0=127.0.0.1:44415\r\n**** v1 vsl| 1000 Debug c sockopt: TCP_NODELAY may be inherited for a0=127.0.0.1:44415\r\n**** v1 vsl| 1000 Debug c sockopt: TCP_KEEPIDLE may be inherited for a0=127.0.0.1:44415\r\n**** v1 vsl| 1000 Debug c sockopt: TCP_KEEPCNT may be inherited for a0=127.0.0.1:44415\r\n**** v1 vsl| 1000 Debug c sockopt: TCP_KEEPINTVL may be inherited for a0=127.0.0.1:44415\r\n**** v1 vsl| 1000 Link c req 1001 rxreq\r\n**** v1 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(localhost:41173) Lookup: 1679028966.339141 0.000000 0.000000\r\n**** v1 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(localhost:41173) Results: 1679028966.339372 0.000231 0.000231\r\n**** v1 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(localhost:41173) Update: 1679028966.339616 0.000475 0.000244\r\n**** v1 vsl| 1002 Begin b bereq 1001 fetch\r\n**** v1 vsl| 1002 VCL_use b vcl1\r\n**** v1 vsl| 1002 Timestamp b Start: 1679028966.339237 0.000000 0.000000\r\n**** v1 vsl| 1002 BereqMethod b GET\r\n**** v1 vsl| 1002 BereqURL b /\r\n**** v1 vsl| 1002 BereqProtocol b HTTP/1.1\r\n**** v1 vsl| 1002 BereqHeader b Host: 127.0.0.1\r\n**** v1 vsl| 1002 BereqHeader b X-Forwarded-For: 127.0.0.1\r\n**** dT 1.568\r\n**** v1 vsl| 1002 BereqHeader b Via: 1.1 v1 (Varnish/7.3)\r\n**** v1 vsl| 1002 BereqHeader b Accept-Encoding: gzip\r\n**** v1 vsl| 1002 BereqHeader b X-Varnish: 1002\r\n**** v1 vsl| 1002 VCL_call b BACKEND_FETCH\r\n**** v1 vsl| 1002 VCL_return b fetch\r\n**** v1 vsl| 1002 Timestamp b Fetch: 1679028966.339257 0.000019 0.000019\r\n**** v1 vsl| 1002 Timestamp b Connected: 1679028966.339806 0.000568 0.000549\r\n**** v1 vsl| 1002 BackendOpen b 25 d1.localhost(::1:41173) 127.0.0.1 35713 127.0.0.1 59120 connect\r\n**** v1 vsl| 1002 Timestamp b Bereq: 1679028966.339835 0.000597 0.000028\r\n**** v1 vsl| 1002 BerespProtocol b HTTP/1.1\r\n**** v1 vsl| 1002 BerespStatus b 503\r\n**** v1 vsl| 1002 BerespReason b Backend fetch failed\r\n**** v1 vsl| 1002 BerespHeader b Date: Fri, 17 Mar 2023 04:56:06 GMT\r\n**** v1 vsl| 1002 BerespHeader b Server: Varnish\r\n**** v1 vsl| 1002 BerespHeader b Content-Type: text/html; charset=utf-8\r\n**** v1 vsl| 1002 BerespHeader b Retry-After: 5\r\n**** v1 vsl| 1002 BerespHeader b X-Varnish: 1001\r\n**** v1 vsl| 1002 BerespHeader b Age: 0\r\n**** v1 vsl| 1002 BerespHeader b Via: 1.1 v2 (Varnish/7.3)\r\n**** v1 vsl| 1002 BerespHeader b Authority: localhost\r\n**** v1 vsl| 1002 BerespHeader b Content-Length: 281\r\n**** v1 vsl| 1002 BerespHeader b Connection: keep-alive\r\n**** v1 vsl| 1002 Timestamp b Beresp: 1679028966.340633 0.001396 0.000798\r\n**** v1 vsl| 1002 TTL b RFC -1 10 0 1679028966 1679028966 1679028966 0 0 cacheable\r\n**** v1 vsl| 1002 VCL_call b BACKEND_RESPONSE\r\n**** v1 vsl| 1002 TTL b VCL 120 10 0 1679028966 cacheable\r\n**** v1 vsl| 1002 TTL b VCL 120 10 0 1679028966 uncacheable\r\n**** v1 vsl| 1002 VCL_return b deliver\r\n**** v1 vsl| 1002 Timestamp b Process: 1679028966.340654 0.001416 0.000020\r\n**** v1 vsl| 1002 Filters b \r\n**** v1 vsl| 1002 Storage b malloc Transient\r\n**** v1 vsl| 1002 Fetch_Body b 3 length stream\r\n**** v1 vsl| 1002 BackendClose b 25 d1.localhost(::1:41173) recycle\r\n**** v1 vsl| 1002 Timestamp b BerespBody: 1679028966.350797 0.011559 0.010143\r\n**** v1 vsl| 1002 Length b 281\r\n**** v1 vsl| 1002 BereqAcct b 130 0 130 266 281 547\r\n**** v1 vsl| 1002 End b \r\n**** v1 vsl| 1001 Begin c req 1000 rxreq\r\n**** v1 vsl| 1001 Timestamp c Start: 1679028966.339053 0.000000 0.000000\r\n**** v1 vsl| 1001 Timestamp c Req: 1679028966.339053 0.000000 0.000000\r\n**** v1 vsl| 1001 VCL_use c vcl1\r\n**** v1 vsl| 1001 ReqStart c 127.0.0.1 38040 a0\r\n**** v1 vsl| 1001 ReqMethod c GET\r\n**** v1 vsl| 1001 ReqURL c /\r\n**** v1 vsl| 1001 ReqProtocol c HTTP/1.1\r\n**** v1 vsl| 1001 ReqHeader c Host: 127.0.0.1\r\n**** v1 vsl| 1001 ReqHeader c X-Forwarded-For: 127.0.0.1\r\n**** v1 vsl| 1001 ReqHeader c Via: 1.1 v1 (Varnish/7.3)\r\n**** v1 vsl| 1001 VCL_call c RECV\r\n**** v1 vsl| 1001 VCL_return c hash\r\n**** v1 vsl| 1001 VCL_call c HASH\r\n**** v1 vsl| 1001 VCL_return c lookup\r\n**** v1 vsl| 1001 VCL_call c MISS\r\n**** v1 vsl| 1001 VCL_return c fetch\r\n**** v1 vsl| 1001 Link c bereq 1002 fetch\r\n**** v1 vsl| 1001 Timestamp c Fetch: 1679028966.340701 0.001648 0.001648\r\n**** v1 vsl| 1001 RespProtocol c HTTP/1.1\r\n**** v1 vsl| 1001 RespStatus c 503\r\n**** v1 vsl| 1001 RespReason c Backend fetch failed\r\n**** v1 vsl| 1001 RespHeader c Date: Fri, 17 Mar 2023 04:56:06 GMT\r\n**** v1 vsl| 1001 RespHeader c Server: Varnish\r\n**** v1 vsl| 1001 RespHeader c Content-Type: text/html; charset=utf-8\r\n**** v1 vsl| 1001 RespHeader c Retry-After: 5\r\n**** v1 vsl| 1001 RespHeader c X-Varnish: 1001\r\n**** v1 vsl| 1001 RespHeader c Via: 1.1 v2 (Varnish/7.3)\r\n**** v1 vsl| 1001 RespHeader c Authority: localhost\r\n**** v1 vsl| 1001 RespHeader c Content-Length: 281\r\n**** v1 vsl| 1001 RespHeader c X-Varnish: 1001\r\n**** v1 vsl| 1001 RespHeader c Age: 0\r\n**** v1 vsl| 1001 RespUnset c Via: 1.1 v2 (Varnish/7.3)\r\n**** v1 vsl| 1001 RespHeader c Via: 1.1 v2 (Varnish/7.3), 1.1 v1 (Varnish/7.3)\r\n**** v1 vsl| 1001 VCL_call c DELIVER\r\n**** v1 vsl| 1001 VCL_return c deliver\r\n**** v1 vsl| 1001 Timestamp c Process: 1679028966.340725 0.001672 0.000023\r\n**** v1 vsl| 1001 Filters c \r\n**** v1 vsl| 1001 RespHeader c Connection: keep-alive\r\n**** v1 vsl| 1001 Timestamp c Resp: 1679028966.350810 0.011757 0.010085\r\n**** v1 vsl| 1001 ReqAcct c 35 0 35 305 281 586\r\n**** v1 vsl| 1001 End c \r\n**** dT 1.624\r\n*** v2 debug|Info: Child (31370) ended\r\n*** v2 debug|Info: Child (31370) said Child dies\r\n*** v2 debug|Debug: Child cleanup complete\r\n*** v2 debug|Info: manager dies\r\n**** dT 1.625\r\n**** v2 STDOUT EOF\r\n**** dT 1.628\r\n** v2 WAIT4 pid=31281 status=0x0000 (user 0.259649 sys 0.048448)\r\n** v1 Wait\r\n**** v1 CLI TX|panic.show\r\n**** dT 1.671\r\n*** v1 CLI RX 300\r\n**** v1 CLI RX|Child has not panicked or panic has been cleared\r\n*** v1 debug|Info: manager stopping child\r\n*** v1 debug|Debug: Stopping Child\r\n**** dT 1.768\r\n**** v1 vsl| 0 CLI - EOF on CLI connection, worker stops\r\n**** dT 1.771\r\n*** v1 debug|Info: Child (31486) ended\r\n*** v1 debug|Info: Child (31486) said Child dies\r\n*** v1 debug|Debug: Child cleanup complete\r\n*** v1 debug|Info: manager dies\r\n**** dT 1.772\r\n**** v1 STDOUT EOF\r\n**** dT 1.868\r\n** v1 WAIT4 pid=31413 status=0x0000 (user 0.236578 sys 0.053338)\r\n* top TEST ./tests/via.vtc FAILED\r\n# top TEST ./tests/via.vtc FAILED (1.869) exit=2\r\nFAIL tests/via.vtc (exit status: 2)\r\n\r\n```","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/97/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/97/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/98","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/98/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/98/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/98/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/98","id":1628706525,"node_id":"PR_kwDOBBOOTM5MRmCZ","number":98,"title":"shell -> feature cmd","user":{"login":"gquintard","id":3776553,"node_id":"MDQ6VXNlcjM3NzY1NTM=","avatar_url":"https://avatars.githubusercontent.com/u/3776553?v=4","gravatar_id":"","url":"https://api.github.com/users/gquintard","html_url":"https://github.com/gquintard","followers_url":"https://api.github.com/users/gquintard/followers","following_url":"https://api.github.com/users/gquintard/following{/other_user}","gists_url":"https://api.github.com/users/gquintard/gists{/gist_id}","starred_url":"https://api.github.com/users/gquintard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gquintard/subscriptions","organizations_url":"https://api.github.com/users/gquintard/orgs","repos_url":"https://api.github.com/users/gquintard/repos","events_url":"https://api.github.com/users/gquintard/events{/privacy}","received_events_url":"https://api.github.com/users/gquintard/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2023-03-17T05:15:33Z","updated_at":"2023-03-22T00:19:21Z","closed_at":"2023-03-21T18:27:53Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/98","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/98","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/98.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/98.patch","merged_at":"2023-03-21T18:27:53Z"},"body":"hopefuly, it's the correct fix for https://github.com/nigoroll/libvmod-dynamic/issues/97","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/98/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/98/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/99","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/99/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/99/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/99/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/99","id":1733615949,"node_id":"I_kwDOBBOOTM5nVOFN","number":99,"title":"Varnish 7.3","user":{"login":"ronald-sz","id":97725423,"node_id":"U_kgDOBdMr7w","avatar_url":"https://avatars.githubusercontent.com/u/97725423?v=4","gravatar_id":"","url":"https://api.github.com/users/ronald-sz","html_url":"https://github.com/ronald-sz","followers_url":"https://api.github.com/users/ronald-sz/followers","following_url":"https://api.github.com/users/ronald-sz/following{/other_user}","gists_url":"https://api.github.com/users/ronald-sz/gists{/gist_id}","starred_url":"https://api.github.com/users/ronald-sz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronald-sz/subscriptions","organizations_url":"https://api.github.com/users/ronald-sz/orgs","repos_url":"https://api.github.com/users/ronald-sz/repos","events_url":"https://api.github.com/users/ronald-sz/events{/privacy}","received_events_url":"https://api.github.com/users/ronald-sz/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2023-05-31T08:04:47Z","updated_at":"2023-07-04T17:34:03Z","closed_at":"2023-07-04T17:01:09Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi Nils, \r\n\r\nis master ready for Varnish 7.3? Could you please create a branch for 7.3?\r\n\r\nAll the best,\r\nRonald","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/99/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/99/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/100","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/100/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/100/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/100/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/100","id":1799293379,"node_id":"I_kwDOBBOOTM5rPwnD","number":100,"title":"Assert error in VBP_Remove()","user":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":2228316027,"node_id":"MDU6TGFiZWwyMjI4MzE2MDI3","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/needs%20varnish-cache","name":"needs varnish-cache","color":"006b75","default":false,"description":"needs work in varnish-cache"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2023-07-11T16:16:29Z","updated_at":"2023-07-17T13:21:14Z","closed_at":"2023-07-17T13:21:14Z","author_association":"OWNER","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Seen with ad2285bb5915ceee6949f02bdca15333bdd159d5 on varnish-cache [69fe28ffd981a3714f32faa54a4c47c6c5f1753e](https://github.com/nigoroll/varnish-cache/tree/unmerged_code_20230704_185303), which is based on 48681cc872c17d339bb6ddb47304db0685e844ba:\r\n\r\n```\r\n 0x4f0dba: /opt/varnish/sbin/varnishd() [0x4f0dba]\r\nAssert error in VBP_Remove(), cache/cache_backend_probe.c line 718:\r\n Condition(vt->heap_idx == VBH_NOIDX) not true.\r\nversion = varnish-trunk revision 69fe28ffd981a3714f32faa54a4c47c6c5f1753e, vrt api = 17.0\r\nident = Linux,3.10.0-862.14.4.el7.x86_64,x86_64,-jnone,-smalloc,-sdefault,-hcritbit,epoll\r\nnow = 146369807.049963 (mono), 1689082818.407869 (real)\r\nBacktrace:\r\n 0x44e3c2: /opt/varnish/sbin/varnishd() [0x44e3c2]\r\n 0x44eacf: /opt/varnish/sbin/varnishd() [0x44eacf]\r\n 0x4ee962: /opt/varnish/sbin/varnishd(VAS_Fail+0x53) [0x4ee962]\r\n 0x41fb40: /opt/varnish/sbin/varnishd(VBP_Remove+0x15f) [0x41fb40]\r\n 0x41bdd7: /opt/varnish/sbin/varnishd() [0x41bdd7]\r\n 0x41bf4a: /opt/varnish/sbin/varnishd() [0x41bf4a]\r\n 0x4751d6: /opt/varnish/sbin/varnishd() [0x4751d6]\r\n 0x4752fa: /opt/varnish/sbin/varnishd() [0x4752fa]\r\n 0x4755aa: /opt/varnish/sbin/varnishd(VRT_Assign_Backend+0x12b) [0x4755aa]\r\n 0x7f9d011eaded: ./vmod_cache/_vmod_dynamic.5658350bfea26ceaa0bf26746c43cfa37683f4f5a1d373819db83c01b95cee9a(+0x6ded) [0x7f9d011eaded]\r\n 0x475421: /opt/varnish/sbin/varnishd(VRT_DelDirector+0x122) [0x475421]\r\n 0x7f9d011eaa30: ./vmod_cache/_vmod_dynamic.5658350bfea26ceaa0bf26746c43cfa37683f4f5a1d373819db83c01b95cee9a(+0x6a30) [0x7f9d011eaa30]\r\n 0x7f9d011ec527: ./vmod_cache/_vmod_dynamic.5658350bfea26ceaa0bf26746c43cfa37683f4f5a1d373819db83c01b95cee9a(vmod_event+0x437) [0x7f9d011ec527]\r\n 0x7f9d115143cd: vcl_boot.1688716416.512333/vgc.so(+0xba3cd) [0x7f9d115143cd]\r\n 0x45f67d: /opt/varnish/sbin/varnishd() [0x45f67d]\r\n 0x460b0e: /opt/varnish/sbin/varnishd() [0x460b0e]\r\n 0x461d82: /opt/varnish/sbin/varnishd() [0x461d82]\r\n 0x4f049c: /opt/varnish/sbin/varnishd() [0x4f049c]\r\n 0x4f0810: /opt/varnish/sbin/varnishd() [0x4f0810]\r\n 0x4f0dba: /opt/varnish/sbin/varnishd() [0x4f0dba]\r\n```","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/100/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/100/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/101","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/101/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/101/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/101/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/101","id":1800366045,"node_id":"I_kwDOBBOOTM5rT2fd","number":101,"title":"Hang & child cli timeout/quit related to VRT_Healthy","user":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2023-07-12T07:32:02Z","updated_at":"2023-07-12T08:00:09Z","closed_at":"2023-07-12T08:00:08Z","author_association":"OWNER","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Seen with aa7919e76a3184d158a4d7f1698ad8925353d4b4 on varnish-cache [unmerged_code_20230711_235413](https://github.com/nigoroll/varnish-cache/tree/unmerged_code_20230711_235413) which is based on d99f62a9c5d4c6de492abae63510555d51a53324\r\n\r\n```\r\nPanic at: Wed, 12 Jul 2023 07:18:04 GMT\r\nWrong turn at cache/cache_main.c:375:\r\nIt's time for the big quit\r\nversion = varnish-trunk revision eb42e0a09dec02915caf6b821ff531f3d684de5b, vrt api = 17.0\r\nident = Linux,3.10.0-862.14.4.el7.x86_64,x86_64,-jnone,-smalloc,-sdefault,-hcritbit,epoll\r\nnow = 146433270.810059 (mono), 1689146282.167964 (real)\r\nBacktrace:\r\n 0x44e46c: /opt/varnish/sbin/varnishd() [0x44e46c]\r\n 0x44eb79: /opt/varnish/sbin/varnishd() [0x44eb79]\r\n 0x4eec40: /opt/varnish/sbin/varnishd(VAS_Fail+0x53) [0x4eec40]\r\n 0x448264: /opt/varnish/sbin/varnishd() [0x448264]\r\n 0x7f41e457c400: /lib64/libc.so.6(+0x36400) [0x7f41e457c400]\r\n 0x7f41e491fa33: /lib64/libpthread.so.0(pthread_cond_wait+0xc3) [0x7f41e491fa33]\r\n 0x447169: /opt/varnish/sbin/varnishd(Lck_CondWaitUntil+0x141) [0x447169]\r\n 0x446f57: /opt/varnish/sbin/varnishd(Lck_CondWait+0x27) [0x446f57]\r\n 0x7f41c358cd0c: ./vmod_cache/_vmod_dynamic.29b766e616262ab0ef9252419367ce48fbf642168ba34fc382b1742a77dac5c4(+0x7d0c) [0x7f41c358cd0c]\r\n 0x42b27b: /opt/varnish/sbin/varnishd(VRT_Healthy+0x15e) [0x42b27b]\r\n 0x7f41c4fc4591: ./vmod_cache/_vmod_directors.edab1c2b46260ba7857d12e0b786d29b78460cd930959505a67272486eac4683(+0x3591) [0x7f41c4fc4591]\r\n 0x7f41c4fc4d37: ./vmod_cache/_vmod_directors.edab1c2b46260ba7857d12e0b786d29b78460cd930959505a67272486eac4683(+0x3d37) [0x7f41c4fc4d37]\r\n 0x42b6f1: /opt/varnish/sbin/varnishd() [0x42b6f1]\r\n 0x45ff11: /opt/varnish/sbin/varnishd() [0x45ff11]\r\n 0x46017b: /opt/varnish/sbin/varnishd(VCL_IterDirector+0x23e) [0x46017b]\r\n 0x42bf2c: /opt/varnish/sbin/varnishd() [0x42bf2c]\r\n 0x4f077a: /opt/varnish/sbin/varnishd() [0x4f077a]\r\n 0x4f0aee: /opt/varnish/sbin/varnishd() [0x4f0aee]\r\n 0x4f1098: /opt/varnish/sbin/varnishd() [0x4f1098]\r\n 0x4f2183: /opt/varnish/sbin/varnishd(VCLS_Poll+0x2c6) [0x4f2183]\r\n ```","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/101/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/101/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/102","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/102/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/102/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/102/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/102","id":1801475335,"node_id":"I_kwDOBBOOTM5rYFUH","number":102,"title":"Director Layering triggers domain_timeout, consequently no backend is returned","user":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804422,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjI=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/bug","name":"bug","color":"ee0701","default":true,"description":null}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2023-07-12T17:49:01Z","updated_at":"2023-07-14T13:33:39Z","closed_at":"2023-07-14T13:33:39Z","author_association":"OWNER","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"When layering a dynamic director under another director, the last use is not updated and, when the domain timeout expires, the director stops returning backends (`FetchError Director ONTOP returned no backend` with `ONTOP` being the director having configured a dynamic domain as a backend).\r\nI guess this use case makes the whole concept of a domain timeout useless, but I'll need to ponder this for a bit.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/102/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/102/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/103","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/103/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/103/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/103/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/103","id":1820210930,"node_id":"PR_kwDOBBOOTM5WU6-n","number":103,"title":"Add resolver fallback to the null resolver (getaddrinfo)","user":{"login":"delthas","id":1863865,"node_id":"MDQ6VXNlcjE4NjM4NjU=","avatar_url":"https://avatars.githubusercontent.com/u/1863865?v=4","gravatar_id":"","url":"https://api.github.com/users/delthas","html_url":"https://github.com/delthas","followers_url":"https://api.github.com/users/delthas/followers","following_url":"https://api.github.com/users/delthas/following{/other_user}","gists_url":"https://api.github.com/users/delthas/gists{/gist_id}","starred_url":"https://api.github.com/users/delthas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/delthas/subscriptions","organizations_url":"https://api.github.com/users/delthas/orgs","repos_url":"https://api.github.com/users/delthas/repos","events_url":"https://api.github.com/users/delthas/events{/privacy}","received_events_url":"https://api.github.com/users/delthas/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2023-07-25T12:22:05Z","updated_at":"2024-01-28T19:21:27Z","closed_at":null,"author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/103","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/103","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/103.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/103.patch","merged_at":null},"body":"This enables a best-effort, two-step resolution when a resolver is configured:\r\n- if the DNS resolver returns any domain, that record is used with its corresponding TTL\r\n- otherwise, the module tries resolving the name with the default, NULL resolver, which is just a wrapper over getaddrinfo\r\n * if the resolution succeeds, this was likely a domain in /etc/hosts or an IP literal, which was not known by the DNS server. The associated record has no TTL value and uses the default director TTL.\r\n * if the resolution fails, this was likely a bad domain. No records are stored and a new request is made after the default director TTL, as was done previously.\r\n\r\n-----\r\n\r\nThe patch is somewhat dumb, it just wraps the resolve logic in a loop that can iterate twice. The goal was to minimize the size of `git diff -w`.\r\n\r\nThis causes the module to log Lookup & Results & Error twice in case we do the fallback attempt, which could be a nice side-effect (we can investigate a DNS error in varnishlog but see that it still succeeded). I don't have a strong opinion about this one.\r\n\r\nFeel free to amend and merge if you'd like. Otherwise I can make changes. :smile: ","closed_by":null,"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/103/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/103/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/104","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/104/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/104/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/104/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/104","id":1913624666,"node_id":"I_kwDOBBOOTM5yD5ha","number":104,"title":"implicit declaration of function 'IS_CLI'","user":{"login":"BernardRobbins","id":959230,"node_id":"MDQ6VXNlcjk1OTIzMA==","avatar_url":"https://avatars.githubusercontent.com/u/959230?v=4","gravatar_id":"","url":"https://api.github.com/users/BernardRobbins","html_url":"https://github.com/BernardRobbins","followers_url":"https://api.github.com/users/BernardRobbins/followers","following_url":"https://api.github.com/users/BernardRobbins/following{/other_user}","gists_url":"https://api.github.com/users/BernardRobbins/gists{/gist_id}","starred_url":"https://api.github.com/users/BernardRobbins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BernardRobbins/subscriptions","organizations_url":"https://api.github.com/users/BernardRobbins/orgs","repos_url":"https://api.github.com/users/BernardRobbins/repos","events_url":"https://api.github.com/users/BernardRobbins/events{/privacy}","received_events_url":"https://api.github.com/users/BernardRobbins/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2023-09-26T14:19:06Z","updated_at":"2023-09-26T14:29:16Z","closed_at":"2023-09-26T14:29:16Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Compiling varnish 7.3 & libvmod-dynamic-master from source on AL2023.\r\nVarnish is running fine.\r\n\r\nRunning make gives me this error:\r\n\r\n`make[2]: Entering directory '/home/ec2-user/libvmod-dynamic-master/src'\r\n CC vmod_dynamic.lo\r\nvmod_dynamic.c: In function 'dom_healthy':\r\nvmod_dynamic.c:319:31: error: implicit declaration of function 'IS_CLI' [-Werror=implicit-function-declaration]\r\n 319 | if (retval || IS_CLI())\r\n | ^~~~~~\r\ncc1: all warnings being treated as errors\r\nmake[2]: *** [Makefile:708: vmod_dynamic.lo] Error 1\r\nmake[2]: Leaving directory '/home/ec2-user/libvmod-dynamic-master/src'\r\nmake[1]: *** [Makefile:500: all-recursive] Error 1\r\nmake[1]: Leaving directory '/home/ec2-user/libvmod-dynamic-master'\r\nmake: *** [Makefile:411: all] Error 2\r\n`\r\n\r\nmake -v\r\nGNU Make 4.3\r\nBuilt for x86_64-amazon-linux-gnu\r\n\r\nvarnishd -V\r\nvarnishd (varnish-7.3.0 revision 84d79120b6d17b11819a663a93160743f293e63f)\r\n\r\ngcc -v\r\ngcc version 11.4.1 20230605 (Red Hat 11.4.1-2) (GCC)","closed_by":{"login":"BernardRobbins","id":959230,"node_id":"MDQ6VXNlcjk1OTIzMA==","avatar_url":"https://avatars.githubusercontent.com/u/959230?v=4","gravatar_id":"","url":"https://api.github.com/users/BernardRobbins","html_url":"https://github.com/BernardRobbins","followers_url":"https://api.github.com/users/BernardRobbins/followers","following_url":"https://api.github.com/users/BernardRobbins/following{/other_user}","gists_url":"https://api.github.com/users/BernardRobbins/gists{/gist_id}","starred_url":"https://api.github.com/users/BernardRobbins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BernardRobbins/subscriptions","organizations_url":"https://api.github.com/users/BernardRobbins/orgs","repos_url":"https://api.github.com/users/BernardRobbins/repos","events_url":"https://api.github.com/users/BernardRobbins/events{/privacy}","received_events_url":"https://api.github.com/users/BernardRobbins/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/104/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/104/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/105","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/105/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/105/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/105/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/105","id":1931814034,"node_id":"I_kwDOBBOOTM5zJSSS","number":105,"title":"assertion `(dom->status == DYNAMIC_ST_STARTING)` failing sporadically","user":{"login":"kaiburjack","id":72760888,"node_id":"MDQ6VXNlcjcyNzYwODg4","avatar_url":"https://avatars.githubusercontent.com/u/72760888?v=4","gravatar_id":"","url":"https://api.github.com/users/kaiburjack","html_url":"https://github.com/kaiburjack","followers_url":"https://api.github.com/users/kaiburjack/followers","following_url":"https://api.github.com/users/kaiburjack/following{/other_user}","gists_url":"https://api.github.com/users/kaiburjack/gists{/gist_id}","starred_url":"https://api.github.com/users/kaiburjack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kaiburjack/subscriptions","organizations_url":"https://api.github.com/users/kaiburjack/orgs","repos_url":"https://api.github.com/users/kaiburjack/repos","events_url":"https://api.github.com/users/kaiburjack/events{/privacy}","received_events_url":"https://api.github.com/users/kaiburjack/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2023-10-08T13:53:12Z","updated_at":"2023-10-17T09:28:29Z","closed_at":"2023-10-17T09:21:42Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"## Description\r\n\r\nWe are currently evaluating Varnish as a cache behind an ingress in our Kubernetes setup.\r\nFor this, we use the varnish:7.4.1-alpine Docker image, which also contains this libvmod-dynamic module.\r\nWe then use a very simple VCL to begin with:\r\n```\r\nvcl 4.1;\r\nimport dynamic;\r\nbackend default none;\r\nsub vcl_init {\r\n new d = dynamic.director(port = \"80\");\r\n}\r\nsub vcl_recv {\r\n set req.backend_hint = d.backend(req.http.host);\r\n}\r\n```\r\nAs a side-note: This is also used with an Istio service mesh, so in the end Istio will determine the actual destination IP to route to after Varnish sends the request to the supposed `req.http.host` backend based on the HTTP Host/Authority header.\r\n\r\nSo far so good. Everything works well but occasionally we see this assertion failing:\r\nhttps://github.com/nigoroll/libvmod-dynamic/blob/master/src/vmod_dynamic.c#L788\r\n\r\nThis does not happen very often (only about 1 or 2 times a day), but it does happen and I wonder, why.\r\n\r\n## Initial analysis\r\n\r\nLooking at the code, the function where this assertion fails is the entrypoint function for a pthread spawned by https://github.com/nigoroll/libvmod-dynamic/blob/master/src/vmod_dynamic.c#L1012 .\r\n\r\nBefore the thread is spawned, the `dom->status` is set to the asserted `DYNAMIC_ST_STARTING;`.\r\n\r\nAnd both the writing and reading of `dom->status` are covered by a lock/mutex.\r\nAnd there is definitely a happens-before relation between the code setting `dom->status = DYNAMIC_ST_STARTING;` and the pthread function seeing the value of `dom->status`.\r\n*However* there is no guarantee that another event in `dom_event` might not set a _different_ value for `dom->status` after the processing of the `VCL_EVENT_WARM` event and the effective start of the pthread function in a separately spawned thread. Could there be maybe a `VCL_EVENT_COLD` event fired right after the `VCL_EVENT_WARM` which would set `dom->status` again to a different value, making the assertion then fail?\r\n\r\nComing to think of the actual assertion `dom->status == DYNAMIC_ST_STARTING`: What is being asserted there and why?\r\nBecause the while loop directly afterwards will also check if the condition for whether the thread should run is still true `while (dom->status <= DYNAMIC_ST_ACTIVE) {` and I think this would also cover the check of `status == DYNAMIC_ST_STARTING`, since `DYNAMIC_ST_STARTING <= DYNAMIC_ST_ACTIVE` would be true as well.\r\n\r\n## stdout/stderr output of Varnish\r\n\r\nThe following are what Varnish's container will output to stdout/stderr when the assertion fails and the child process is killed and restarted:\r\n```\r\nError: Child (254) died signal=6\r\nError: Child (254) Panic at: Sat, 07 Oct 2023 22:15:50 GMT\r\nAssert error in dom_lookup_thread(), vmod_dynamic.c line 788:\r\n Condition(dom->status == DYNAMIC_ST_STARTING) not true.\r\nversion = varnish-7.4.1 revision d5a5aa9cc879320840ca467ddbb7df0f99c9ba0f, vrt api = 18.0\r\nident = Linux,5.15.120+,x86_64,-jnone,-smalloc,-sdefault,-hcritbit,epoll\r\nnow = 1659349.487516 (mono), 1696716950.705925 (real)\r\nBacktrace:\r\n ip=0x5ccdac571cdf sp=0x7b10d72ae240\r\n ip=0x5ccdac5d089b sp=0x7b10d72ae390\r\n ip=0x7b10d75e061c sp=0x7b10d72ae3d0 \r\n ip=0x7b10dde66285 sp=0x7b10d72aeac0 \r\nargv = {\r\n [0] = \\\"varnishd\\\",\r\n [1] = \\\"-F\\\",\r\n [2] = \\\"-f\\\",\r\n [3] = \\\"/etc/varnish/default.vcl\\\",\r\n [4] = \\\"-a\\\",\r\n [5] = \\\"http=:8080,HTTP\\\",\r\n [6] = \\\"-a\\\",\r\n [7] = \\\"proxy=:8443,PROXY\\\",\r\n [8] = \\\"-p\\\",\r\n [9] = \\\"feature=+http2\\\",\r\n [10] = \\\"-s\\\",\r\n [11] = \\\"malloc,1073741824\\\",\r\n [12] = \\\"-n\\\",\r\n [13] = \\\"/tmp/varnish_workdir\\\",\r\n [14] = \\\"-t\\\",\r\n [15] = \\\"5s\\\",\r\n [16] = \\\"-p\\\",\r\n [17] = \\\"default_grace=10s\\\",\r\n [18] = \\\"-p\\\",\r\n [19] = \\\"default_keep=0s\\\",\r\n}\r\npthread.self = 0x7b10d72aeb38\r\npthread.attr = {\r\n guard = 8192,\r\n stack_bottom = 0x7b10d728e000,\r\n stack_top = 0x7b10d72aeb08,\r\n stack_size = 133896,\r\n}\r\nthr.req = NULL\r\nthr.busyobj = NULL\r\nthr.worker = NULL\r\nvmods = {\r\n std = {0x7b10d858cbc0, Varnish 7.4.1 d5a5aa9cc879320840ca467ddbb7df0f99c9ba0f, 0.0},\r\n dynamic = {0x7b10d858cc30, Varnish 7.4.1 d5a5aa9cc879320840ca467ddbb7df0f99c9ba0f, 18.0},\r\n basicauth = {0x7b10d858cca0, Varnish 7.4.1 d5a5aa9cc879320840ca467ddbb7df0f99c9ba0f, 0.0},\r\n},\r\npools = {\r\n pool = 0x7b10d8c68c20 {\r\n nidle = 93,\r\n nthr = 100,\r\n lqueue = 0\r\n },\r\n pool = 0x7b10d8c68d50 {\r\n nidle = 96,\r\n nthr = 100,\r\n lqueue = 0\r\n },\r\n},\r\n\r\n\r\nDebug: Child cleanup complete\r\nDebug: Child (480) Started\r\nChild launched OK\r\nInfo: Child (480) said Child starts\r\n```","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/105/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/105/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/106","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/106/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/106/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/106/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/106","id":2057031869,"node_id":"I_kwDOBBOOTM56m9C9","number":106,"title":"Varnish 7.4","user":{"login":"ronald-sz","id":97725423,"node_id":"U_kgDOBdMr7w","avatar_url":"https://avatars.githubusercontent.com/u/97725423?v=4","gravatar_id":"","url":"https://api.github.com/users/ronald-sz","html_url":"https://github.com/ronald-sz","followers_url":"https://api.github.com/users/ronald-sz/followers","following_url":"https://api.github.com/users/ronald-sz/following{/other_user}","gists_url":"https://api.github.com/users/ronald-sz/gists{/gist_id}","starred_url":"https://api.github.com/users/ronald-sz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronald-sz/subscriptions","organizations_url":"https://api.github.com/users/ronald-sz/orgs","repos_url":"https://api.github.com/users/ronald-sz/repos","events_url":"https://api.github.com/users/ronald-sz/events{/privacy}","received_events_url":"https://api.github.com/users/ronald-sz/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2023-12-27T07:44:20Z","updated_at":"2024-01-28T19:19:35Z","closed_at":"2024-01-09T15:37:31Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi Nils,\r\n\r\nis master ready for Varnish 7.4? Could you please create a branch for 7.4?\r\n\r\nThank you and all the best,\r\nRonald","closed_by":{"login":"ronald-sz","id":97725423,"node_id":"U_kgDOBdMr7w","avatar_url":"https://avatars.githubusercontent.com/u/97725423?v=4","gravatar_id":"","url":"https://api.github.com/users/ronald-sz","html_url":"https://github.com/ronald-sz","followers_url":"https://api.github.com/users/ronald-sz/followers","following_url":"https://api.github.com/users/ronald-sz/following{/other_user}","gists_url":"https://api.github.com/users/ronald-sz/gists{/gist_id}","starred_url":"https://api.github.com/users/ronald-sz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronald-sz/subscriptions","organizations_url":"https://api.github.com/users/ronald-sz/orgs","repos_url":"https://api.github.com/users/ronald-sz/repos","events_url":"https://api.github.com/users/ronald-sz/events{/privacy}","received_events_url":"https://api.github.com/users/ronald-sz/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/106/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/106/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/107","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/107/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/107/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/107/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/107","id":2067347632,"node_id":"I_kwDOBBOOTM57OTiw","number":107,"title":"Assert error in dom_release(): Condition((dom->thread) == 0) not true","user":{"login":"delthas","id":1863865,"node_id":"MDQ6VXNlcjE4NjM4NjU=","avatar_url":"https://avatars.githubusercontent.com/u/1863865?v=4","gravatar_id":"","url":"https://api.github.com/users/delthas","html_url":"https://github.com/delthas","followers_url":"https://api.github.com/users/delthas/followers","following_url":"https://api.github.com/users/delthas/following{/other_user}","gists_url":"https://api.github.com/users/delthas/gists{/gist_id}","starred_url":"https://api.github.com/users/delthas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/delthas/subscriptions","organizations_url":"https://api.github.com/users/delthas/orgs","repos_url":"https://api.github.com/users/delthas/repos","events_url":"https://api.github.com/users/delthas/events{/privacy}","received_events_url":"https://api.github.com/users/delthas/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"assignees":[{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false}],"milestone":null,"comments":5,"created_at":"2024-01-05T13:24:41Z","updated_at":"2024-01-05T20:55:40Z","closed_at":"2024-01-05T20:54:53Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi,\r\n\r\n*(Following our discussion on IRC, I'm opening an issue.)*\r\n\r\nI got a panic in libvmod-dynamic after reloading Varnish (varnishreload, so loading a new VCL, using it, and discarding an older one), running https://github.com/nigoroll/libvmod-dynamic/commit/2d51da74680e849c8411bcd6d85cd53c149b3052 against Varnish 7.3.0.\r\n\r\nLooks like the panic is caused when handling a VCL_EVENT_COLD event, when releasing a dynamic director.\r\n\r\nPanic annotated with some locations:\r\n```\r\nAssert error in dom_release(), vmod_dynamic.c line 952:\r\n Condition((dom->thread) == 0) not true.\r\nBacktrace:\r\n 0x5609d924f872: /usr/sbin/varnishd(+0x5b872) [0x5609d924f872] -> pan_ic\r\n 0x5609d92cc745: /usr/sbin/varnishd(VAS_Fail+0x45) [0x5609d92cc745]\r\n 0x7564a4065fe2: ./vmod_cache/_vmod_dynamic.29b766e616262ab0ef9252419367ce48fbf642168ba34fc382b1742a77dac5c4(+0x4fe2) [0x7564a4065fe2] -> (dom_destroy ?) -> dom_release\r\n 0x5609d927186a: /usr/sbin/varnishd(+0x7d86a) [0x5609d927186a] -> vcldir_deref\r\n 0x7564a40662fa: ./vmod_cache/_vmod_dynamic.29b766e616262ab0ef9252419367ce48fbf642168ba34fc382b1742a77dac5c4(+0x52fa) [0x7564a40662fa] (? guessed from the code) dynamic_stop -> dynamic_gc_expired -> dom_free -> VRT_DelDirector\r\n 0x7564a4069156: ./vmod_cache/_vmod_dynamic.29b766e616262ab0ef9252419367ce48fbf642168ba34fc382b1742a77dac5c4(vmod_event+0x176) [0x7564a4069156] -> vmod_event (VCL_EVENT_COLD)\r\n 0x754e303bc5b5: vcl_reload_20231121_143229_2498323.1700577149.771996/vgc.so(+0x305b5) [0x754e303bc5b5]\r\n 0x5609d925fd71: /usr/sbin/varnishd(+0x6bd71) [0x5609d925fd71] -> vcl_send_event (VCL_EVENT_COLD)\r\n 0x5609d926027d: /usr/sbin/varnishd(+0x6c27d) [0x5609d926027d] -> vcl_set_state (0)\r\n 0x5609d9261fb8: /usr/sbin/varnishd(VCL_Poll+0xe8) [0x5609d9261fb8] -> VCL_Poll\r\n```\r\n\r\nAccording to our discussion on IRC; this could have been solved by https://github.com/nigoroll/libvmod-dynamic/commit/b54c48849a0ffb940f87d641c0b13584cb21540e, but I'm running a version after that commit.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/107/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/107/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/108","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/108/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/108/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/108/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/108","id":2072231214,"node_id":"I_kwDOBBOOTM57g70u","number":108,"title":"Assert: Dynamic Backends can only be added to warm VCLs","user":{"login":"delthas","id":1863865,"node_id":"MDQ6VXNlcjE4NjM4NjU=","avatar_url":"https://avatars.githubusercontent.com/u/1863865?v=4","gravatar_id":"","url":"https://api.github.com/users/delthas","html_url":"https://github.com/delthas","followers_url":"https://api.github.com/users/delthas/followers","following_url":"https://api.github.com/users/delthas/following{/other_user}","gists_url":"https://api.github.com/users/delthas/gists{/gist_id}","starred_url":"https://api.github.com/users/delthas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/delthas/subscriptions","organizations_url":"https://api.github.com/users/delthas/orgs","repos_url":"https://api.github.com/users/delthas/repos","events_url":"https://api.github.com/users/delthas/events{/privacy}","received_events_url":"https://api.github.com/users/delthas/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"assignees":[{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false}],"milestone":null,"comments":4,"created_at":"2024-01-09T11:58:02Z","updated_at":"2024-05-27T10:40:50Z","closed_at":"2024-01-28T19:13:16Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"I got the following panic in production:\r\n```\r\nWrong turn at cache/cache_vrt_vcl.c:224:\r\nDynamic Backends can only be added to warm VCLs\r\nBacktrace:\r\n 0x557c3b6a7872: /usr/sbin/varnishd(+0x5b872) [0x557c3b6a7872]\r\n 0x557c3b724745: /usr/sbin/varnishd(VAS_Fail+0x45) [0x557c3b724745]\r\n 0x557c3b6cb1e1: /usr/sbin/varnishd(VRT_AddDirector+0x3d1) [0x557c3b6cb1e1]\r\n 0x557c3b67c023: /usr/sbin/varnishd(VRT_new_backend_clustered+0x4c3) [0x557c3b67c023]\r\n 0x7fc4469918b8: ./vmod_cache/_vmod_dynamic.29b766e616262ab0ef9252419367ce48fbf642168ba34fc382b1742a77dac5c4(+0x68b8) [0x7fc4469918b8]\r\n 0x7fc45f817064: /lib/x86_64-linux-gnu/libpthread.so.0(+0x8064) [0x7fc45f817064]\r\n 0x7fc45f54c62d: /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7fc45f54c62d]\r\n```\r\nCall stack is probably: dom_lookup_thread -> dom_update -> ref_add -> VRT_new_backend -> VRT_new_backend_clustered -> VRT_AddDirector\r\n\r\nCould there possibly be a race condition between the lookup thread that could take a while to look up DNS records, then try to insert the new backends while the VCL was unloaded/set to cooling?\r\n","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/108/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/108/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/109","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/109/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/109/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/109/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/109","id":2082315931,"node_id":"I_kwDOBBOOTM58HZ6b","number":109,"title":"Assert error in ref_del(): Condition((r->dir) != NULL) not true","user":{"login":"delthas","id":1863865,"node_id":"MDQ6VXNlcjE4NjM4NjU=","avatar_url":"https://avatars.githubusercontent.com/u/1863865?v=4","gravatar_id":"","url":"https://api.github.com/users/delthas","html_url":"https://github.com/delthas","followers_url":"https://api.github.com/users/delthas/followers","following_url":"https://api.github.com/users/delthas/following{/other_user}","gists_url":"https://api.github.com/users/delthas/gists{/gist_id}","starred_url":"https://api.github.com/users/delthas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/delthas/subscriptions","organizations_url":"https://api.github.com/users/delthas/orgs","repos_url":"https://api.github.com/users/delthas/repos","events_url":"https://api.github.com/users/delthas/events{/privacy}","received_events_url":"https://api.github.com/users/delthas/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"assignees":[{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false}],"milestone":null,"comments":5,"created_at":"2024-01-15T16:03:07Z","updated_at":"2024-01-26T17:20:14Z","closed_at":"2024-01-26T17:14:29Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"I found an assert with a simple minimum working example.\r\n\r\nRunning against Varnish 7.4.2, against libvmod-dynamic master.\r\n\r\n```\r\nAssert error in ref_del(), vmod_dynamic.c line 427:\r\n Condition((r->dir) != NULL) not true.\r\nBacktrace:\r\n ip=0x5555555c669e sp=0x7fffffffba20 \r\n ip=0x5555556966b5 sp=0x7fffffffbbb0 \r\n ip=0x7fffeab0dad7 sp=0x7fffffffbc00 \r\n ip=0x7fffeab0e120 sp=0x7fffffffbc20 \r\n ip=0x5555556023fa sp=0x7fffffffbc50 \r\n ip=0x5555555fd863 sp=0x7fffffffbc70 \r\n ip=0x5555555fda2e sp=0x7fffffffbc90 \r\n ip=0x7fffeaa958ac sp=0x7fffffffbcc0 \r\n ip=0x7fffeaa98435 sp=0x7fffffffbce0 \r\n ip=0x5555555fd67c sp=0x7fffffffbd00 \r\n ip=0x7fffeaa97a5a sp=0x7fffffffbd30 \r\n ip=0x7fffeaa8c3bf sp=0x7fffffffbd50 \r\n ip=0x5555555e15ad sp=0x7fffffffbd70 \r\n ip=0x5555555e082f sp=0x7fffffffbdd0 \r\n ip=0x5555555e2db3 sp=0x7fffffffbe10 \r\n ip=0x55555569b18c sp=0x7fffffffbe50 \r\n ip=0x55555569ad67 sp=0x7fffffffbe80 \r\n ip=0x555555699ad9 sp=0x7fffffffbee0 \r\n ip=0x5555556994bf sp=0x7fffffffbf50 \r\n ip=0x555555592704 sp=0x7fffffffdfb0 \r\n ip=0x5555555c07ac sp=0x7fffffffdfe0 \r\n ip=0x5555556330e9 sp=0x7fffffffe040 \r\n ip=0x555555632a01 sp=0x7fffffffe0c0 \r\n ip=0x55555563aa60 sp=0x7fffffffe0e0 \r\n ip=0x7ffff7958cd0 sp=0x7fffffffe320 <__libc_init_first+0x90>\r\n ip=0x7ffff7958d8a sp=0x7fffffffe3c0 <__libc_start_main+0x8a>\r\n ip=0x55555557ded5 sp=0x7fffffffe410 <_start+0x25>\r\n```\r\n\r\nThis happens when discarding a VCL.\r\n\r\n---\r\n\r\nTo reproduce, here's a failing VTC (timeout, but the process actually crashes)\r\n\r\n```\r\nvarnishtest \"reload\"\r\n\r\nshell {\r\n\tcat >${tmpdir}/f1 <<-EOF\r\n\tvcl 4.1;\r\n\timport ${vmod_dynamic};\r\n\timport directors;\r\n\r\n\tbackend none none;\r\n\r\n\tsub vcl_init {\r\n\t\tnew dir = directors.fallback();\r\n\t\tnew res = dynamic.resolver();\r\n\t\tnew dyn = dynamic.director(resolver = res.use());\r\n\t\tdir.add_backend(dyn.backend(host={\"example.com\"}, port={\"80\"}) );\r\n\t}\r\n\tEOF\r\n}\r\n\r\nvarnish v1 -cliok \"vcl.load vcl1 ${tmpdir}/f1\"\r\nvarnish v1 -cliok \"vcl.use vcl1\"\r\nvarnish v1 -cliok \"start\"\r\n\r\nvarnish v1 -cliok \"vcl.load vcl2 ${tmpdir}/f1\"\r\nvarnish v1 -cliok \"vcl.use vcl2\"\r\nvarnish v1 -cliok \"vcl.discard vcl1\"\r\n\r\nvarnish v1 -cliok \"vcl.load vcl3 ${tmpdir}/f1\"\r\nvarnish v1 -cliok \"vcl.use vcl3\"\r\nvarnish v1 -cliok \"vcl.discard vcl2\"\r\n\r\nvarnish v1 -cliok \"vcl.load vcl4 ${tmpdir}/f1\"\r\nvarnish v1 -cliok \"vcl.use vcl4\"\r\nvarnish v1 -cliok \"vcl.discard vcl3\"\r\n\r\nvarnish v1 -cliok \"vcl.load vcl5 ${tmpdir}/f1\"\r\nvarnish v1 -cliok \"vcl.use vcl5\"\r\nvarnish v1 -cliok \"vcl.discard vcl4\"\r\n```\r\n\r\n---\r\n\r\nYou can't see the panic when using the VTC, so I'm instead doing:\r\n\r\ncrash.vcl:\r\n```\r\nvcl 4.1;\r\nimport dynamic from \".../libvmod-dynamic/src/.libs/libvmod_dynamic.so\";\r\nimport directors;\r\n\r\nbackend proforma none;\r\n\r\nsub vcl_init {\r\n new dir = directors.fallback();\r\n new res = dynamic.resolver();\r\n new dyn = dynamic.director(resolver = res.use());\r\n dir.add_backend(dyn.backend(host={\"example.com\"}, port={\"80\"}) );\r\n}\r\n```\r\n\r\nreload.sh:\r\n```\r\n#!/bin/bash\r\nvarnishadm vcl.load v1 crash.vcl\r\nvarnishadm vcl.use v1\r\nvarnishadm vcl.discard boot\r\nfor i in $(seq 2 100); do\r\nvarnishadm vcl.load v$i crash.vcl\r\nvarnishadm vcl.use v$i\r\nvarnishadm vcl.discard v$((i-1))\r\nsleep 0.1\r\ndone\r\n```\r\n\r\n```\r\nvarnishd -F -j none -p \"debug=+vmod_so_keep\" -a :12333 -f crash.vcl\r\nreload.sh\r\n```\r\n\r\nAnd with this I can systematically reproduce the panic and get the trace.\r\n\r\n","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/109/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/109/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/110","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/110/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/110/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/110/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/110","id":2106304036,"node_id":"I_kwDOBBOOTM59i6Yk","number":110,"title":"deadlock between lookup thread / VRT_AddDirector() and VDI_Event(..., VCL_EVENT_COLD)","user":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2024-01-29T19:56:19Z","updated_at":"2024-02-05T23:46:49Z","closed_at":"2024-02-05T23:46:49Z","author_association":"OWNER","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"@delthas reported another issue based on a test case which I could have looked at in more detail earlier (I did not because I did not want to use `example.com`, but I really should have):\r\n\r\n(I have slightly modified the test case - @delthas, do you agree to add it?)\r\n\r\n```\r\nvarnishtest \"Reloading after creating backend in init\"\r\n\r\nfeature cmd \"getent hosts example.com\"\r\n\r\n# contributed by delthas, added with minor modifications\r\n\r\nshell {\r\n\tcat >${tmpdir}/f1 <<-EOF\r\n\tvcl 4.1;\r\n\timport ${vmod_dynamic};\r\n\timport directors;\r\n\r\n\tbackend none none;\r\n\r\n\tsub vcl_init {\r\n\t\tnew dir = directors.fallback();\r\n\t\tnew res = dynamic.resolver();\r\n\t\tnew dyn = dynamic.director(domain_usage_timeout = 0.1s, resolver = res.use());\r\n\t\tdir.add_backend(dyn.backend(host={\"example.com\"}, port={\"80\"}) );\r\n\t}\r\n\tEOF\r\n}\r\n\r\nvarnish v1 -cliok \"vcl.load vcl1 ${tmpdir}/f1\"\r\nvarnish v1 -cliok \"vcl.use vcl1\"\r\nvarnish v1 -cliok \"start\"\r\n\r\nvarnish v1 -cliok \"vcl.load vcl2 ${tmpdir}/f1\"\r\nvarnish v1 -cliok \"vcl.use vcl2\"\r\nvarnish v1 -cliok \"vcl.discard vcl1\"\r\n```\r\n\r\nthe issue here is that `VDI_Event(..., VCL_EVENT_COLD)` waits for the lookup threads to finish while holding the `vcl_mtx`, which prevents the lookup threads to ... finish:\r\n\r\n```c\r\n#5 0x00007fa9c72b0e76 in dom_event (dir=, ev=) at vmod_dynamic.c:1041\r\n#6 0x000055d6f1c1e84d in VDI_Event (d=0x7fa9c6e1e7d0, ev=VCL_EVENT_COLD) at cache/cache_director.c:277\r\n#7 0x000055d6f1c61bfc in vcl_BackendEvent (vcl=0x7fa9c6e451e0, e=VCL_EVENT_COLD) at cache/cache_vcl.c:449\r\n#8 0x000055d6f1c61068 in vcl_set_state (vcl=0x7fa9c6e451e0, state=0x7fa9c6e28390 \"0cold\", msg=0x7ffc69699e08) at cache/cache_vcl.c:597\r\n#9 0x000055d6f1c62905 in vcl_cli_state (cli=0x7fa9c6ed29d0, av=0x7fa9c6e2c580, priv=0x0) at cache/cache_vcl.c:861\r\n#10 0x000055d6f1d11f22 in cls_dispatch (cli=0x7fa9c6ed29d0, cs=0x7fa9c6e22b30, av=0x7fa9c6e2c580, ac=3) at vcli_serve.c:273\r\n#11 0x000055d6f1d11a0d in cls_exec (cfd=0x7fa9c6ed29a0, av=0x7fa9c6e2c580, ac=3) at vcli_serve.c:324\r\n#12 0x000055d6f1d108a6 in cls_feed (cfd=0x7fa9c6ed29a0, p=0x7ffc69699f94 \"\\n2.1706557731.695251/vgc.so 1auto\\no\\nloneTable\", \r\n e=0x7ffc69699f95 \"2.1706557731.695251/vgc.so 1auto\\no\\nloneTable\") at vcli_serve.c:412\r\n#13 0x000055d6f1d1036a in VCLS_Poll (cs=0x7fa9c6e22b30, cli=0x7fa9c6ed29d0, timeout=-1) at vcli_serve.c:617\r\n#14 0x000055d6f1c18c12 in CLI_Run () at cache/cache_cli.c:110\r\n```\r\n\r\n```c\r\n#4 0x000055d6f1c40ca4 in Lck__Lock (lck=0x55d6f1db57f8 , p=0x55d6f1d45aec \"VRT_AddDirector\", l=212) at cache/cache_lck.c:124\r\n#5 0x000055d6f1c7bfd3 in VRT_AddDirector (ctx=0x7fa9bbd7df90, m=0x55d6f1da7260 , priv=0x7fa9ba821780, \r\n fmt=0x55d6f1d42f7f \"%s\") at cache/cache_vrt_vcl.c:212\r\n#6 0x000055d6f1c09c4d in VRT_new_backend_clustered (ctx=0x7fa9bbd7df90, vc=0x0, vrt=0x7fa9bbd7deb0, via=0x0)\r\n at cache/cache_backend.c:737\r\n#7 0x000055d6f1c0a632 in VRT_new_backend (ctx=0x7fa9bbd7df90, vrt=0x7fa9bbd7deb0, via=0x0) at cache/cache_backend.c:755\r\n#8 0x00007fa9c72b24b4 in ref_add (r=0x7fa9ba827720, ctx=0x7fa9bbd7df90) at vmod_dynamic.c:617\r\n#9 dom_update (now=1706557732.7551613, priv=, res=0x7fa9c72c2ba0 , dom=0x7fa9c6e44100)\r\n at vmod_dynamic.c:728\r\n#10 dom_lookup_thread (priv=0x7fa9c6e44100) at vmod_dynamic.c:819\r\n#11 0x00007fa9c77c9044 in start_thread (arg=) at ./nptl/pthread_create.c:442\r\n#12 0x00007fa9c784961c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81\r\n```\r\n","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/110/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/110/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/111","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/111/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/111/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/111/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/111","id":2138443008,"node_id":"I_kwDOBBOOTM5_dg0A","number":111,"title":"unit test issues tests/service/basic","user":{"login":"halittiryaki","id":29786283,"node_id":"MDQ6VXNlcjI5Nzg2Mjgz","avatar_url":"https://avatars.githubusercontent.com/u/29786283?v=4","gravatar_id":"","url":"https://api.github.com/users/halittiryaki","html_url":"https://github.com/halittiryaki","followers_url":"https://api.github.com/users/halittiryaki/followers","following_url":"https://api.github.com/users/halittiryaki/following{/other_user}","gists_url":"https://api.github.com/users/halittiryaki/gists{/gist_id}","starred_url":"https://api.github.com/users/halittiryaki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/halittiryaki/subscriptions","organizations_url":"https://api.github.com/users/halittiryaki/orgs","repos_url":"https://api.github.com/users/halittiryaki/repos","events_url":"https://api.github.com/users/halittiryaki/events{/privacy}","received_events_url":"https://api.github.com/users/halittiryaki/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2024-02-16T11:49:12Z","updated_at":"2024-02-17T20:51:46Z","closed_at":"2024-02-17T20:51:46Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"tests/service/basic always fails. any ideas why?\r\n\r\nhere is the log output:\r\n\r\n```\r\n113.2 FAIL: tests/service/basic\r\n113.2 =========================\r\n113.2 \r\n113.2 **** dT 0.000\r\n113.2 * top TEST ./tests/service/basic.vtc starting\r\n113.2 **** top extmacro def pkg_version=7.4.2\r\n113.2 **** top extmacro def pkg_branch=7.4\r\n113.2 **** top extmacro def pwd=/usr/src/libvmod-dynamic/src\r\n113.2 **** top extmacro def date(...)\r\n113.2 **** top extmacro def string(...)\r\n113.2 **** top extmacro def vmod_dynamic=dynamic from \"/usr/src/libvmod-dynamic/src/.libs/libvmod_dynamic.so\"\r\n113.2 **** top extmacro def localhost=127.0.0.1\r\n113.2 **** top extmacro def bad_backend=127.0.0.1:34783\r\n113.2 **** top extmacro def listen_addr=127.0.0.1:0\r\n113.2 **** top extmacro def bad_ip=192.0.2.255\r\n113.2 **** top macro def testdir=/usr/src/libvmod-dynamic/src/./tests/service\r\n113.2 **** top macro def tmpdir=/tmp/vtc.6616.0c8774d2\r\n113.2 **** top macro def vtcid=vtc.6616.0c8774d2\r\n113.2 ** top === varnishtest \"service smoke test\"\r\n113.2 * top VTEST service smoke test\r\n113.2 ** top === feature cmd {dig @b.root-servers.net. a.root-servers.net. >/...\r\n113.2 **** dT 0.162\r\n113.2 ** top === varnish v1 -vcl {\r\n113.2 **** dT 0.163\r\n113.2 ** v1 Launch\r\n113.2 *** v1 CMD: cd ${pwd} && exec varnishd -d -n /tmp/vtc.6616.0c8774d2/v1 -i v1 -p debug=+vcl_keep -p debug=+vmod_so_keep -p debug=+vsm_keep -l 2m -p auto_restart=off -p syslog_cli_traffic=off -p thread_pool_min=10 -p debug=+vtc_mode -p vsl_mask=+Debug,+H2RxHdr,+H2RxBody -p h2_initial_window_size=1m -p h2_rx_window_low_water=64k -a '127.0.0.1:0' -M '127.0.0.1 32961' -P /tmp/vtc.6616.0c8774d2/v1/varnishd.pid \r\n113.2 *** v1 CMD: cd /usr/src/libvmod-dynamic/src && exec varnishd -d -n /tmp/vtc.6616.0c8774d2/v1 -i v1 -p debug=+vcl_keep -p debug=+vmod_so_keep -p debug=+vsm_keep -l 2m -p auto_restart=off -p syslog_cli_traffic=off -p thread_pool_min=10 -p debug=+vtc_mode -p vsl_mask=+Debug,+H2RxHdr,+H2RxBody -p h2_initial_window_size=1m -p h2_rx_window_low_water=64k -a '127.0.0.1:0' -M '127.0.0.1 32961' -P /tmp/vtc.6616.0c8774d2/v1/varnishd.pid \r\n113.2 *** v1 PID: 6625\r\n113.2 **** v1 macro def v1_pid=6625\r\n113.2 **** v1 macro def v1_name=/tmp/vtc.6616.0c8774d2/v1\r\n113.2 **** dT 0.170\r\n113.2 *** v1 debug|Debug: Version: varnish-7.4.2 revision cd1d10ab53a6f6115b2b4f3b2a1da94c1f749f80\r\n113.2 *** v1 debug|Debug: Platform: Linux,6.1.21.2-microsoft-standard-WSL2+,x86_64,-jnone,-sdefault,-sdefault,-hcritbit\r\n113.2 *** v1 debug|200 334 \r\n113.2 *** v1 debug|-----------------------------\r\n113.2 *** v1 debug|Varnish Cache CLI 1.0\r\n113.2 *** v1 debug|-----------------------------\r\n113.2 *** v1 debug|Linux,6.1.21.2-microsoft-standard-WSL2+,x86_64,-jnone,-sdefault,-sdefault,-hcritbit\r\n113.2 *** v1 debug|varnish-7.4.2 revision cd1d10ab53a6f6115b2b4f3b2a1da94c1f749f80\r\n113.2 *** v1 debug|\r\n113.2 *** v1 debug|Type 'help' for command list.\r\n113.2 *** v1 debug|Type 'quit' to close CLI session.\r\n113.2 *** v1 debug|Type 'start' to launch worker process.\r\n113.2 *** v1 debug|\r\n113.2 **** dT 0.270\r\n113.2 **** v1 CLIPOLL 1 0x1 0x0 0x0\r\n113.2 *** v1 CLI connection fd = 5\r\n113.2 *** v1 CLI RX 107\r\n113.2 **** v1 CLI RX|drotryltqdjwwoecnnqazieftftfdooh\r\n113.2 **** v1 CLI RX|\r\n113.2 **** v1 CLI RX|Authentication required.\r\n113.2 **** v1 CLI TX|auth b5df73e06088d59c977725d021704506e8320db5b28ea9b8bd8dd729867e78c6\r\n113.2 *** v1 CLI RX 200\r\n113.2 **** v1 CLI RX|-----------------------------\r\n113.2 **** v1 CLI RX|Varnish Cache CLI 1.0\r\n113.2 **** v1 CLI RX|-----------------------------\r\n113.2 **** v1 CLI RX|Linux,6.1.21.2-microsoft-standard-WSL2+,x86_64,-jnone,-sdefault,-sdefault,-hcritbit\r\n113.2 **** v1 CLI RX|varnish-7.4.2 revision cd1d10ab53a6f6115b2b4f3b2a1da94c1f749f80\r\n113.2 **** v1 CLI RX|\r\n113.2 **** v1 CLI RX|Type 'help' for command list.\r\n113.2 **** v1 CLI RX|Type 'quit' to close CLI session.\r\n113.2 **** v1 CLI RX|Type 'start' to launch worker process.\r\n113.2 **** v1 CLI TX|vcl.inline vcl1 << %XJEIFLH|)Xspa8P\r\n113.2 **** v1 CLI TX|vcl 4.1;\r\n113.2 **** v1 CLI TX|\r\n113.2 **** v1 CLI TX|\\timport dynamic from \"/usr/src/libvmod-dynamic/src/.libs/libvmod_dynamic.so\";\r\n113.2 **** v1 CLI TX|\r\n113.2 **** v1 CLI TX|\\tbackend proforma none;\r\n113.2 **** v1 CLI TX|\r\n113.2 **** v1 CLI TX|\\tsub vcl_init {\r\n113.2 **** v1 CLI TX|\\t\\tnew r1 = dynamic.resolver();\r\n113.2 **** v1 CLI TX|\\t\\tnew d1 = dynamic.director(\r\n113.2 **** v1 CLI TX|\\t\\t resolver = r1.use());\r\n113.2 **** v1 CLI TX|\\t\\td1.debug(true);\r\n113.2 **** v1 CLI TX|\\t}\r\n113.2 **** v1 CLI TX|\r\n113.2 **** v1 CLI TX|\\tsub vcl_recv {\r\n113.2 **** v1 CLI TX|\\t\\tset req.backend_hint =\r\n113.2 **** v1 CLI TX|\\t\\t d1.service(\"_test._tcp.vmod-dynamic.uplex.de\");\r\n113.2 **** v1 CLI TX|\\t\\tset req.http.Host = \"varnish-cache.org\";\r\n113.2 **** v1 CLI TX|\\t}\r\n113.2 **** v1 CLI TX|\r\n113.2 **** v1 CLI TX|\\tsub vcl_backend_fetch {\r\n113.2 **** v1 CLI TX|\\t\\tset bereq.first_byte_timeout = 1s;\r\n113.2 **** v1 CLI TX|\\t\\tset bereq.connect_timeout = 1s;\r\n113.2 **** v1 CLI TX|\\t}\r\n113.2 **** v1 CLI TX|\r\n113.2 **** v1 CLI TX|\\tsub vcl_backend_response {\r\n113.2 **** v1 CLI TX|\\t\\tset beresp.http.backend = beresp.backend;\r\n113.2 **** v1 CLI TX|\\t}\r\n113.2 **** v1 CLI TX|\r\n113.2 **** v1 CLI TX|\\tsub vcl_backend_error {\r\n113.2 **** v1 CLI TX|\\t\\tset beresp.http.backend = beresp.backend;\r\n113.2 **** v1 CLI TX|\\t}\r\n113.2 **** v1 CLI TX|\r\n113.2 **** v1 CLI TX|%XJEIFLH|)Xspa8P\r\n113.2 **** dT 0.371\r\n113.2 *** v1 vsl|No VSL chunk found (child not started ?)\r\n113.2 **** dT 0.471\r\n113.2 *** v1 vsl|No VSL chunk found (child not started ?)\r\n113.2 **** dT 0.571\r\n113.2 *** v1 vsl|No VSL chunk found (child not started ?)\r\n113.2 **** dT 0.662\r\n113.2 *** v1 CLI RX 200\r\n113.2 **** v1 CLI RX|VCL compiled.\r\n113.2 **** v1 CLI TX|vcl.use vcl1\r\n113.2 **** dT 0.663\r\n113.2 *** v1 CLI RX 200\r\n113.2 **** v1 CLI RX|VCL 'vcl1' now active\r\n113.2 ** v1 Start\r\n113.2 **** v1 CLI TX|start\r\n113.2 **** dT 0.671\r\n113.2 *** v1 vsl|No VSL chunk found (child not started ?)\r\n113.2 **** dT 0.706\r\n113.2 *** v1 debug|Debug: Child (6639) Started\r\n113.2 **** dT 0.730\r\n113.2 *** v1 debug|Child launched OK\r\n113.2 **** dT 0.736\r\n113.2 *** v1 CLI RX 200\r\n113.2 *** v1 debug|Info: Child (6639) said Child starts\r\n113.2 *** v1 wait-running\r\n113.2 **** v1 CLI TX|status\r\n113.2 **** dT 0.772\r\n113.2 **** v1 vsl| 0 CLI - Rd vcl.load \"vcl1\" vcl_vcl1.1708082841.201980/vgc.so 1auto\r\n113.2 **** v1 vsl| 0 CLI - Wr 200 52 Loaded \"vcl_vcl1.1708082841.201980/vgc.so\" as \"vcl1\"\r\n113.2 **** v1 vsl| 0 CLI - Rd vcl.use \"vcl1\"\r\n113.2 **** v1 vsl| 0 CLI - Wr 200 0 \r\n113.2 **** v1 vsl| 0 CLI - Rd start\r\n113.2 **** v1 vsl| 0 Debug - sockopt: Setting SO_LINGER for a0=127.0.0.1:38125\r\n113.2 **** v1 vsl| 0 Debug - sockopt: Setting SO_KEEPALIVE for a0=127.0.0.1:38125\r\n113.2 **** v1 vsl| 0 Debug - sockopt: Setting SO_SNDTIMEO for a0=127.0.0.1:38125\r\n113.2 **** v1 vsl| 0 Debug - sockopt: Setting SO_RCVTIMEO for a0=127.0.0.1:38125\r\n113.2 **** v1 vsl| 0 Debug - sockopt: Setting TCP_NODELAY for a0=127.0.0.1:38125\r\n113.2 **** v1 vsl| 0 Debug - sockopt: Setting TCP_KEEPIDLE for a0=127.0.0.1:38125\r\n113.2 **** v1 vsl| 0 Debug - sockopt: Setting TCP_KEEPCNT for a0=127.0.0.1:38125\r\n113.2 **** v1 vsl| 0 Debug - sockopt: Setting TCP_KEEPINTVL for a0=127.0.0.1:38125\r\n113.2 **** v1 vsl| 0 CLI - Wr 200 0 \r\n113.2 **** dT 0.785\r\n113.2 *** v1 CLI RX 200\r\n113.2 **** v1 CLI RX|Child in state running\r\n113.2 **** v1 CLI TX|debug.listen_address\r\n113.2 **** dT 0.835\r\n113.2 *** v1 CLI RX 200\r\n113.2 **** v1 CLI RX|a0 127.0.0.1 38125\r\n113.2 **** v1 CLI TX|debug.xid 1000\r\n113.2 **** dT 0.872\r\n113.2 **** v1 vsl| 0 CLI - Rd debug.listen_address \r\n113.2 **** v1 vsl| 0 CLI - Wr 200 19 a0 127.0.0.1 38125\r\n113.2 \r\n113.2 **** dT 0.885\r\n113.2 *** v1 CLI RX 200\r\n113.2 **** v1 CLI RX|XID is 1000 chunk 1\r\n113.2 **** v1 CLI TX|debug.listen_address\r\n113.2 **** dT 0.935\r\n113.2 *** v1 CLI RX 200\r\n113.2 **** v1 CLI RX|a0 127.0.0.1 38125\r\n113.2 ** v1 Listen on 127.0.0.1 38125\r\n113.2 **** v1 macro def v1_addr=127.0.0.1\r\n113.2 **** v1 macro def v1_port=38125\r\n113.2 **** v1 macro def v1_sock=127.0.0.1:38125\r\n113.2 **** v1 macro def v1_a0_addr=127.0.0.1\r\n113.2 **** v1 macro def v1_a0_port=38125\r\n113.2 **** v1 macro def v1_a0_sock=127.0.0.1:38125\r\n113.2 ** top === varnish v1 -cli \"backend.list\"\r\n113.2 **** v1 CLI TX|backend.list\r\n113.2 **** dT 0.972\r\n113.2 **** v1 vsl| 0 CLI - Rd debug.xid 1000 \r\n113.2 **** v1 vsl| 0 CLI - Wr 200 19 XID is 1000 chunk 1\r\n113.2 **** v1 vsl| 0 CLI - Rd debug.listen_address \r\n113.2 **** v1 vsl| 0 CLI - Wr 200 19 a0 127.0.0.1 38125\r\n113.2 \r\n113.2 **** dT 0.985\r\n113.2 *** v1 CLI RX 200\r\n113.2 **** v1 CLI RX|Backend name Admin Probe Health Last change\r\n113.2 ** v1 CLI 200 \r\n113.2 ** top === client c1 {\r\n113.2 ** c1 Starting client\r\n113.2 ** c1 Waiting for client\r\n113.2 ** c1 Started on 127.0.0.1:38125 (1 iterations)\r\n113.2 *** c1 Connect to 127.0.0.1:38125\r\n113.2 *** c1 connected fd 15 from 127.0.0.1 55250 to 127.0.0.1:38125\r\n113.2 ** c1 === txreq\r\n113.2 **** c1 txreq|GET / HTTP/1.1\\r\r\n113.2 **** c1 txreq|Host: 127.0.0.1\\r\r\n113.2 **** c1 txreq|User-Agent: c1\\r\r\n113.2 **** c1 txreq|\\r\r\n113.2 ** c1 === rxresp\r\n113.2 **** dT 0.992\r\n113.2 **** c1 rxhdrlen = 0\r\n113.2 ---- c1 HTTP header is incomplete\r\n113.2 * top RESETTING after ./tests/service/basic.vtc\r\n113.2 ** v1 Wait\r\n113.2 **** v1 CLI TX|panic.show\r\n113.2 *** v1 debug|Error: Child (6639) died signal=11\r\n113.2 **** dT 0.993\r\n113.2 *** v1 debug|Debug: Child cleanup complete\r\n113.2 **** dT 1.035\r\n113.2 *** v1 CLI RX 300\r\n113.2 **** v1 CLI RX|Child has not panicked or panic has been cleared\r\n113.2 *** v1 debug|Info: manager stopping child\r\n113.2 *** v1 debug|Info: manager dies\r\n113.2 **** dT 1.038\r\n113.2 **** v1 STDOUT EOF\r\n113.2 **** dT 1.072\r\n113.2 **** v1 vsl| 0 CLI - Rd backend.list \r\n113.2 **** v1 vsl| 0 CLI - Wr 200 55 Backend name Admin Probe Health Last change\r\n113.2 \r\n113.2 **** v1 vsl| 1000 Begin c sess 0 HTTP/1\r\n113.2 **** v1 vsl| 1000 SessOpen c 127.0.0.1 55250 a0 127.0.0.1 38125 1708082841.917190 22\r\n113.2 **** v1 vsl| 1000 Debug c sockopt: SO_LINGER may be inherited for a0=127.0.0.1:38125\r\n113.2 **** v1 vsl| 1000 Debug c sockopt: SO_KEEPALIVE may be inherited for a0=127.0.0.1:38125\r\n113.2 **** v1 vsl| 1000 Debug c sockopt: SO_SNDTIMEO may be inherited for a0=127.0.0.1:38125\r\n113.2 **** v1 vsl| 1000 Debug c sockopt: SO_RCVTIMEO may be inherited for a0=127.0.0.1:38125\r\n113.2 **** v1 vsl| 1000 Debug c sockopt: TCP_NODELAY may be inherited for a0=127.0.0.1:38125\r\n113.2 **** v1 vsl| 1000 Debug c sockopt: TCP_KEEPIDLE may be inherited for a0=127.0.0.1:38125\r\n113.2 **** v1 vsl| 1000 Debug c sockopt: TCP_KEEPCNT may be inherited for a0=127.0.0.1:38125\r\n113.2 **** v1 vsl| 1000 Debug c sockopt: TCP_KEEPINTVL may be inherited for a0=127.0.0.1:38125\r\n113.2 **** v1 vsl| 1000 Link c req 1001 rxreq\r\n113.2 **** v1 vsl| 0 Debug - vmod-dynamic vcl1 d1 _test._tcp.vmod-dynamic.uplex.de event 1\r\n113.2 **** v1 vsl| 0 Debug - vmod-dynamic vcl1 d1 _test._tcp.vmod-dynamic.uplex.de event 1\r\n113.2 **** v1 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(srv _test._tcp.vmod-dynamic.uplex.de) Lookup: 1708082841.917460 0.000000 0.000000\r\n113.2 **** v1 vsl| 0 Debug - vmod-dynamic vcl1 d1 _test._tcp.vmod-dynamic.uplex.de wait-active\r\n113.2 ** v1 WAIT4 pid=6625 status=0x4000 (user 0.332437 sys 0.094343)\r\n113.2 * v1 Expected exit: 0x0 signal: 0 core: 0\r\n113.2 ---- v1 Bad exit status: 0x4000 exit 0x40 signal 0 core 0\r\n113.2 * top failure during reset\r\n113.2 # top TEST ./tests/service/basic.vtc FAILED (1.073) exit=2\r\n113.2 FAIL tests/service/basic.vtc (exit status: 2)\r\n```","closed_by":{"login":"halittiryaki","id":29786283,"node_id":"MDQ6VXNlcjI5Nzg2Mjgz","avatar_url":"https://avatars.githubusercontent.com/u/29786283?v=4","gravatar_id":"","url":"https://api.github.com/users/halittiryaki","html_url":"https://github.com/halittiryaki","followers_url":"https://api.github.com/users/halittiryaki/followers","following_url":"https://api.github.com/users/halittiryaki/following{/other_user}","gists_url":"https://api.github.com/users/halittiryaki/gists{/gist_id}","starred_url":"https://api.github.com/users/halittiryaki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/halittiryaki/subscriptions","organizations_url":"https://api.github.com/users/halittiryaki/orgs","repos_url":"https://api.github.com/users/halittiryaki/repos","events_url":"https://api.github.com/users/halittiryaki/events{/privacy}","received_events_url":"https://api.github.com/users/halittiryaki/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/111/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/111/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/112","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/112/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/112/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/112/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/112","id":2149582378,"node_id":"I_kwDOBBOOTM6AIAYq","number":112,"title":"Use after free in layer_reolad.vtc from Debug messages","user":{"login":"stevendore","id":19986241,"node_id":"MDQ6VXNlcjE5OTg2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/19986241?v=4","gravatar_id":"","url":"https://api.github.com/users/stevendore","html_url":"https://github.com/stevendore","followers_url":"https://api.github.com/users/stevendore/followers","following_url":"https://api.github.com/users/stevendore/following{/other_user}","gists_url":"https://api.github.com/users/stevendore/gists{/gist_id}","starred_url":"https://api.github.com/users/stevendore/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stevendore/subscriptions","organizations_url":"https://api.github.com/users/stevendore/orgs","repos_url":"https://api.github.com/users/stevendore/repos","events_url":"https://api.github.com/users/stevendore/events{/privacy}","received_events_url":"https://api.github.com/users/stevendore/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2024-02-22T17:40:07Z","updated_at":"2024-03-07T21:04:32Z","closed_at":"2024-03-07T21:04:32Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"When running `layer_reolad.vtc` with ASAN CFLAGS, ASAN finds a `heap-use-after-free` in `dom_destroy()`. This is found using latest Varnish Cache and latest libvmod dynamic. The issue could be hidden by allocating the fallback director after the dynamic director, this results in the director/domain being freed in the \"right\" order.\r\n\r\nSteps to reproduce:\r\n1. Configure varnish with `--enable-asan` and then before make set enviorment vairables `ASAN_OPTIONS=abort_on_error=1,detect_odr_violation=1,detect_leaks=1,detect_stack_use_after_return=1,detect_invalid_pointer_pairs=1,handle_segv=0,handle_sigbus=0,use_sigaltstack=0,disable_coredump=0` and `LSAN_OPTIONS=abort_on_error=1,use_sigaltstack=0,suppressions=${path_to}/varnish-cache/tools/lsan.suppr`\r\n2. configure libvmod-dynamic with `CFLAGS='-fsanitize=address' ./configure` and export the same SAN options as Varnish \r\n3. run make check\r\n\r\nCollapsible VTC Log: \r\n
\r\n toggle view log\r\n\r\n```\r\n\r\n**** dT 0.000\r\n* top TEST ./tests/layer_reload.vtc starting\r\n**** top extmacro def pkg_version=trunk\r\n**** top extmacro def pkg_branch=trunk\r\n**** top extmacro def pwd=/home/swojcik/code/libvmod-dynamic/src\r\n**** top extmacro def date(...)\r\n**** top extmacro def string(...)\r\n**** top extmacro def vmod_dynamic=dynamic from \"/home/swojcik/code/libvmod-dynamic/src/.libs/libvmod_dynamic.so\"\r\n**** top extmacro def localhost=127.0.0.1\r\n**** top extmacro def bad_backend=127.0.0.1:41381\r\n**** top extmacro def listen_addr=127.0.0.1:0\r\n**** top extmacro def bad_ip=192.0.2.255\r\n**** top macro def testdir=/home/swojcik/code/libvmod-dynamic/src/./tests\r\n**** top macro def tmpdir=/tmp/vtc.2872792.2223da65\r\n**** top macro def vtcid=vtc.2872792.2223da65\r\n** top === varnishtest \"Reloading after creating backend in init\"\r\n* top VTEST Reloading after creating backend in init\r\n** top === feature cmd \"getent hosts example.com\"\r\n**** dT 0.024\r\n** top === shell {\r\n**** top shell_cmd|exec 2>&1 ; \r\n**** top shell_cmd|\\tcat >/tmp/vtc.2872792.2223da65/f1 <<-EOF\r\n**** top shell_cmd|\\tvcl 4.1;\r\n**** top shell_cmd|\\timport dynamic from \"/home/swojcik/code/libvmod-dynamic/src/.libs/libvmod_dynamic.so\";\r\n**** top shell_cmd|\\timport directors;\r\n**** top shell_cmd|\r\n**** top shell_cmd|\\tbackend none none;\r\n**** top shell_cmd|\r\n**** top shell_cmd|\\tsub vcl_init {\r\n**** top shell_cmd|\\t\\tnew dir = directors.fallback();\r\n**** top shell_cmd|\\t\\tnew res = dynamic.resolver();\r\n**** top shell_cmd|\\t\\tnew dyn = dynamic.director(domain_usage_timeout = 0.1s, resolver = res.use());\r\n**** top shell_cmd|\\t\\tdir.add_backend(dyn.backend(host={\"example.com\"}, port={\"80\"}) );\r\n**** top shell_cmd|\\t}\r\n**** top shell_cmd|\\tEOF\r\n**** dT 0.028\r\n**** top shell_status = 0x0000\r\n** top === varnish v1 -cliok \"vcl.load vcl1 ${tmpdir}/f1\"\r\n**** dT 0.033\r\n** v1 Launch\r\n*** v1 CMD: cd ${pwd} && exec varnishd -d -n /tmp/vtc.2872792.2223da65/v1 -i v1 -p debug=+vcl_keep -p debug=+vmod_so_keep -p debug=+vsm_keep -l 2m -p auto_restart=off -p syslog_cli_traffic=off -p thread_pool_min=10 -p debug=+vtc_mode -p vsl_mask=+Debug,+H2RxHdr,+H2RxBody -p h2_initial_window_size=1m -p h2_rx_window_low_water=64k -a '127.0.0.1:0' -M '127.0.0.1 38685' -P /tmp/vtc.2872792.2223da65/v1/varnishd.pid \r\n*** v1 CMD: cd /home/swojcik/code/libvmod-dynamic/src && exec varnishd -d -n /tmp/vtc.2872792.2223da65/v1 -i v1 -p debug=+vcl_keep -p debug=+vmod_so_keep -p debug=+vsm_keep -l 2m -p auto_restart=off -p syslog_cli_traffic=off -p thread_pool_min=10 -p debug=+vtc_mode -p vsl_mask=+Debug,+H2RxHdr,+H2RxBody -p h2_initial_window_size=1m -p h2_rx_window_low_water=64k -a '127.0.0.1:0' -M '127.0.0.1 38685' -P /tmp/vtc.2872792.2223da65/v1/varnishd.pid \r\n**** dT 0.034\r\n*** v1 PID: 2872812\r\n**** v1 macro def v1_pid=2872812\r\n**** v1 macro def v1_name=/tmp/vtc.2872792.2223da65/v1\r\n**** dT 0.054\r\n*** v1 debug|Debug: Version: varnish-trunk revision d77da13b9baf268196075bda0808d0d2e8721470\r\n*** v1 debug|Debug: Platform: Linux,6.5.0-17-generic,x86_64,-jnone,-sdefault,-sdefault,-hcritbit\r\n*** v1 debug|200 317 \r\n*** v1 debug|-----------------------------\r\n*** v1 debug|Varnish Cache CLI 1.0\r\n*** v1 debug|-----------------------------\r\n*** v1 debug|Linux,6.5.0-17-generic,x86_64,-jnone,-sdefault,-sdefault,-hcritbit\r\n*** v1 debug|varnish-trunk revision d77da13b9baf268196075bda0808d0d2e8721470\r\n*** v1 debug|\r\n*** v1 debug|Type 'help' for command list.\r\n*** v1 debug|Type 'quit' to close CLI session.\r\n*** v1 debug|Type 'start' to launch worker process.\r\n*** v1 debug|\r\n**** dT 0.153\r\n**** v1 CLIPOLL 1 0x1 0x0 0x0\r\n*** v1 CLI connection fd = 4\r\n**** dT 0.154\r\n*** v1 CLI RX 107\r\n**** v1 CLI RX|ygvcsiionoelhdqmokrfteicbjzhrzuc\r\n**** v1 CLI RX|\r\n**** v1 CLI RX|Authentication required.\r\n**** v1 CLI TX|auth 90608ea81d2bbbfa7774fd79c416390009fbabba31979c1a26762f0a0fe266fd\r\n**** dT 0.155\r\n*** v1 CLI RX 200\r\n**** v1 CLI RX|-----------------------------\r\n**** v1 CLI RX|Varnish Cache CLI 1.0\r\n**** v1 CLI RX|-----------------------------\r\n**** v1 CLI RX|Linux,6.5.0-17-generic,x86_64,-jnone,-sdefault,-sdefault,-hcritbit\r\n**** v1 CLI RX|varnish-trunk revision d77da13b9baf268196075bda0808d0d2e8721470\r\n**** v1 CLI RX|\r\n**** v1 CLI RX|Type 'help' for command list.\r\n**** v1 CLI RX|Type 'quit' to close CLI session.\r\n**** v1 CLI RX|Type 'start' to launch worker process.\r\n**** dT 0.156\r\n**** v1 CLI TX|vcl.load vcl1 /tmp/vtc.2872792.2223da65/f1\r\n**** dT 0.256\r\n*** v1 vsl|No VSL chunk found (child not started ?)\r\n**** dT 0.356\r\n*** v1 vsl|No VSL chunk found (child not started ?)\r\n**** dT 0.456\r\n*** v1 vsl|No VSL chunk found (child not started ?)\r\n**** dT 0.556\r\n*** v1 vsl|No VSL chunk found (child not started ?)\r\n**** dT 0.657\r\n*** v1 vsl|No VSL chunk found (child not started ?)\r\n**** dT 0.757\r\n*** v1 vsl|No VSL chunk found (child not started ?)\r\n**** dT 0.832\r\n*** v1 CLI RX 200\r\n**** v1 CLI RX|Message from VCC-compiler:\r\n**** v1 CLI RX|-----------------------------------------------------\r\n**** v1 CLI RX|Suppressions used:\r\n**** v1 CLI RX| count bytes template\r\n**** v1 CLI RX| 2 136 HSH_config\r\n**** v1 CLI RX| 9 360 vcc_\r\n**** v1 CLI RX|-----------------------------------------------------\r\n**** v1 CLI RX|\r\n**** v1 CLI RX|Message from dlopen:\r\n**** v1 CLI RX|-----------------------------------------------------\r\n**** v1 CLI RX|Suppressions used:\r\n**** v1 CLI RX| count bytes template\r\n**** v1 CLI RX| 2 136 HSH_config\r\n**** v1 CLI RX|-----------------------------------------------------\r\n**** v1 CLI RX|\r\n**** v1 CLI RX|VCL compiled.\r\n** v1 CLI 200 \r\n** top === varnish v1 -cliok \"vcl.use vcl1\"\r\n**** v1 CLI TX|vcl.use vcl1\r\n*** v1 CLI RX 200\r\n**** v1 CLI RX|VCL 'vcl1' now active\r\n** v1 CLI 200 \r\n** top === varnish v1 -cliok \"start\"\r\n**** v1 CLI TX|start\r\n**** dT 0.857\r\n*** v1 vsl|No VSL chunk found (child not started ?)\r\n**** dT 0.875\r\n*** v1 debug|Debug: Child (2872880) Started\r\n**** dT 0.900\r\n*** v1 debug|Child launched OK\r\n**** dT 0.913\r\n*** v1 CLI RX 200\r\n** v1 CLI 200 \r\n** top === varnish v1 -cliok \"vcl.load vcl2 ${tmpdir}/f1\"\r\n*** v1 debug|Info: Child (2872880) said Child starts\r\n**** v1 CLI TX|vcl.load vcl2 /tmp/vtc.2872792.2223da65/f1\r\n**** dT 0.957\r\n**** v1 vsl| 0 CLI - Rd vcl.load \"vcl1\" vcl_vcl1.1708618810.078643/vgc.so 1auto\r\n**** v1 vsl| 0 Timestamp - vmod-dynamic vcl1.dyn(example.com:80) Lookup: 1708618810.794116 0.000000 0.000000\r\n**** v1 vsl| 0 CLI - Wr 200 52 Loaded \"vcl_vcl1.1708618810.078643/vgc.so\" as \"vcl1\"\r\n**** v1 vsl| 0 CLI - Rd vcl.use \"vcl1\"\r\n**** v1 vsl| 0 CLI - Wr 200 0 \r\n**** v1 vsl| 0 CLI - Rd start\r\n**** v1 vsl| 0 Debug - sockopt: Setting SO_LINGER for a0=127.0.0.1:45489\r\n**** v1 vsl| 0 Debug - sockopt: Setting SO_KEEPALIVE for a0=127.0.0.1:45489\r\n**** v1 vsl| 0 Debug - sockopt: Setting SO_SNDTIMEO for a0=127.0.0.1:45489\r\n**** v1 vsl| 0 Debug - sockopt: Setting SO_RCVTIMEO for a0=127.0.0.1:45489\r\n**** v1 vsl| 0 Debug - sockopt: Setting TCP_NODELAY for a0=127.0.0.1:45489\r\n**** v1 vsl| 0 Debug - sockopt: Setting TCP_KEEPIDLE for a0=127.0.0.1:45489\r\n**** v1 vsl| 0 Debug - sockopt: Setting TCP_KEEPCNT for a0=127.0.0.1:45489\r\n**** v1 vsl| 0 Debug - sockopt: Setting TCP_KEEPINTVL for a0=127.0.0.1:45489\r\n**** v1 vsl| 0 CLI - Wr 200 0 \r\n**** v1 vsl| 0 Timestamp - vmod-dynamic vcl1.dyn(example.com:80) Results: 1708618810.802496 0.008379 0.008379\r\n**** v1 vsl| 0 Error - vmod-dynamic vcl1 dyn example.com:80 getdns 901 (Queries for the name yielded all negative responses)\r\n**** dT 1.057\r\n**** v1 vsl| 0 VCL_Log - vmod-dynamic vcl1 dyn example.com:80 timeout\r\n**** v1 vsl| 0 Timestamp - vmod-dynamic vcl1.dyn(example.com:80) Lookup: 1708618810.881813 0.000000 0.000000\r\n**** v1 vsl| 0 Timestamp - vmod-dynamic vcl1.dyn(example.com:80) Results: 1708618810.887776 0.005963 0.005963\r\n**** v1 vsl| 0 Error - vmod-dynamic vcl1 dyn example.com:80 getdns 901 (Queries for the name yielded all negative responses)\r\n**** dT 1.568\r\n*** v1 CLI RX 200\r\n**** v1 CLI RX|Message from VCC-compiler:\r\n**** v1 CLI RX|-----------------------------------------------------\r\n**** v1 CLI RX|Suppressions used:\r\n**** v1 CLI RX| count bytes template\r\n**** v1 CLI RX| 2 136 HSH_config\r\n**** v1 CLI RX| 9 360 vcc_\r\n**** v1 CLI RX|-----------------------------------------------------\r\n**** v1 CLI RX|\r\n**** v1 CLI RX|Message from dlopen:\r\n**** v1 CLI RX|-----------------------------------------------------\r\n**** v1 CLI RX|Suppressions used:\r\n**** v1 CLI RX| count bytes template\r\n**** v1 CLI RX| 2 136 HSH_config\r\n**** v1 CLI RX|-----------------------------------------------------\r\n**** v1 CLI RX|\r\n** v1 CLI 200 \r\n** top === varnish v1 -cliok \"vcl.use vcl2\"\r\n**** v1 CLI TX|vcl.use vcl2\r\n*** v1 CLI RX 200\r\n**** v1 CLI RX|VCL 'vcl2' now active\r\n** v1 CLI 200 \r\n** top === varnish v1 -cliok \"vcl.discard vcl1\"\r\n**** v1 CLI TX|vcl.discard vcl1\r\n**** dT 1.658\r\n**** v1 vsl| 0 CLI - Rd vcl.load vcl2 vcl_vcl2.1708618810.794719/vgc.so 1auto\r\n**** v1 vsl| 0 CLI - Wr 200 52 Loaded \"vcl_vcl2.1708618810.794719/vgc.so\" as \"vcl2\"\r\n**** v1 vsl| 0 Timestamp - vmod-dynamic vcl2.dyn(example.com:80) Lookup: 1708618811.449167 0.000000 0.000000\r\n**** v1 vsl| 0 CLI - Rd vcl.use vcl2\r\n**** v1 vsl| 0 CLI - Wr 200 0 \r\n**** v1 vsl| 0 Timestamp - vmod-dynamic vcl2.dyn(example.com:80) Results: 1708618811.457072 0.007905 0.007905\r\n**** v1 vsl| 0 Error - vmod-dynamic vcl2 dyn example.com:80 getdns 901 (Queries for the name yielded all negative responses)\r\n**** v1 vsl| 0 CLI - Rd vcl.state vcl1 0cold\r\n**** v1 vsl| 0 Timestamp - vmod-dynamic vcl1.dyn(example.com:80) Done: 1708618811.494451 0.000000 0.000000\r\n**** v1 vsl| 0 VCL_Log - vmod-dynamic vcl1 dyn example.com:80 deleted (expired)\r\n**** v1 vsl| 0 CLI - Wr 200 0 \r\n**** v1 vsl| 0 CLI - Rd vcl.discard vcl1\r\n**** dT 1.758\r\n**** v1 vsl| 0 VCL_Log - vmod-dynamic vcl2 dyn example.com:80 timeout\r\n**** v1 vsl| 0 Timestamp - vmod-dynamic vcl2.dyn(example.com:80) Lookup: 1708618811.542969 0.000000 0.000000\r\n**** v1 vsl| 0 Timestamp - vmod-dynamic vcl2.dyn(example.com:80) Results: 1708618811.547853 0.004884 0.004884\r\n**** v1 vsl| 0 Error - vmod-dynamic vcl2 dyn example.com:80 getdns 901 (Queries for the name yielded all negative responses)\r\n**** dT 2.790\r\n*** v1 debug|Error: Child (2872880) not responding to CLI, killed it.\r\n*** v1 CLI RX 200\r\n** v1 CLI 200 \r\n* top RESETTING after ./tests/layer_reload.vtc\r\n** v1 Wait\r\n**** v1 CLI TX|backend.list\r\n*** v1 debug|Info: Child (2872880) said =================================================================\r\n*** v1 debug|Info: Child (2872880) said ==2872880==ERROR: AddressSanitizer: heap-use-after-free on address 0x6120000119c4 at pc 0x7fad9b650290 bp 0x7ffe80f849a0 sp 0x7ffe80f84990\r\n*** v1 debug|Info: Child (2872880) said READ of size 4 at 0x6120000119c4 thread T0\r\n*** v1 debug|Info: Child (2872880) said #0 0x7fad9b65028f in dom_destroy (vmod_cache/_vmod_dynamic.29b766e616262ab0ef9252419367ce48fbf642168ba34fc382b1742a77dac5c4+0x1f28f)\r\n*** v1 debug|Info: Child (2872880) said #1 0x561c4abfd611 in vcldir_retire cache/cache_vrt_vcl.c:287\r\n*** v1 debug|Info: Child (2872880) said #2 0x561c4abfd611 in vcldir_deref cache/cache_vrt_vcl.c:305\r\n*** v1 debug|Info: Child (2872880) said #3 0x561c4ac00754 in VRT_Assign_Backend cache/cache_vrt_vcl.c:343\r\n*** v1 debug|Info: Child (2872880) said #4 0x7fad998559ef in vdir_release /home/swojcik/code/varnish-cache/vmod/vmod_directors.c:99\r\n*** v1 debug|Info: Child (2872880) said #5 0x561c4ac00420 in VRT_DelDirector cache/cache_vrt_vcl.c:321\r\n*** v1 debug|Info: Child (2872880) said #6 0x7fad9ca2fd0b in VGC_Discard /tmp/vtc.2872792.2223da65/v1/vcl_vcl1.1708618810.078643/vgc.c:4194\r\n*** v1 debug|Info: Child (2872880) said #7 0x7fad9ca2fd0b in VGC_Event /tmp/vtc.2872792.2223da65/v1/vcl_vcl1.1708618810.078643/vgc.c:4287\r\n*** v1 debug|Info: Child (2872880) said #8 0x561c4abdb6e5 in vcl_send_event cache/cache_vcl.c:255\r\n*** v1 debug|Info: Child (2872880) said #9 0x561c4abdf9e2 in VCL_Poll cache/cache_vcl.c:736\r\n*** v1 debug|Info: Child (2872880) said #10 0x561c4abe01c4 in vcl_cli_discard cache/cache_vcl.c:903\r\n*** v1 debug|Info: Child (2872880) said #11 0x561c4acd567f in cls_dispatch /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:273\r\n*** v1 debug|Info: Child (2872880) said #12 0x561c4acd567f in cls_exec /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:324\r\n*** v1 debug|Info: Child (2872880) said #13 0x561c4acd6335 in cls_feed /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:412\r\n*** v1 debug|Info: Child (2872880) said #14 0x561c4acd6335 in VCLS_Poll /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:617\r\n*** v1 debug|Info: Child (2872880) said #15 0x561c4ab66923 in CLI_Run cache/cache_cli.c:110\r\n*** v1 debug|Info: Child (2872880) said #16 0x561c4abac4d9 in child_main cache/cache_main.c:467\r\n*** v1 debug|Info: Child (2872880) said #17 0x561c4ac482df in mgt_launch_child mgt/mgt_child.c:402\r\n*** v1 debug|Info: Child (2872880) said #18 0x561c4acd567f in cls_dispatch /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:273\r\n*** v1 debug|Info: Child (2872880) said #19 0x561c4acd567f in cls_exec /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:324\r\n*** v1 debug|Info: Child (2872880) said #20 0x561c4acd6335 in cls_feed /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:412\r\n*** v1 debug|Info: Child (2872880) said #21 0x561c4acd6335 in VCLS_Poll /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:617\r\n*** v1 debug|Info: Child (2872880) said #22 0x561c4acda316 in VEV_Once /home/swojcik/code/varnish-cache/lib/libvarnish/vev.c:466\r\n*** v1 debug|Info: Child (2872880) said #23 0x561c4acda687 in VEV_Loop /home/swojcik/code/varnish-cache/lib/libvarnish/vev.c:354\r\n*** v1 debug|Info: Child (2872880) said #24 0x561c4ab47691 in main mgt/mgt_main.c:995\r\n*** v1 debug|Info: Child (2872880) said #25 0x7fadb3829d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58\r\n*** v1 debug|Info: Child (2872880) said #26 0x7fadb3829e3f in __libc_start_main_impl ../csu/libc-start.c:392\r\n*** v1 debug|Info: Child (2872880) said #27 0x561c4ab48834 in _start (/opt/varnish/os-main-asan/sbin/varnishd+0x11f834)\r\n*** v1 debug|Info: Child (2872880) said \r\n*** v1 debug|Info: Child (2872880) said 0x6120000119c4 is located 260 bytes inside of 264-byte region [0x6120000118c0,0x6120000119c8)\r\n*** v1 debug|Info: Child (2872880) said freed by thread T0 here:\r\n*** v1 debug|Info: Child (2872880) said #0 0x7fadb40b4537 in __interceptor_free ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:127\r\n*** v1 debug|Info: Child (2872880) said #1 0x7fad9b6540ff in vmod_director__fini (vmod_cache/_vmod_dynamic.29b766e616262ab0ef9252419367ce48fbf642168ba34fc382b1742a77dac5c4+0x230ff)\r\n*** v1 debug|Info: Child (2872880) said #2 0x7fad9ca2fcdd in VGC_Discard /tmp/vtc.2872792.2223da65/v1/vcl_vcl1.1708618810.078643/vgc.c:4186\r\n*** v1 debug|Info: Child (2872880) said #3 0x7fad9ca2fcdd in VGC_Event /tmp/vtc.2872792.2223da65/v1/vcl_vcl1.1708618810.078643/vgc.c:4287\r\n*** v1 debug|Info: Child (2872880) said #4 0x561c4abdb6e5 in vcl_send_event cache/cache_vcl.c:255\r\n*** v1 debug|Info: Child (2872880) said #5 0x561c4abdf9e2 in VCL_Poll cache/cache_vcl.c:736\r\n*** v1 debug|Info: Child (2872880) said #6 0x561c4abe01c4 in vcl_cli_discard cache/cache_vcl.c:903\r\n*** v1 debug|Info: Child (2872880) said #7 0x561c4acd567f in cls_dispatch /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:273\r\n*** v1 debug|Info: Child (2872880) said #8 0x561c4acd567f in cls_exec /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:324\r\n*** v1 debug|Info: Child (2872880) said #9 0x561c4acd6335 in cls_feed /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:412\r\n*** v1 debug|Info: Child (2872880) said #10 0x561c4acd6335 in VCLS_Poll /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:617\r\n*** v1 debug|Info: Child (2872880) said #11 0x561c4ab66923 in CLI_Run cache/cache_cli.c:110\r\n*** v1 debug|Info: Child (2872880) said #12 0x561c4abac4d9 in child_main cache/cache_main.c:467\r\n*** v1 debug|Info: Child (2872880) said #13 0x561c4ac482df in mgt_launch_child mgt/mgt_child.c:402\r\n*** v1 debug|Info: Child (2872880) said #14 0x561c4acd567f in cls_dispatch /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:273\r\n*** v1 debug|Info: Child (2872880) said #15 0x561c4acd567f in cls_exec /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:324\r\n*** v1 debug|Info: Child (2872880) said #16 0x561c4acd6335 in cls_feed /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:412\r\n*** v1 debug|Info: Child (2872880) said #17 0x561c4acd6335 in VCLS_Poll /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:617\r\n*** v1 debug|Info: Child (2872880) said #18 0x561c4acda316 in VEV_Once /home/swojcik/code/varnish-cache/lib/libvarnish/vev.c:466\r\n*** v1 debug|Info: Child (2872880) said #19 0x561c4acda687 in VEV_Loop /home/swojcik/code/varnish-cache/lib/libvarnish/vev.c:354\r\n*** v1 debug|Info: Child (2872880) said #20 0x561c4ab47691 in main mgt/mgt_main.c:995\r\n*** v1 debug|Info: Child (2872880) said #21 0x7fadb3829d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58\r\n*** v1 debug|Info: Child (2872880) said \r\n*** v1 debug|Info: Child (2872880) said previously allocated by thread T0 here:\r\n*** v1 debug|Info: Child (2872880) said #0 0x7fadb40b4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154\r\n*** v1 debug|Info: Child (2872880) said #1 0x7fad9b65293d in vmod_director__init (vmod_cache/_vmod_dynamic.29b766e616262ab0ef9252419367ce48fbf642168ba34fc382b1742a77dac5c4+0x2193d)\r\n*** v1 debug|Info: Child (2872880) said #2 0x7fad9ca294c3 in VGC_function_vcl_init /tmp/vtc.2872792.2223da65/v1/vcl_vcl1.1708618810.078643/vgc.c:3862\r\n*** v1 debug|Info: Child (2872880) said #3 0x561c4abdb6e5 in vcl_send_event cache/cache_vcl.c:255\r\n*** v1 debug|Info: Child (2872880) said #4 0x561c4abdded6 in vcl_load cache/cache_vcl.c:696\r\n*** v1 debug|Info: Child (2872880) said #5 0x561c4abdded6 in vcl_cli_load cache/cache_vcl.c:843\r\n*** v1 debug|Info: Child (2872880) said #6 0x561c4acd567f in cls_dispatch /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:273\r\n*** v1 debug|Info: Child (2872880) said #7 0x561c4acd567f in cls_exec /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:324\r\n*** v1 debug|Info: Child (2872880) said #8 0x561c4acd6335 in cls_feed /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:412\r\n*** v1 debug|Info: Child (2872880) said #9 0x561c4acd6335 in VCLS_Poll /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:617\r\n*** v1 debug|Info: Child (2872880) said #10 0x561c4ab66923 in CLI_Run cache/cache_cli.c:110\r\n*** v1 debug|Info: Child (2872880) said #11 0x561c4abac4d9 in child_main cache/cache_main.c:467\r\n*** v1 debug|Info: Child (2872880) said #12 0x561c4ac482df in mgt_launch_child mgt/mgt_child.c:402\r\n*** v1 debug|Info: Child (2872880) said #13 0x561c4acd567f in cls_dispatch /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:273\r\n*** v1 debug|Info: Child (2872880) said #14 0x561c4acd567f in cls_exec /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:324\r\n*** v1 debug|Info: Child (2872880) said #15 0x561c4acd6335 in cls_feed /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:412\r\n*** v1 debug|Info: Child (2872880) said #16 0x561c4acd6335 in VCLS_Poll /home/swojcik/code/varnish-cache/lib/libvarnish/vcli_serve.c:617\r\n*** v1 debug|Info: Child (2872880) said #17 0x561c4acda316 in VEV_Once /home/swojcik/code/varnish-cache/lib/libvarnish/vev.c:466\r\n*** v1 debug|Info: Child (2872880) said #18 0x561c4acda687 in VEV_Loop /home/swojcik/code/varnish-cache/lib/libvarnish/vev.c:354\r\n*** v1 debug|Info: Child (2872880) said #19 0x561c4ab47691 in main mgt/mgt_main.c:995\r\n*** v1 debug|Info: Child (2872880) said #20 0x7fadb3829d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58\r\n*** v1 debug|Info: Child (2872880) said \r\n*** v1 debug|Info: Child (2872880) said SUMMARY: AddressSanitizer: heap-use-after-free (vmod_cache/_vmod_dynamic.29b766e616262ab0ef9252419367ce48fbf642168ba34fc382b1742a77dac5c4+0x1f28f) in dom_destroy\r\n*** v1 debug|Info: Child (2872880) said Shadow bytes around the buggy address:\r\n*** v1 debug|Info: Child (2872880) said 0x0c247fffa2e0: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd\r\n*** v1 debug|Info: Child (2872880) said 0x0c247fffa2f0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd\r\n*** v1 debug|Info: Child (2872880) said 0x0c247fffa300: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd\r\n*** v1 debug|Info: Child (2872880) said 0x0c247fffa310: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd\r\n*** v1 debug|Info: Child (2872880) said 0x0c247fffa320: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd\r\n*** v1 debug|Info: Child (2872880) said =>0x0c247fffa330: fd fd fd fd fd fd fd fd[fd]fa fa fa fa fa fa fa\r\n*** v1 debug|Info: Child (2872880) said 0x0c247fffa340: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd\r\n*** v1 debug|Info: Child (2872880) said 0x0c247fffa350: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd\r\n*** v1 debug|Info: Child (2872880) said 0x0c247fffa360: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd\r\n*** v1 debug|Info: Child (2872880) said 0x0c247fffa370: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd\r\n*** v1 debug|Info: Child (2872880) said 0x0c247fffa380: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd\r\n*** v1 debug|Info: Child (2872880) said Shadow byte legend (one shadow byte represents 8 application bytes):\r\n*** v1 debug|Info: Child (2872880) said Addressable: 00\r\n*** v1 debug|Info: Child (2872880) said Partially addressable: 01 02 03 04 05 06 07 \r\n*** v1 debug|Info: Child (2872880) said Heap left redzone: fa\r\n*** v1 debug|Info: Child (2872880) said Freed heap region: fd\r\n*** v1 debug|Info: Child (2872880) said Stack left redzone: f1\r\n*** v1 debug|Info: Child (2872880) said Stack mid redzone: f2\r\n*** v1 debug|Info: Child (2872880) said Stack right redzone: f3\r\n*** v1 debug|Info: Child (2872880) said Stack after return: f5\r\n*** v1 debug|Info: Child (2872880) said Stack use after scope: f8\r\n*** v1 debug|Info: Child (2872880) said Global redzone: f9\r\n*** v1 debug|Info: Child (2872880) said Global init order: f6\r\n*** v1 debug|Info: Child (2872880) said Poisoned by user: f7\r\n*** v1 debug|Info: Child (2872880) said Container overflow: fc\r\n*** v1 debug|Info: Child (2872880) said Array cookie: ac\r\n*** v1 debug|Info: Child (2872880) said Intra object redzone: bb\r\n*** v1 debug|Info: Child (2872880) said ASan internal: fe\r\n*** v1 debug|Info: Child (2872880) said Left alloca redzone: ca\r\n*** v1 debug|Info: Child (2872880) said Right alloca redzone: cb\r\n*** v1 debug|Info: Child (2872880) said Shadow gap: cc\r\n*** v1 debug|Info: Child (2872880) said ==2872880==ABORTING\r\n*** v1 debug|Error: Child (2872880) died signal=6 (core dumped)\r\n*** v1 debug|Error: Child (2872880) Panic at: Thu, 22 Feb 2024 16:20:12 GMT\r\n*** v1 debug|Wrong turn at cache/cache_main.c:328:\r\n*** v1 debug|Signal 6 (Aborted) received at 0x3e8002bd630 si_code -6\r\n*** v1 debug|version = varnish-trunk revision d77da13b9baf268196075bda0808d0d2e8721470, vrt api = 18.1\r\n*** v1 debug|ident = Linux,6.5.0-17-generic,x86_64,-jnone,-sdefault,-sdefault,-hcritbit,epoll\r\n*** v1 debug|now = 324499.612377 (mono), 1708618811.590555 (real)\r\n*** v1 debug|Backtrace:\r\n*** v1 debug| ip=0x561c4abb7dc4 sp=0x7fadafd93b10 \r\n*** v1 debug| ip=0x561c4accff78 sp=0x7fadafd93d40 \r\n*** v1 debug| ip=0x561c4ababb1e sp=0x7fadafd93d90 \r\n*** v1 debug| ip=0x7fadb3842520 sp=0x7fadafd94380 <__sigaction+0x50>\r\n*** v1 debug| ip=0x7fadb38969fc sp=0x7ffe80f839d0 \r\n*** v1 debug| ip=0x7fadb3842476 sp=0x7ffe80f83a90 \r\n*** v1 debug| ip=0x7fadb38287f3 sp=0x7ffe80f83aa0 \r\n*** v1 debug| ip=0x7fadb40d2712 sp=0x7ffe80f83be0 <_ZN11__sanitizer5AbortEv+0x32>\r\n*** v1 debug| ip=0x7fadb40de2cc sp=0x7ffe80f83c90 <_ZN11__sanitizer3DieEv+0x4c>\r\n*** v1 debug| ip=0x7fadb40bd77c sp=0x7ffe80f83cb0 <_ZN6__asan19ScopedInErrorReportD1Ev+0x1ac>\r\n*** v1 debug| ip=0x7fadb40bd015 sp=0x7ffe80f83d00 <_ZN6__asan18ReportGenericErrorEmmmmbmjb+0x125>\r\n*** v1 debug| ip=0x7fadb40bdd3b sp=0x7ffe80f84980 <__asan_report_load4+0x3b>\r\n*** v1 debug| ip=0x7fad9b650290 sp=0x7ffe80f849b0 \r\n*** v1 debug| ip=0x561c4abfd612 sp=0x7ffe80f84a50 \r\n*** v1 debug| ip=0x561c4ac00755 sp=0x7ffe80f84a90 \r\n*** v1 debug| ip=0x7fad998559f0 sp=0x7ffe80f84ad0 \r\n*** v1 debug| ip=0x561c4ac00421 sp=0x7ffe80f84b20 \r\n*** v1 debug| ip=0x7fad9ca2fd0c sp=0x7ffe80f84b40 \r\n*** v1 debug| ip=0x561c4abdb6e6 sp=0x7ffe80f84b60 \r\n*** v1 debug| ip=0x561c4abdf9e3 sp=0x7ffe80f84c30 \r\n*** v1 debug| ip=0x561c4abe01c5 sp=0x7ffe80f84d10 \r\n*** v1 debug| ip=0x561c4acd5680 sp=0x7ffe80f84db0 \r\n*** v1 debug| ip=0x561c4acd6336 sp=0x7ffe80f84e20 \r\n*** v1 debug| ip=0x561c4ab66924 sp=0x7ffe80f87040 \r\n*** v1 debug| ip=0x561c4abac4da sp=0x7ffe80f87060 \r\n*** v1 debug| ip=0x561c4ac482e0 sp=0x7ffe80f871d0 \r\n*** v1 debug| ip=0x561c4acd5680 sp=0x7ffe80f87310 \r\n*** v1 debug| ip=0x561c4acd6336 sp=0x7ffe80f87380 \r\n*** v1 debug| ip=0x561c4acda317 sp=0x7ffe80f895a0 \r\n*** v1 debug| ip=0x561c4acda688 sp=0x7ffe80f89600 \r\n*** v1 debug| ip=0x561c4ab47692 sp=0x7ffe80f89620 \r\n*** v1 debug| ip=0x7fadb3829d90 sp=0x7ffe80f899d0 <__libc_init_first+0x90>\r\n*** v1 debug| ip=0x7fadb3829e40 sp=0x7ffe80f89a70 <__libc_start_main+0x80>\r\n*** v1 debug| ip=0x561c4ab48835 sp=0x7ffe80f89ac0 <_start+0x25>\r\n*** v1 debug|errno = 25 (Inappropriate ioctl for device)\r\n*** v1 debug|argv = {\r\n*** v1 debug| [0] = \\\"varnishd\\\",\r\n*** v1 debug| [1] = \\\"-d\\\",\r\n*** v1 debug| [2] = \\\"-n\\\",\r\n*** v1 debug| [3] = \\\"/tmp/vtc.2872792.2223da65/v1\\\",\r\n*** v1 debug| [4] = \\\"-i\\\",\r\n*** v1 debug| [5] = \\\"v1\\\",\r\n*** v1 debug| [6] = \\\"-p\\\",\r\n*** v1 debug| [7] = \\\"debug=+vcl_keep\\\",\r\n*** v1 debug| [8] = \\\"-p\\\",\r\n*** v1 debug| [9] = \\\"debug=+vmod_so_keep\\\",\r\n*** v1 debug| [10] = \\\"-p\\\",\r\n*** v1 debug| [11] = \\\"debug=+vsm_keep\\\",\r\n*** v1 debug| [12] = \\\"-l\\\",\r\n*** v1 debug| [13] = \\\"2m\\\",\r\n*** v1 debug| [14] = \\\"-p\\\",\r\n*** v1 debug| [15] = \\\"auto_restart=off\\\",\r\n*** v1 debug| [16] = \\\"-p\\\",\r\n*** v1 debug| [17] = \\\"syslog_cli_traffic=off\\\",\r\n*** v1 debug| [18] = \\\"-p\\\",\r\n*** v1 debug| [19] = \\\"thread_pool_min=10\\\",\r\n*** v1 debug| [20] = \\\"-p\\\",\r\n*** v1 debug| [21] = \\\"debug=+vtc_mode\\\",\r\n*** v1 debug| [22] = \\\"-p\\\",\r\n*** v1 debug| [23] = \\\"vsl_mask=+Debug,+H2RxHdr,+H2RxBody\\\",\r\n*** v1 debug| [24] = \\\"-p\\\",\r\n*** v1 debug| [25] = \\\"h2_initial_window_size=1m\\\",\r\n*** v1 debug| [26] = \\\"-p\\\",\r\n*** v1 debug| [27] = \\\"h2_rx_window_low_water=64k\\\",\r\n*** v1 debug| [28] = \\\"-a\\\",\r\n*** v1 debug| [29] = \\\"127.0.0.1:0\\\",\r\n*** v1 debug| [30] = \\\"-M\\\",\r\n*** v1 debug| [31] = \\\"127.0.0.1 38685\\\",\r\n*** v1 debug| [32] = \\\"-P\\\",\r\n*** v1 debug| [33] = \\\"/tmp/vtc.2872792.2223da65/v1/varnishd.pid\\\",\r\n*** v1 debug|}\r\n*** v1 debug|pthread.self = 0x7fadb3ee7040\r\n*** v1 debug|pthread.name = (cache-main)\r\n*** v1 debug|pthread.attr = {\r\n*** v1 debug| guard = 0,\r\n*** v1 debug| stack_bottom = 0x7ffe8078d000,\r\n*** v1 debug| stack_top = 0x7ffe80f8a000,\r\n*** v1 debug| stack_size = 8376320,\r\n*** v1 debug|}\r\n*** v1 debug|thr.req = NULL\r\n*** v1 debug|thr.busyobj = NULL\r\n*** v1 debug|thr.worker = NULL\r\n*** v1 debug|vmods = {\r\n*** v1 debug| dynamic = {0x60b0000005c0, Varnish trunk d77da13b9baf268196075bda0808d0d2e8721470, 18.1},\r\n*** v1 debug| directors = {0x60b000000720, Varnish trunk d77da13b9baf268196075bda0808d0d2e8721470, 0.0},\r\n*** v1 debug|},\r\n*** v1 debug|pools = {\r\n*** v1 debug| pool = 0x612000000040 {\r\n*** v1 debug| nidle = 9,\r\n*** v1 debug| nthr = 10,\r\n*** v1 debug| lqueue = 0\r\n*** v1 debug| },\r\n*** v1 debug| pool = 0x6120000001c0 {\r\n*** v1 debug| nidle = 9,\r\n*** v1 debug| nthr = 10,\r\n*** v1 debug| lqueue = 0\r\n*** v1 debug| },\r\n*** v1 debug|},\r\n*** v1 debug|\r\n*** v1 debug|\r\n*** v1 debug|Debug: Child cleanup complete\r\n**** dT 2.791\r\n*** v1 CLI RX 101\r\n**** v1 CLI RX|Unknown request in manager process (child not running).\r\n**** v1 CLI RX|Type 'help' for more info.\r\n** v1 Stop\r\n**** v1 CLI TX|stop\r\n**** dT 2.833\r\n*** v1 CLI RX 300\r\n**** v1 CLI RX|Child in state stopped\r\n*** v1 wait-stopped\r\n**** v1 CLI TX|status\r\n**** dT 2.877\r\n*** v1 CLI RX 200\r\n**** v1 CLI RX|Child in state stopped\r\n**** v1 CLI TX|panic.show\r\n**** dT 2.925\r\n*** v1 CLI RX 200\r\n**** v1 CLI RX|Panic at: Thu, 22 Feb 2024 16:20:12 GMT\r\n**** v1 CLI RX|Wrong turn at cache/cache_main.c:328:\r\n**** v1 CLI RX|Signal 6 (Aborted) received at 0x3e8002bd630 si_code -6\r\n**** v1 CLI RX|version = varnish-trunk revision d77da13b9baf268196075bda0808d0d2e8721470, vrt api = 18.1\r\n**** v1 CLI RX|ident = Linux,6.5.0-17-generic,x86_64,-jnone,-sdefault,-sdefault,-hcritbit,epoll\r\n**** v1 CLI RX|now = 324499.612377 (mono), 1708618811.590555 (real)\r\n**** v1 CLI RX|Backtrace:\r\n**** v1 CLI RX| ip=0x561c4abb7dc4 sp=0x7fadafd93b10 \r\n**** v1 CLI RX| ip=0x561c4accff78 sp=0x7fadafd93d40 \r\n**** v1 CLI RX| ip=0x561c4ababb1e sp=0x7fadafd93d90 \r\n**** v1 CLI RX| ip=0x7fadb3842520 sp=0x7fadafd94380 <__sigaction+0x50>\r\n**** v1 CLI RX| ip=0x7fadb38969fc sp=0x7ffe80f839d0 \r\n**** v1 CLI RX| ip=0x7fadb3842476 sp=0x7ffe80f83a90 \r\n**** v1 CLI RX| ip=0x7fadb38287f3 sp=0x7ffe80f83aa0 \r\n**** v1 CLI RX| ip=0x7fadb40d2712 sp=0x7ffe80f83be0 <_ZN11__sanitizer5AbortEv+0x32>\r\n**** v1 CLI RX| ip=0x7fadb40de2cc sp=0x7ffe80f83c90 <_ZN11__sanitizer3DieEv+0x4c>\r\n**** v1 CLI RX| ip=0x7fadb40bd77c sp=0x7ffe80f83cb0 <_ZN6__asan19ScopedInErrorReportD1Ev+0x1ac>\r\n**** v1 CLI RX| ip=0x7fadb40bd015 sp=0x7ffe80f83d00 <_ZN6__asan18ReportGenericErrorEmmmmbmjb+0x125>\r\n**** v1 CLI RX| ip=0x7fadb40bdd3b sp=0x7ffe80f84980 <__asan_report_load4+0x3b>\r\n**** v1 CLI RX| ip=0x7fad9b650290 sp=0x7ffe80f849b0 \r\n**** v1 CLI RX| ip=0x561c4abfd612 sp=0x7ffe80f84a50 \r\n**** v1 CLI RX| ip=0x561c4ac00755 sp=0x7ffe80f84a90 \r\n**** v1 CLI RX| ip=0x7fad998559f0 sp=0x7ffe80f84ad0 \r\n**** v1 CLI RX| ip=0x561c4ac00421 sp=0x7ffe80f84b20 \r\n**** v1 CLI RX| ip=0x7fad9ca2fd0c sp=0x7ffe80f84b40 \r\n**** v1 CLI RX| ip=0x561c4abdb6e6 sp=0x7ffe80f84b60 \r\n**** v1 CLI RX| ip=0x561c4abdf9e3 sp=0x7ffe80f84c30 \r\n**** v1 CLI RX| ip=0x561c4abe01c5 sp=0x7ffe80f84d10 \r\n**** v1 CLI RX| ip=0x561c4acd5680 sp=0x7ffe80f84db0 \r\n**** v1 CLI RX| ip=0x561c4acd6336 sp=0x7ffe80f84e20 \r\n**** v1 CLI RX| ip=0x561c4ab66924 sp=0x7ffe80f87040 \r\n**** v1 CLI RX| ip=0x561c4abac4da sp=0x7ffe80f87060 \r\n**** v1 CLI RX| ip=0x561c4ac482e0 sp=0x7ffe80f871d0 \r\n**** v1 CLI RX| ip=0x561c4acd5680 sp=0x7ffe80f87310 \r\n**** v1 CLI RX| ip=0x561c4acd6336 sp=0x7ffe80f87380 \r\n**** v1 CLI RX| ip=0x561c4acda317 sp=0x7ffe80f895a0 \r\n**** v1 CLI RX| ip=0x561c4acda688 sp=0x7ffe80f89600 \r\n**** v1 CLI RX| ip=0x561c4ab47692 sp=0x7ffe80f89620 \r\n**** v1 CLI RX| ip=0x7fadb3829d90 sp=0x7ffe80f899d0 <__libc_init_first+0x90>\r\n**** v1 CLI RX| ip=0x7fadb3829e40 sp=0x7ffe80f89a70 <__libc_start_main+0x80>\r\n**** v1 CLI RX| ip=0x561c4ab48835 sp=0x7ffe80f89ac0 <_start+0x25>\r\n**** v1 CLI RX|errno = 25 (Inappropriate ioctl for device)\r\n**** v1 CLI RX|argv = {\r\n**** v1 CLI RX| [0] = \\\"varnishd\\\",\r\n**** v1 CLI RX| [1] = \\\"-d\\\",\r\n**** v1 CLI RX| [2] = \\\"-n\\\",\r\n**** v1 CLI RX| [3] = \\\"/tmp/vtc.2872792.2223da65/v1\\\",\r\n**** v1 CLI RX| [4] = \\\"-i\\\",\r\n**** v1 CLI RX| [5] = \\\"v1\\\",\r\n**** v1 CLI RX| [6] = \\\"-p\\\",\r\n**** v1 CLI RX| [7] = \\\"debug=+vcl_keep\\\",\r\n**** v1 CLI RX| [8] = \\\"-p\\\",\r\n**** v1 CLI RX| [9] = \\\"debug=+vmod_so_keep\\\",\r\n**** v1 CLI RX| [10] = \\\"-p\\\",\r\n**** v1 CLI RX| [11] = \\\"debug=+vsm_keep\\\",\r\n**** v1 CLI RX| [12] = \\\"-l\\\",\r\n**** v1 CLI RX| [13] = \\\"2m\\\",\r\n**** v1 CLI RX| [14] = \\\"-p\\\",\r\n**** v1 CLI RX| [15] = \\\"auto_restart=off\\\",\r\n**** v1 CLI RX| [16] = \\\"-p\\\",\r\n**** v1 CLI RX| [17] = \\\"syslog_cli_traffic=off\\\",\r\n**** v1 CLI RX| [18] = \\\"-p\\\",\r\n**** v1 CLI RX| [19] = \\\"thread_pool_min=10\\\",\r\n**** v1 CLI RX| [20] = \\\"-p\\\",\r\n**** v1 CLI RX| [21] = \\\"debug=+vtc_mode\\\",\r\n**** v1 CLI RX| [22] = \\\"-p\\\",\r\n**** v1 CLI RX| [23] = \\\"vsl_mask=+Debug,+H2RxHdr,+H2RxBody\\\",\r\n**** v1 CLI RX| [24] = \\\"-p\\\",\r\n**** v1 CLI RX| [25] = \\\"h2_initial_window_size=1m\\\",\r\n**** v1 CLI RX| [26] = \\\"-p\\\",\r\n**** v1 CLI RX| [27] = \\\"h2_rx_window_low_water=64k\\\",\r\n**** v1 CLI RX| [28] = \\\"-a\\\",\r\n**** v1 CLI RX| [29] = \\\"127.0.0.1:0\\\",\r\n**** v1 CLI RX| [30] = \\\"-M\\\",\r\n**** v1 CLI RX| [31] = \\\"127.0.0.1 38685\\\",\r\n**** v1 CLI RX| [32] = \\\"-P\\\",\r\n**** v1 CLI RX| [33] = \\\"/tmp/vtc.2872792.2223da65/v1/varnishd.pid\\\",\r\n**** v1 CLI RX|}\r\n**** v1 CLI RX|pthread.self = 0x7fadb3ee7040\r\n**** v1 CLI RX|pthread.name = (cache-main)\r\n**** v1 CLI RX|pthread.attr = {\r\n**** v1 CLI RX| guard = 0,\r\n**** v1 CLI RX| stack_bottom = 0x7ffe8078d000,\r\n**** v1 CLI RX| stack_top = 0x7ffe80f8a000,\r\n**** v1 CLI RX| stack_size = 8376320,\r\n**** v1 CLI RX|}\r\n**** v1 CLI RX|thr.req = NULL\r\n**** v1 CLI RX|thr.busyobj = NULL\r\n**** v1 CLI RX|thr.worker = NULL\r\n**** v1 CLI RX|vmods = {\r\n**** v1 CLI RX| dynamic = {0x60b0000005c0, Varnish trunk d77da13b9baf268196075bda0808d0d2e8721470, 18.1},\r\n**** v1 CLI RX| directors = {0x60b000000720, Varnish trunk d77da13b9baf268196075bda0808d0d2e8721470, 0.0},\r\n**** v1 CLI RX|},\r\n**** v1 CLI RX|pools = {\r\n**** v1 CLI RX| pool = 0x612000000040 {\r\n**** v1 CLI RX| nidle = 9,\r\n**** v1 CLI RX| nthr = 10,\r\n**** v1 CLI RX| lqueue = 0\r\n**** v1 CLI RX| },\r\n**** v1 CLI RX| pool = 0x6120000001c0 {\r\n**** v1 CLI RX| nidle = 9,\r\n**** v1 CLI RX| nthr = 10,\r\n**** v1 CLI RX| lqueue = 0\r\n**** v1 CLI RX| },\r\n**** v1 CLI RX|},\r\n**** v1 CLI RX|\r\n**** v1 CLI RX|\r\n---- v1 Unexpected panic\r\n* top failure during reset\r\n* diag 0.0 2606:2800:220:1:248:1893:25c8:1946 example.com\r\n* diag 0.0 -----------------------------------------------------\r\n* diag 0.0 Suppressions used:\r\n* diag 0.0 count bytes template\r\n* diag 0.0 7 1491 parse_string\r\n* diag 0.0 -----------------------------------------------------\r\n* diag 0.0 \r\n# top TEST ./tests/layer_reload.vtc FAILED (3.042) exit=2\r\nFAIL tests/layer_reload.vtc (exit status: 2)\r\n\r\n```\r\n
","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/112/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/112/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/113","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/113/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/113/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/113/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/113","id":2193407206,"node_id":"I_kwDOBBOOTM6CvLzm","number":113,"title":"7.5 release","user":{"login":"gquintard","id":3776553,"node_id":"MDQ6VXNlcjM3NzY1NTM=","avatar_url":"https://avatars.githubusercontent.com/u/3776553?v=4","gravatar_id":"","url":"https://api.github.com/users/gquintard","html_url":"https://github.com/gquintard","followers_url":"https://api.github.com/users/gquintard/followers","following_url":"https://api.github.com/users/gquintard/following{/other_user}","gists_url":"https://api.github.com/users/gquintard/gists{/gist_id}","starred_url":"https://api.github.com/users/gquintard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gquintard/subscriptions","organizations_url":"https://api.github.com/users/gquintard/orgs","repos_url":"https://api.github.com/users/gquintard/repos","events_url":"https://api.github.com/users/gquintard/events{/privacy}","received_events_url":"https://api.github.com/users/gquintard/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2024-03-18T21:45:09Z","updated_at":"2024-05-15T23:42:10Z","closed_at":"2024-04-09T15:19:21Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi!\r\n\r\ncould we get a release (or a branch, I'm not greedy) targeting 7.5 (`master` targets `trunk` at the moment)? I need it to release the `docker` images","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/113/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/113/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/114","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/114/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/114/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/114/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/114","id":2205936169,"node_id":"I_kwDOBBOOTM6De-op","number":114,"title":"Object resolver not initialized?","user":{"login":"cosimo","id":109366,"node_id":"MDQ6VXNlcjEwOTM2Ng==","avatar_url":"https://avatars.githubusercontent.com/u/109366?v=4","gravatar_id":"","url":"https://api.github.com/users/cosimo","html_url":"https://github.com/cosimo","followers_url":"https://api.github.com/users/cosimo/followers","following_url":"https://api.github.com/users/cosimo/following{/other_user}","gists_url":"https://api.github.com/users/cosimo/gists{/gist_id}","starred_url":"https://api.github.com/users/cosimo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cosimo/subscriptions","organizations_url":"https://api.github.com/users/cosimo/orgs","repos_url":"https://api.github.com/users/cosimo/repos","events_url":"https://api.github.com/users/cosimo/events{/privacy}","received_events_url":"https://api.github.com/users/cosimo/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2024-03-25T14:47:12Z","updated_at":"2024-03-25T16:57:37Z","closed_at":"2024-03-25T16:57:37Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi!\r\n\r\nI'm trying to use libvmod_dynamic with varnish 7.4:\r\n* varnishcache/varnish-cache@b659b7ae62b44c05888919c5c1cd03ba6eaec681\r\n* libvmod-dynamic rev: 3697d6f195fe077fe213918b7b67f5da4efdede2\r\n\r\nThis is on Ubuntu 20.04, and I've build `libvmod_dynamic.so` using this Dockerfile: https://gist.github.com/cosimo/314e441313426a93bdfd3438059e44f9\r\n\r\nMy runtime environment is varnish 7.4.3-1~focal on Ubuntu 20.04.6 TLS x86_64 from the `https://packagecloud.io/varnishcache/varnish74/ubuntu/ focal main` debian repository.\r\n\r\nThe relevant VCL code is:\r\n\r\n```\r\nvcl 4.0;\r\nimport dynamic;\r\n\r\nbackend default none;\r\n\r\nsub vcl_init {\r\n new r = dynamic.resolver();\r\n new rest = dynamic.director(\r\n port = \"80\",\r\n resolver = r.use(),\r\n ttl_from = dns\r\n );\r\n}\r\n\r\nsub vcl_recv {\r\n # `_rest._tcp.example.com` is an SRV record\r\n set req.backend_hint = rest.backend(\"_rest._tcp.example.com\");\r\n}\r\n```\r\n\r\nWhen starting up varnish, I'm getting the following error:\r\n\r\n```\r\nMar 25 14:27:35 host varnishd[2689915]: Version: varnish-7.4.3 revision b659b7ae62b44c05888919c5c1cd03ba6eaec681\r\nMar 25 14:27:35 host varnishd[2689915]: Platform: Linux,5.15.0-1053-aws,x86_64,-junix,-smalloc,-sdefault,-hcritbit\r\nMar 25 14:27:35 host varnishd[2689915]: Child (2689931) Started\r\nMar 25 14:27:35 host varnishd[2689915]: Child launched OK\r\nMar 25 14:27:35 host varnishd[2689915]: Error: Child (2689931) Pushing vcls failed:\r\nMar 25 14:27:35 host varnishd[2689915]: VCL \"boot\" Failed initialization\r\nMar 25 14:27:35 host varnishd[2689915]: Message:\r\nMar 25 14:27:35 host varnishd[2689915]: Object r not initialized\r\nMar 25 14:27:35 host varnishd[2689915]: Info: Child (2689931) said Child starts\r\nMar 25 14:27:35 host varnishd[2689915]: Child (2689931) Pushing vcls failed:\r\n VCL \"boot\" Failed initialization\r\n Message:\r\n Object r not initialized\r\nMar 25 14:27:35 host varnishd[2689915]: Stopping Child\r\nMar 25 14:27:35 host varnishd[2689915]: Child (2689931) said Child starts\r\nMar 25 14:27:35 host varnishd[2689915]: Info: Child (2689931) said Child dies\r\nMar 25 14:27:35 host varnishd[2689915]: Info: Child (2689931) ended\r\nMar 25 14:27:35 host varnishd[2689915]: Child (2689931) said Child dies\r\nMar 25 14:27:35 host varnishd[2689915]: Child (2689931) ended\r\nMar 25 14:27:35 host varnishd[2689915]: Child cleanup complete\r\n```\r\n\r\nHave looked at the documentation in the `vmod_dynamic.vcc` but I haven't really understood the reason why the resolver object is not initialized.\r\n\r\nOther things I've noticed:\r\n- When querying `varnishadm backend.list -j` I see that the backends seem to be considered sick, as in:\r\n```\r\nroot@host:/etc/varnish# varnishadm backend.list -j\r\n[ 3, [\"backend.list\", \"-j\"], 1711378545.538,\r\n {\r\n \"boot.rest(_rest._tcp.example.com:(null))\": {\r\n \"type\": \"dynamic\",\r\n \"admin_health\": \"probe\",\r\n \"probe_message\": [0, 0, \"sick\"],\r\n \"last_change\": 1711378480.950\r\n }\r\n }\r\n]\r\n```\r\n- I can't seem to be able to use the `ttl_from = dns` option, the error message mentioned that I need to use a `resolver`, which I am indeed doing.\r\n- When running `make check` from inside the Docker container build, 1 test is failing. Here's the output I'm seeing:\r\n\r\n```\r\nPASS: tests/layer.vtc\r\nPASS: tests/r00107.vtc\r\nPASS: tests/stale_obj.vtc\r\nPASS: tests/test01.vtc\r\nPASS: tests/test02.vtc\r\nPASS: tests/test03.vtc\r\nPASS: tests/test04.vtc\r\nPASS: tests/test05.vtc\r\nPASS: tests/test06.vtc\r\nPASS: tests/test07.vtc\r\nPASS: tests/test08.vtc\r\nPASS: tests/test09.vtc\r\nPASS: tests/test10.vtc\r\nPASS: tests/test11.vtc\r\nPASS: tests/test12.vtc\r\nFAIL: tests/test13.vtc\r\nPASS: tests/test14.vtc\r\nPASS: tests/via.vtc\r\n```\r\n\r\nWould you have any guidance, or examples of usage of libvmod-dynamic? I haven't found much doing web searches or checking other repositories on github.\r\n\r\nThanks!","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/114/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/114/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/115","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/115/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/115/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/115/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/115","id":2292508729,"node_id":"I_kwDOBBOOTM6IpOg5","number":115,"title":"Unexpected behavior with new timeouts: \"zero\" timeout despite long defaults","user":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2024-05-13T11:10:43Z","updated_at":"2024-05-14T06:44:13Z","closed_at":"2024-05-14T06:43:00Z","author_association":"OWNER","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"logging an issue found by @martin-uplex\r\n\r\nUsing this dynamic director\r\n\r\n```vcl\r\nbackend sslon {\r\n .path = \"/tmp/varnish_sslon.proxy.sock\";\r\n .connect_timeout = 5s;\r\n .first_byte_timeout = 20s;\r\n .between_bytes_timeout = 20s;\r\n}\r\n\r\nsub vcl_init {\r\n new https = dynamic.director(via = sslon, port = 443);\r\n}\r\n```\r\n\r\nwith these global timeouts\r\n```\r\nfirst_byte_timeout 300.000 [seconds]\r\nidle_send_timeout 300.000 [seconds]\r\npipe_timeout 300.000 [seconds]\r\n```\r\n\r\nand no vcl override of timeouts leads to behavior as if a 0 timeout was configured:\r\n\r\n```\r\n--- Timestamp Fetch: 1715591622.154104 0.008790 0.000009\r\n--- Timestamp Connected: 1715591622.154129 0.008815 0.000025\r\n--- BackendOpen 644 https.www.site.de(X.X.X.X:443) 0.0.0.0 0 0.0.0.0 0 connect\r\n--- Timestamp Bereq: 1715591622.154136 0.008822 0.000006\r\n--- FetchError first byte timeout\r\n--- BackendClose 644 https.www.site.de(X.X.X.X:443) close Receive timeout\r\n--- Timestamp Beresp: 1715591622.155162 0.009848 0.001025\r\n--- Timestamp Error: 1715591622.155163 0.009849 0.000000 \r\n```\r\n\r\nThe workaround is to set explicit timeouts in the director.\r\n\r\nProbably related to a7059d4efab10a285c1f57f7e02bbe631cf3a649 / https://github.com/varnishcache/varnish-cache/commit/119056c4d9319155c6c6c2148519d2e8d81d5f76","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/115/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/115/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/116","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/116/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/116/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/116/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/116","id":2315307267,"node_id":"I_kwDOBBOOTM6KAMkD","number":116,"title":"Assert error in getdns_result(): Condition((rr) != 0) not true.","user":{"login":"delthas","id":1863865,"node_id":"MDQ6VXNlcjE4NjM4NjU=","avatar_url":"https://avatars.githubusercontent.com/u/1863865?v=4","gravatar_id":"","url":"https://api.github.com/users/delthas","html_url":"https://github.com/delthas","followers_url":"https://api.github.com/users/delthas/followers","following_url":"https://api.github.com/users/delthas/following{/other_user}","gists_url":"https://api.github.com/users/delthas/gists{/gist_id}","starred_url":"https://api.github.com/users/delthas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/delthas/subscriptions","organizations_url":"https://api.github.com/users/delthas/orgs","repos_url":"https://api.github.com/users/delthas/repos","events_url":"https://api.github.com/users/delthas/events{/privacy}","received_events_url":"https://api.github.com/users/delthas/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2024-05-24T12:36:39Z","updated_at":"2024-05-27T16:32:51Z","closed_at":"2024-05-27T16:32:40Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Stressing Varnish + libvmod-dynamic with many dynamic backends (with probes), I'm sometimes getting the following panic:\r\n```\r\nAssert error in getdns_result(), dyn_resolver_getdns.c line 259:\r\n Condition((rr) != 0) not true.\r\nBacktrace:\r\n 0x55bf1d92da92: /usr/sbin/varnishd(+0x5ba92) [0x55bf1d92da92]\r\n 0x55bf1d9aac45: /usr/sbin/varnishd(VAS_Fail+0x45) [0x55bf1d9aac45]\r\n 0x7f845e54e5ec: ./vmod_cache/_vmod_dynamic.29b766e616262ab0ef9252419367ce48fbf642168ba34fc382b1742a77dac5c4(+0xf5ec) [0x7f845e54e5ec]\r\n 0x7f845e544b65: ./vmod_cache/_vmod_dynamic.29b766e616262ab0ef9252419367ce48fbf642168ba34fc382b1742a77dac5c4(+0x5b65) [0x7f845e544b65]\r\n 0x7f84731cd064: /lib/x86_64-linux-gnu/libpthread.so.0(+0x8064) [0x7f84731cd064]\r\n 0x7f8472f0262d: /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f8472f0262d]\r\n```\r\nThis refers to the assert here: https://github.com/nigoroll/libvmod-dynamic/blob/master/src/dyn_resolver_getdns.c#L259\r\n\r\nI can't reproduce this on my machine to debug locally, I only got this on a remote server. I think the DNS server there might be having issues; but if this is caused by some DNS server issue we should probably not panic (and instead just add no backend).\r\n\r\nFrom my understanding of the function, this can happen if `getdns_common_more_answers(state) != 0` from the beginning (or if `getdns_common_more_answers(state) == 0` and `getdns_list_get_dict(state->answers, state->answer++, &rr)` gives a NULL `rr`, not sure if that's relevant).","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/116/reactions","total_count":1,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":1,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/116/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/117","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/117/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/117/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/117/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/117","id":2318884269,"node_id":"I_kwDOBBOOTM6KN12t","number":117,"title":"Still happens: Dynamic Backends can only be added to warm VCLs","user":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804425,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjU=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/help%20wanted","name":"help wanted","color":"128A0C","default":true,"description":null}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2024-05-27T11:03:00Z","updated_at":"2024-11-14T17:58:05Z","closed_at":"2024-11-14T17:58:04Z","author_association":"OWNER","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"I'm getting the same assert again, but in a slightly different way (even with the fix).\r\n\r\nThe stack is still:\r\n```\r\nWrong turn at cache/cache_vrt_vcl.c:251:\r\nDynamic Backends can only be added to warm VCLs\r\nBacktrace:\r\n ip=0x5f26789d8ebe sp=0x70bc775fe870 \r\n ip=0x5f2678aa5985 sp=0x70bc775fe9e0 \r\n ip=0x5f2678a0ee86 sp=0x70bc775fea30 \r\n ip=0x5f267899527d sp=0x70bc775feb80 \r\n ip=0x5f2678995d22 sp=0x70bc775fec80 \r\n ip=0x70bc82abfe61 sp=0x70bc775fecb0 \r\n ip=0x70bc82ac0acc sp=0x70bc775ff1d0 \r\n ip=0x70bc82ac1395 sp=0x70bc775ff340 \r\n ip=0x70bc99399ded sp=0x70bc775ff450\r\n ip=0x70bc9941d0dc sp=0x70bc775ff500\r\n```\r\n\r\nI'm stressing Varnish + libvmod-dynamic with a lot of VCL reloads. Everything usually works fine for a while (sometimes hours), until Varnish starts to loop on this error, every ~15s to ~1 minute. So, no issues for hours and then once I get this panic, it repeats every ~15s to ~1min: child crashes, child restarts, child crashes, ...\r\n\r\nHere's an excerpt of the full logs:\r\n```\r\nDebug: Child (606349) Started\r\nChild launched OK\r\nInfo: Child (606349) said Child starts\r\nError: Child (606349) not responding to CLI, killed it.\r\nError: Child (606349) not responding to CLI, killed it.\r\nError: Unexpected reply from ping: 400 CLI communication error (hdr)\r\nError: Child (606349) not responding to CLI, killed it.\r\nError: Unexpected reply from ping: 400 CLI communication error\r\nError: Child (606349) died signal=3 (core dumped)\r\nDebug: Child cleanup complete\r\nDebug: Child (645026) Started\r\nChild launched OK\r\nInfo: Child (645026) said Child starts\r\nError: Child (645026) not responding to CLI, killed it.\r\nError: Child (645026) not responding to CLI, killed it.\r\nError: Unexpected reply from ping: 400 CLI communication error\r\nError: Child (645026) died signal=6 (core dumped)\r\nError: Child (645026) Panic at: Fri, 24 May 2024 14:58:32 GMT\r\nWrong turn at cache/cache_vrt_vcl.c:251:\r\nDynamic Backends can only be added to warm VCLs\r\nBacktrace:\r\n ip=0x6281a32f6ebe sp=0x76e6579fe870 \r\n ip=0x6281a33c3985 sp=0x76e6579fe9e0 \r\n ip=0x6281a332ce86 sp=0x76e6579fea30 \r\n ip=0x6281a32b327d sp=0x76e6579feb80 \r\n ip=0x6281a32b3d22 sp=0x76e6579fec80 \r\n ip=0x76e661960e61 sp=0x76e6579fecb0 \r\n ip=0x76e661961acc sp=0x76e6579ff1d0 \r\n ip=0x76e661962395 sp=0x76e6579ff340 \r\n ip=0x76e676e3aded sp=0x76e6579ff450\r\n ip=0x76e676ebe0dc sp=0x76e6579ff500\r\nDebug: Child cleanup complete\r\nDebug: Child (649299) Started\r\nChild launched OK\r\nInfo: Child (649299) said Child starts\r\nError: Child (649299) not responding to CLI, killed it.\r\nError: Child (649299) not responding to CLI, killed it.\r\nError: Unexpected reply from ping: 400 CLI communication error\r\nError: Child (649299) died signal=6 (core dumped)\r\nError: Child (649299) Panic at: Fri, 24 May 2024 14:58:46 GMT\r\nWrong turn at cache/cache_vrt_vcl.c:251:\r\nDynamic Backends can only be added to warm VCLs\r\nBacktrace:\r\n ip=0x6281a32f6ebe sp=0x76e654bfe870 \r\n ip=0x6281a33c3985 sp=0x76e654bfe9e0 \r\n ip=0x6281a332ce86 sp=0x76e654bfea30 \r\n ip=0x6281a32b327d sp=0x76e654bfeb80 \r\n ip=0x6281a32b3d22 sp=0x76e654bfec80 \r\n ip=0x76e661686e61 sp=0x76e654bfecb0 \r\n ip=0x76e661687acc sp=0x76e654bff1d0 \r\n ip=0x76e661688395 sp=0x76e654bff340 \r\n ip=0x76e676e3aded sp=0x76e654bff450\r\n ip=0x76e676ebe0dc sp=0x76e654bff500\r\nDebug: Child cleanup complete\r\nDebug: Child (653709) Started\r\nChild launched OK\r\nInfo: Child (653709) said Child starts\r\nError: Child (653709) not responding to CLI, killed it.\r\nError: Child (653709) not responding to CLI, killed it.\r\nError: Unexpected reply from ping: 400 CLI communication error\r\nError: Child (653709) died signal=6 (core dumped)\r\nError: Child (653709) Panic at: Fri, 24 May 2024 14:59:01 GMT\r\nWrong turn at cache/cache_vrt_vcl.c:251:\r\nDynamic Backends can only be added to warm VCLs\r\nBacktrace:\r\n ip=0x6281a32f6ebe sp=0x76e6523fe870 \r\n ip=0x6281a33c3985 sp=0x76e6523fe9e0 \r\n ip=0x6281a332ce86 sp=0x76e6523fea30 \r\n ip=0x6281a32b327d sp=0x76e6523feb80 \r\n ip=0x6281a32b3d22 sp=0x76e6523fec80 \r\n ip=0x76e66099fe61 sp=0x76e6523fecb0 \r\n ip=0x76e6609a0acc sp=0x76e6523ff1d0 \r\n ip=0x76e6609a1395 sp=0x76e6523ff340 \r\n ip=0x76e676e3aded sp=0x76e6523ff450\r\n ip=0x76e676ebe0dc sp=0x76e6523ff500\r\nDebug: Child cleanup complete\r\nDebug: Child (658076) Started\r\nChild launched OK\r\nInfo: Child (658076) said Child starts\r\nError: Child (658076) not responding to CLI, killed it.\r\nError: Child (658076) not responding to CLI, killed it.\r\nError: Unexpected reply from ping: 400 CLI communication error\r\nError: Child (658076) died signal=6 (core dumped)\r\nError: Child (658076) Panic at: Fri, 24 May 2024 14:59:21 GMT\r\nWrong turn at cache/cache_vrt_vcl.c:251:\r\nDynamic Backends can only be added to warm VCLs\r\nBacktrace:\r\n ip=0x6281a32f6ebe sp=0x76e655ffe870 \r\n ip=0x6281a33c3985 sp=0x76e655ffe9e0 \r\n ip=0x6281a332ce86 sp=0x76e655ffea30 \r\n ip=0x6281a32b327d sp=0x76e655ffeb80 \r\n ip=0x6281a32b3d22 sp=0x76e655ffec80 \r\n ip=0x76e6617a5e61 sp=0x76e655ffecb0 \r\n ip=0x76e6617a6acc sp=0x76e655fff1d0 \r\n ip=0x76e6617a7395 sp=0x76e655fff340 \r\n ip=0x76e676e3aded sp=0x76e655fff450\r\n ip=0x76e676ebe0dc sp=0x76e655fff500\r\nDebug: Child cleanup complete\r\nDebug: Child (662441) Started\r\nChild launched OK\r\nInfo: Child (662441) said Child starts\r\nError: Child (662441) not responding to CLI, killed it.\r\nError: Child (662441) not responding to CLI, killed it.\r\nError: Unexpected reply from ping: 400 CLI communication error\r\nError: Child (662441) died signal=6 (core dumped)\r\nError: Child (662441) Panic at: Fri, 24 May 2024 14:59:38 GMT\r\nWrong turn at cache/cache_vrt_vcl.c:251:\r\nDynamic Backends can only be added to warm VCLs\r\nBacktrace:\r\n ip=0x6281a32f6ebe sp=0x76e6567fe870 \r\n ip=0x6281a33c3985 sp=0x76e6567fe9e0 \r\n ip=0x6281a332ce86 sp=0x76e6567fea30 \r\n ip=0x6281a32b327d sp=0x76e6567feb80 \r\n ip=0x6281a32b3d22 sp=0x76e6567fec80 \r\n ip=0x76e662eaae61 sp=0x76e6567fecb0 \r\n ip=0x76e662eabacc sp=0x76e6567ff1d0 \r\n ip=0x76e662eac395 sp=0x76e6567ff340 \r\n ip=0x76e676e3aded sp=0x76e6567ff450\r\n ip=0x76e676ebe0dc sp=0x76e6567ff500\r\nDebug: Child cleanup complete\r\n```\r\nIt continued crashing in a loop indefinitely for multiple days. I managed to attach to the process and the VCL was indeed COOL at the time of the panic.\r\n\r\n_Originally posted by @delthas in https://github.com/nigoroll/libvmod-dynamic/issues/108#issuecomment-2133195974_\r\n ","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/117/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/117/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/118","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/118/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/118/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/118/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/118","id":2437742171,"node_id":"I_kwDOBBOOTM6RTP5b","number":118,"title":"Assert error in VRT_Assign_Backend() Condition(vdir->refcnt > 0)","user":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2024-07-30T12:39:14Z","updated_at":"2024-07-31T13:00:03Z","closed_at":"2024-07-31T13:00:03Z","author_association":"OWNER","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"https://github.com/nigoroll/libvmod-dynamic/commit/d8eea028563837e74b8d7f1467c0a8118f6cfc6d exposes what looks like a race between expiry of a newly created backend and resolution.\r\n\r\n```\r\nAssert error in VRT_Assign_Backend(), cache/cache_vrt_vcl.c line 346:\r\n Condition(vdir->refcnt > 0) not true.\r\nversion = varnish-trunk revision c79f57fc116a958631c79e1c24f57e729df17850, vrt api = 19.1\r\nident = Linux,6.1.0-15-amd64,x86_64,-jnone,-sdefault,-sdefault,-hcritbit,epoll\r\nnow = 13523.786472 (mono), 1722337142.480783 (real)\r\nBacktrace:\r\n ip=0x5625db174ee5 sp=0x7fea20456180 \r\n ip=0x5625db0ad0b3 sp=0x7fea204561a0 \r\n ip=0x5625db0acdfa sp=0x7fea204561c0 \r\n ip=0x5625db174115 sp=0x7fea20456340 \r\n ip=0x5625db0e2e17 sp=0x7fea20456390 \r\n ip=0x7fea2f4111e6 sp=0x7fea204563c0 \r\n ip=0x7fea2f412d50 sp=0x7fea204563e0 \r\n ip=0x5625db081835 sp=0x7fea20456410 \r\n ip=0x7fea165faf62 sp=0x7fea20456440\r\n ip=0x5625db0e4e6c sp=0x7fea20456490 \r\n ip=0x5625db0e6c70 sp=0x7fea204565d0 \r\n```\r\n","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/118/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/118/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/119","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/119/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/119/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/119/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/119","id":2472659871,"node_id":"I_kwDOBBOOTM6TYcuf","number":119,"title":"IPv6 backends remain sick - Varnish 7.4.3, vmod_dynamic 2.8.0","user":{"login":"gerhard","id":3342,"node_id":"MDQ6VXNlcjMzNDI=","avatar_url":"https://avatars.githubusercontent.com/u/3342?v=4","gravatar_id":"","url":"https://api.github.com/users/gerhard","html_url":"https://github.com/gerhard","followers_url":"https://api.github.com/users/gerhard/followers","following_url":"https://api.github.com/users/gerhard/following{/other_user}","gists_url":"https://api.github.com/users/gerhard/gists{/gist_id}","starred_url":"https://api.github.com/users/gerhard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gerhard/subscriptions","organizations_url":"https://api.github.com/users/gerhard/orgs","repos_url":"https://api.github.com/users/gerhard/repos","events_url":"https://api.github.com/users/gerhard/events{/privacy}","received_events_url":"https://api.github.com/users/gerhard/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2024-08-19T07:32:03Z","updated_at":"2024-08-19T09:58:57Z","closed_at":"2024-08-19T09:58:57Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Given the following DNS records:\r\n\r\n```console\r\ndig changelog-2024-01-12.internal AAAA +short\r\nfdaa:0:4556:a7b:303:5118:aa8a:2\r\nfdaa:0:4556:a7b:303:ccc2:4a66:2\r\n```\r\n\r\nAnd the following dynamic backend config:\r\n\r\n```vcl\r\nbackend default none;\r\n\r\nprobe changelog_health {\r\n .url = \"/health\";\r\n .interval = 5s;\r\n .timeout = 2s;\r\n .window = 10;\r\n .threshold = 5;\r\n}\r\n\r\n# Define IPv6 only ACL for the module\r\nacl ipv6_only { \"::0\"/0; }\r\n\r\n# Setup a dynamic director\r\nsub vcl_init {\r\n new changelog = dynamic.director(\r\n ttl = 1m,\r\n probe = changelog_health,\r\n first_byte_timeout = 5s,\r\n connect_timeout = 5s,\r\n between_bytes_timeout = 30s,\r\n whitelist = ipv6_only\r\n );\r\n}\r\n\r\nsub vcl_recv {\r\n set req.backend_hint = changelog.backend(\"changelog-2024-01-12.internal\", \"4000\");\r\n}\r\n\r\n```\r\n\r\nEven though the backends are resolved correctly, they remain sick:\r\n\r\n```console\r\nvarnishadm backend.list\r\nBackend name Admin Probe Health Last change\r\nboot.changelog(changelog-2024-01-12.internal:4000) probe 0/2 sick Mon, 19 Aug 2024 07:17:07 GMT\r\nboot.changelog(fdaa:0:4556:a7b:303:5118:aa8a:2:4000) probe 0/10 sick Mon, 19 Aug 2024 07:17:07 GMT\r\nboot.changelog(fdaa:0:4556:a7b:303:ccc2:4a66:2:4000) probe 0/10 sick Mon, 19 Aug 2024 07:17:07 GMT\r\n```\r\n\r\nThis is what I see in `varnishlog`:\r\n\r\n```console\r\nvarnishlog -g raw -i backend_health\r\n 0 Backend_health - changelog(fdaa:0:4556:a7b:303:ccc2:4a66:2:4000) Still sick -6--X-R- 0 5 10 0.001638 0.000000 \"HTTP/1.1 400 Bad Request\"\r\n 0 Backend_health - changelog(fdaa:0:4556:a7b:303:5118:aa8a:2:4000) Still sick -6--X-R- 0 5 10 0.001533 0.000000 \"HTTP/1.1 400 Bad Request\"\r\n 0 Backend_health - changelog(fdaa:0:4556:a7b:303:5118:aa8a:2:4000) Still sick -6--X-R- 0 5 10 0.001314 0.000000 \"HTTP/1.1 400 Bad Request\"\r\n 0 Backend_health - changelog(fdaa:0:4556:a7b:303:ccc2:4a66:2:4000) Still sick -6--X-R- 0 5 10 0.001499 0.000000 \"HTTP/1.1 400 Bad Request\"\r\n...\r\n```\r\n\r\nAnd yet if I use `curl`, both these backends work:\r\n\r\n```console\r\ncurl -v6 http://[fdaa:0:4556:a7b:303:ccc2:4a66:2]:4000/health\r\n* Trying [fdaa:0:4556:a7b:303:ccc2:4a66:2]:4000...\r\n* Connected to fdaa:0:4556:a7b:303:ccc2:4a66:2 (fdaa:0:4556:a7b:303:ccc2:4a66:2) port 4000 (#0)\r\n> GET /health HTTP/1.1\r\n> Host: [fdaa:0:4556:a7b:303:ccc2:4a66:2]:4000\r\n> User-Agent: curl/7.88.1\r\n> Accept: */*\r\n>\r\n< HTTP/1.1 200 OK\r\n< cache-control: max-age=0, private, must-revalidate\r\n< content-length: 0\r\n< date: Mon, 19 Aug 2024 07:28:15 GMT\r\n< server: Cowboy\r\n<\r\n* Connection #0 to host fdaa:0:4556:a7b:303:ccc2:4a66:2 left intact\r\n\r\ncurl -v6 http://[fdaa:0:4556:a7b:303:5118:aa8a:2]:4000/health\r\n* Trying [fdaa:0:4556:a7b:303:5118:aa8a:2]:4000...\r\n* Connected to fdaa:0:4556:a7b:303:5118:aa8a:2 (fdaa:0:4556:a7b:303:5118:aa8a:2) port 4000 (#0)\r\n> GET /health HTTP/1.1\r\n> Host: [fdaa:0:4556:a7b:303:5118:aa8a:2]:4000\r\n> User-Agent: curl/7.88.1\r\n> Accept: */*\r\n>\r\n< HTTP/1.1 200 OK\r\n< cache-control: max-age=0, private, must-revalidate\r\n< content-length: 0\r\n< date: Mon, 19 Aug 2024 07:28:48 GMT\r\n< server: Cowboy\r\n<\r\n* Connection #0 to host fdaa:0:4556:a7b:303:5118:aa8a:2 left intact\r\n```\r\n\r\nI **think** that the backend IPv6 is not interpolated correctly - `changelog(fdaa:0:4556:a7b:303:ccc2:4a66:2:4000)` should be `changelog([fdaa:0:4556:a7b:303:ccc2:4a66:2]:4000)` but maybe the formatting is misleading me.\r\n\r\nIs there anything that I could do to debug this further?\r\n\r\n---\r\n\r\n- Varnish `7.4.3`\r\n- vmod_dynamic `2.8.0` [15e32fb](https://github.com/nigoroll/libvmod-dynamic/tree/15e32fb8cf96752c90d895b0ca31451bd05d92d9)\r\n- Deployed to Fly.io, uses [`.internal` domain](https://fly.io/docs/networking/private-networking/#fly-io-internal-dns)\r\n\r\n---\r\n\r\nFTR:\r\n- https://github.com/thechangelog/changelog.com/pull/518\r\n- https://github.com/thechangelog/pipedream/pull/1","closed_by":{"login":"gerhard","id":3342,"node_id":"MDQ6VXNlcjMzNDI=","avatar_url":"https://avatars.githubusercontent.com/u/3342?v=4","gravatar_id":"","url":"https://api.github.com/users/gerhard","html_url":"https://github.com/gerhard","followers_url":"https://api.github.com/users/gerhard/followers","following_url":"https://api.github.com/users/gerhard/following{/other_user}","gists_url":"https://api.github.com/users/gerhard/gists{/gist_id}","starred_url":"https://api.github.com/users/gerhard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gerhard/subscriptions","organizations_url":"https://api.github.com/users/gerhard/orgs","repos_url":"https://api.github.com/users/gerhard/repos","events_url":"https://api.github.com/users/gerhard/events{/privacy}","received_events_url":"https://api.github.com/users/gerhard/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/119/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/119/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/120","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/120/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/120/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/120/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/120","id":2494183718,"node_id":"I_kwDOBBOOTM6Uqjkm","number":120,"title":"Help wanted: configure dynamic backend via SRV Records","user":{"login":"am4rth","id":96725262,"node_id":"U_kgDOBcPpDg","avatar_url":"https://avatars.githubusercontent.com/u/96725262?v=4","gravatar_id":"","url":"https://api.github.com/users/am4rth","html_url":"https://github.com/am4rth","followers_url":"https://api.github.com/users/am4rth/followers","following_url":"https://api.github.com/users/am4rth/following{/other_user}","gists_url":"https://api.github.com/users/am4rth/gists{/gist_id}","starred_url":"https://api.github.com/users/am4rth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/am4rth/subscriptions","organizations_url":"https://api.github.com/users/am4rth/orgs","repos_url":"https://api.github.com/users/am4rth/repos","events_url":"https://api.github.com/users/am4rth/events{/privacy}","received_events_url":"https://api.github.com/users/am4rth/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2024-08-29T11:34:24Z","updated_at":"2024-08-30T06:07:11Z","closed_at":"2024-08-30T06:07:11Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hello,\r\n\r\ni'm currently tring to get varnish running with dynamic backend servers provied via SRV DNS Records.\r\n\r\nResolving the domains via `host` is no problem, the following data is returned:\r\n```\r\n# host -t SRV service.namespace.local\r\nservice.namespace.localhas SRV record 1 1 32768 995a7bee76fa40b194e2b761b9dfb90a.service.namespace.local.\r\n```\r\nThis is my varnish config:\r\n```\r\nbackend default none;\r\n\r\nsub vcl_init {\r\n new r = dynamic.resolver();\r\n new d = dynamic.director(\r\n resolver = r.use(),\r\n );\r\n}\r\n\r\nsub vcl_recv {\r\n set req.backend_hint = d.service(\"service.namespace.local\");\r\n \r\n # more config to come\r\n}\r\n```\r\n\r\nWhen ever I try to perform a request, the resolution via getdns seems to fail:\r\n```\r\n0 Timestamp - vmod-dynamic boot.d(srv service.namespace.local) Lookup: 1724930480.177774 0.000000 0.000000\r\n0 Timestamp - vmod-dynamic boot.d(srv service.namespace.local) Results: 1724930480.177919 0.000145 0.000145\r\n0 Error - vmod-dynamic boot d service.namespace.local getdns 901 (Queries for the name yielded all negative responses)\r\n```\r\n\r\nDo I miss something? Sorry if it's a obvious problem, not as experienced in varnish config.\r\n\r\nThanks in advance!","closed_by":{"login":"am4rth","id":96725262,"node_id":"U_kgDOBcPpDg","avatar_url":"https://avatars.githubusercontent.com/u/96725262?v=4","gravatar_id":"","url":"https://api.github.com/users/am4rth","html_url":"https://github.com/am4rth","followers_url":"https://api.github.com/users/am4rth/followers","following_url":"https://api.github.com/users/am4rth/following{/other_user}","gists_url":"https://api.github.com/users/am4rth/gists{/gist_id}","starred_url":"https://api.github.com/users/am4rth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/am4rth/subscriptions","organizations_url":"https://api.github.com/users/am4rth/orgs","repos_url":"https://api.github.com/users/am4rth/repos","events_url":"https://api.github.com/users/am4rth/events{/privacy}","received_events_url":"https://api.github.com/users/am4rth/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/120/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/120/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/121","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/121/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/121/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/121/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/121","id":2528087988,"node_id":"I_kwDOBBOOTM6Wr4-0","number":121,"title":"via_uds.vtc fails when run as root","user":{"login":"delthas","id":1863865,"node_id":"MDQ6VXNlcjE4NjM4NjU=","avatar_url":"https://avatars.githubusercontent.com/u/1863865?v=4","gravatar_id":"","url":"https://api.github.com/users/delthas","html_url":"https://github.com/delthas","followers_url":"https://api.github.com/users/delthas/followers","following_url":"https://api.github.com/users/delthas/following{/other_user}","gists_url":"https://api.github.com/users/delthas/gists{/gist_id}","starred_url":"https://api.github.com/users/delthas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/delthas/subscriptions","organizations_url":"https://api.github.com/users/delthas/orgs","repos_url":"https://api.github.com/users/delthas/repos","events_url":"https://api.github.com/users/delthas/events{/privacy}","received_events_url":"https://api.github.com/users/delthas/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2024-09-16T10:34:16Z","updated_at":"2024-09-17T08:33:00Z","closed_at":"2024-09-17T08:33:00Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"On my build server (VM, running as root), `make check` fails because `via_uds.vtc` fails.\r\n\r\nThe cause is that `v2`, making a connection to `v1` over a UDS, fails to connect, with `FetchError b backend d1.localhost(127.0.0.1:45103): fail errno 13 (Permission denied)`. Looking into this further I can see that the `v2.sock` is created as `root:root` but the worker processes run as `vcache`, so it is normal that the connection is denied?\r\n\r\nAdding `-arg \"-j none\"` to the `varnish` commands in the VTC makes the test pass.\r\n\r\nI've made the following reproducer MWE (a heavily trimmed down via_uds):\r\n```vtc\r\nvarnishtest \"basic uds\"\r\n\r\nserver s1 {\r\n\trxreq\r\n\ttxresp\r\n} -start\r\n\r\nvarnish v2 -arg \"-a uds=${tmpdir}/v2.sock\" -vcl+backend {\r\n} -start\r\n\r\nvarnish v1 -vcl {\r\n\tbackend v2 { .path = \"${tmpdir}/v2.sock\"; }\r\n\r\n\tsub vcl_recv {\r\n\t\tset req.backend_hint = v2;\r\n\t}\r\n} -start\r\n\r\n# Uncomment in order to examine system state\r\n# delay 20\r\n\r\nclient c1 {\r\n\ttxreq\r\n\trxresp\r\n\texpect resp.status == 200\r\n} -run\r\n```\r\n\r\nRunning these commands during the delay shows the issue:\r\n\r\n```shell\r\n# ls -lA /tmp/vtc.2754.159e675b/\r\ntotal 12\r\n-rw-r--r-- 1 root root 24 Sep 16 12:30 INFO\r\ndrwxr-xr-x 7 root varnish 4096 Sep 16 12:30 v1\r\ndrwxr-xr-x 7 root varnish 4096 Sep 16 12:30 v2\r\nsrwxr-xr-x 1 root root 0 Sep 16 12:30 v2.sock\r\n```\r\n\r\n`v2.sock` is `root:root`\r\n\r\n```shell\r\n# ps aux | grep varnishd\r\nvarnish 2878 0.0 0.1 39396 12356 pts/0 SL 12:30 0:00 varnishd -d -n /tmp/vtc.2872.33571ff0/v2 -i v2 -l 2m -p auto_restart=off -p syslog_cli_traffic=off -p thread_pool_min=10 -p debug=+vtc_mode -p vsl_mask=+Debug,+H2RxHdr,+H2RxBody -p h2_initial_window_size=1m -p h2_rx_window_low_water=64k -M 127.0.0.1 37205 -P /tmp/vtc.2872.33571ff0/v2/varnishd.pid -a uds=/tmp/vtc.2872.33571ff0/v2.sock\r\nvcache 2894 1.0 0.7 217572 63596 pts/0 SLl 12:30 0:00 varnishd -d -n /tmp/vtc.2872.33571ff0/v2 -i v2 -l 2m -p auto_restart=off -p syslog_cli_traffic=off -p thread_pool_min=10 -p debug=+vtc_mode -p vsl_mask=+Debug,+H2RxHdr,+H2RxBody -p h2_initial_window_size=1m -p h2_rx_window_low_water=64k -M 127.0.0.1 37205 -P /tmp/vtc.2872.33571ff0/v2/varnishd.pid -a uds=/tmp/vtc.2872.33571ff0/v2.sock\r\nvarnish 2933 0.5 0.1 39396 10312 pts/0 SL 12:30 0:00 varnishd -d -n /tmp/vtc.2872.33571ff0/v1 -i v1 -l 2m -p auto_restart=off -p syslog_cli_traffic=off -p thread_pool_min=10 -p debug=+vtc_mode -p vsl_mask=+Debug,+H2RxHdr,+H2RxBody -p h2_initial_window_size=1m -p h2_rx_window_low_water=64k -a 127.0.0.1:0 -M 127.0.0.1 33001 -P /tmp/vtc.2872.33571ff0/v1/varnishd.pid\r\nvcache 2949 2.0 0.7 217572 63568 pts/0 SLl 12:30 0:00 varnishd -d -n /tmp/vtc.2872.33571ff0/v1 -i v1 -l 2m -p auto_restart=off -p syslog_cli_traffic=off -p thread_pool_min=10 -p debug=+vtc_mode -p vsl_mask=+Debug,+H2RxHdr,+H2RxBody -p h2_initial_window_size=1m -p h2_rx_window_low_water=64k -a 127.0.0.1:0 -M 127.0.0.1 33001 -P /tmp/vtc.2872.33571ff0/v1/varnishd.pid\r\n```\r\n\r\nMasters are `varnish`, workers are `vcache`, not `root`.\r\n\r\n---\r\n\r\n[Full original failing VTC](https://github.com/user-attachments/files/17011618/vtc.txt)\r\n","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/121/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/121/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/122","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/122/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/122/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/122/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/122","id":2529375190,"node_id":"I_kwDOBBOOTM6WwzPW","number":122,"title":"7.6 branch","user":{"login":"gquintard","id":3776553,"node_id":"MDQ6VXNlcjM3NzY1NTM=","avatar_url":"https://avatars.githubusercontent.com/u/3776553?v=4","gravatar_id":"","url":"https://api.github.com/users/gquintard","html_url":"https://github.com/gquintard","followers_url":"https://api.github.com/users/gquintard/followers","following_url":"https://api.github.com/users/gquintard/following{/other_user}","gists_url":"https://api.github.com/users/gquintard/gists{/gist_id}","starred_url":"https://api.github.com/users/gquintard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gquintard/subscriptions","organizations_url":"https://api.github.com/users/gquintard/orgs","repos_url":"https://api.github.com/users/gquintard/repos","events_url":"https://api.github.com/users/gquintard/events{/privacy}","received_events_url":"https://api.github.com/users/gquintard/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2024-09-16T20:10:00Z","updated_at":"2024-11-14T18:18:22Z","closed_at":"2024-11-14T18:18:22Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"can we get a release/branch/tag that will work with an installed Varnish please 7.6.\r\n\r\nRight now I'm getting the usual:\r\n```\r\nchecking for Varnish... 7.6.0\r\nconfigure: error: Varnish version trunk or higher is required.\r\n```","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/122/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/122/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/123","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/123/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/123/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/123/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/123","id":2529383907,"node_id":"PR_kwDOBBOOTM57q3Nt","number":123,"title":"require 7.6","user":{"login":"gquintard","id":3776553,"node_id":"MDQ6VXNlcjM3NzY1NTM=","avatar_url":"https://avatars.githubusercontent.com/u/3776553?v=4","gravatar_id":"","url":"https://api.github.com/users/gquintard","html_url":"https://github.com/gquintard","followers_url":"https://api.github.com/users/gquintard/followers","following_url":"https://api.github.com/users/gquintard/following{/other_user}","gists_url":"https://api.github.com/users/gquintard/gists{/gist_id}","starred_url":"https://api.github.com/users/gquintard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gquintard/subscriptions","organizations_url":"https://api.github.com/users/gquintard/orgs","repos_url":"https://api.github.com/users/gquintard/repos","events_url":"https://api.github.com/users/gquintard/events{/privacy}","received_events_url":"https://api.github.com/users/gquintard/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2024-09-16T20:13:30Z","updated_at":"2024-11-14T18:18:55Z","closed_at":"2024-11-14T18:18:55Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/123","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/123","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/123.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/123.patch","merged_at":null},"body":"just opening this PR so I can find that commit in this repository to build the Docker image","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/123/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/123/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/124","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/124/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/124/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/124/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/124","id":2530432380,"node_id":"I_kwDOBBOOTM6W01V8","number":124,"title":"Add wait_timeout & wait_limit","user":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804424,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjQ=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/enhancement","name":"enhancement","color":"84b6eb","default":true,"description":null}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2024-09-17T08:36:29Z","updated_at":"2024-11-14T17:42:57Z","closed_at":"2024-11-14T17:42:57Z","author_association":"OWNER","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Ref https://github.com/varnishcache/varnish-cache/pull/4030","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/124/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/124/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/125","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/125/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/125/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/125/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/125","id":2542835261,"node_id":"PR_kwDOBBOOTM58YWGF","number":125,"title":"Fix layer_probe.vtc: dynamic -> ${vmod_dynamic}","user":{"login":"delthas","id":1863865,"node_id":"MDQ6VXNlcjE4NjM4NjU=","avatar_url":"https://avatars.githubusercontent.com/u/1863865?v=4","gravatar_id":"","url":"https://api.github.com/users/delthas","html_url":"https://github.com/delthas","followers_url":"https://api.github.com/users/delthas/followers","following_url":"https://api.github.com/users/delthas/following{/other_user}","gists_url":"https://api.github.com/users/delthas/gists{/gist_id}","starred_url":"https://api.github.com/users/delthas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/delthas/subscriptions","organizations_url":"https://api.github.com/users/delthas/orgs","repos_url":"https://api.github.com/users/delthas/repos","events_url":"https://api.github.com/users/delthas/events{/privacy}","received_events_url":"https://api.github.com/users/delthas/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2024-09-23T14:24:56Z","updated_at":"2024-09-24T09:57:53Z","closed_at":"2024-09-24T09:57:53Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/125","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/125","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/125.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/125.patch","merged_at":"2024-09-24T09:57:53Z"},"body":null,"closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/125/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/125/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/126","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/126/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/126/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/126/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/126","id":2652670463,"node_id":"I_kwDOBBOOTM6eHIn_","number":126,"title":"503 on first request for Dynamic Backends with probe","user":{"login":"ronald-sz","id":97725423,"node_id":"U_kgDOBdMr7w","avatar_url":"https://avatars.githubusercontent.com/u/97725423?v=4","gravatar_id":"","url":"https://api.github.com/users/ronald-sz","html_url":"https://github.com/ronald-sz","followers_url":"https://api.github.com/users/ronald-sz/followers","following_url":"https://api.github.com/users/ronald-sz/following{/other_user}","gists_url":"https://api.github.com/users/ronald-sz/gists{/gist_id}","starred_url":"https://api.github.com/users/ronald-sz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronald-sz/subscriptions","organizations_url":"https://api.github.com/users/ronald-sz/orgs","repos_url":"https://api.github.com/users/ronald-sz/repos","events_url":"https://api.github.com/users/ronald-sz/events{/privacy}","received_events_url":"https://api.github.com/users/ronald-sz/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2024-11-12T16:21:14Z","updated_at":"2024-11-12T17:06:26Z","closed_at":"2024-11-12T17:06:25Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi Nils, \r\n\r\nwe are using Varnish 7.5. \r\n\r\nAfter a fresh start of Varnish I do not see any dynamic backends when I use `backend.list` in `varnishadm`. \r\n\r\nThis seems normal and after a first request a backend is generated. I suppose this happens as soon as Varnish executes the VCL-code:\r\n\r\n`set req.backend_hint = xxx.backend(\"xxxyyyzzz\");`\r\n\r\nIf there is no probe attached to this backend then the request is answered by a 200 response. \r\n\r\nAfter adding a probe to the backend the first request gets answered by a 503 response. \r\n\r\n```\r\nprobe readyCheckDefault {\r\n .url = \"/readyCheck\";\r\n .timeout = 1s;\r\n .interval = 3s;\r\n .window = 5;\r\n .threshold = 4;\r\n}\r\n\r\nnew xxx = dynamic.director(ttl = 10s, port = 3000, probe = readyCheckDefault);\r\n```\r\n\r\nIs this how it is supposed to work? Is this a bug? A misconfiguration on our side? \r\n\r\nThanks,\r\nRonald","closed_by":{"login":"ronald-sz","id":97725423,"node_id":"U_kgDOBdMr7w","avatar_url":"https://avatars.githubusercontent.com/u/97725423?v=4","gravatar_id":"","url":"https://api.github.com/users/ronald-sz","html_url":"https://github.com/ronald-sz","followers_url":"https://api.github.com/users/ronald-sz/followers","following_url":"https://api.github.com/users/ronald-sz/following{/other_user}","gists_url":"https://api.github.com/users/ronald-sz/gists{/gist_id}","starred_url":"https://api.github.com/users/ronald-sz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronald-sz/subscriptions","organizations_url":"https://api.github.com/users/ronald-sz/orgs","repos_url":"https://api.github.com/users/ronald-sz/repos","events_url":"https://api.github.com/users/ronald-sz/events{/privacy}","received_events_url":"https://api.github.com/users/ronald-sz/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/126/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/126/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/127","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/127/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/127/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/127/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/127","id":2653837938,"node_id":"PR_kwDOBBOOTM6BtTLv","number":127,"title":"Add `wait_timeout` and `wait_limit` support","user":{"login":"karlvr","id":1086005,"node_id":"MDQ6VXNlcjEwODYwMDU=","avatar_url":"https://avatars.githubusercontent.com/u/1086005?v=4","gravatar_id":"","url":"https://api.github.com/users/karlvr","html_url":"https://github.com/karlvr","followers_url":"https://api.github.com/users/karlvr/followers","following_url":"https://api.github.com/users/karlvr/following{/other_user}","gists_url":"https://api.github.com/users/karlvr/gists{/gist_id}","starred_url":"https://api.github.com/users/karlvr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/karlvr/subscriptions","organizations_url":"https://api.github.com/users/karlvr/orgs","repos_url":"https://api.github.com/users/karlvr/repos","events_url":"https://api.github.com/users/karlvr/events{/privacy}","received_events_url":"https://api.github.com/users/karlvr/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2024-11-13T01:33:57Z","updated_at":"2024-11-14T20:27:50Z","closed_at":"2024-11-14T17:29:35Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/127","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/127","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/127.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/127.patch","merged_at":"2024-11-14T17:29:35Z"},"body":"Support the new backend parameters added in Varnish 7.6 for backend connection queuing as per https://varnish-cache.org/docs/7.6/whats-new/changes-7.6.html","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/127/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/127/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/128","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/128/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/128/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/128/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/128","id":2653848083,"node_id":"PR_kwDOBBOOTM6BtVfz","number":128,"title":"Least connections algorithm","user":{"login":"karlvr","id":1086005,"node_id":"MDQ6VXNlcjEwODYwMDU=","avatar_url":"https://avatars.githubusercontent.com/u/1086005?v=4","gravatar_id":"","url":"https://api.github.com/users/karlvr","html_url":"https://github.com/karlvr","followers_url":"https://api.github.com/users/karlvr/followers","following_url":"https://api.github.com/users/karlvr/following{/other_user}","gists_url":"https://api.github.com/users/karlvr/gists{/gist_id}","starred_url":"https://api.github.com/users/karlvr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/karlvr/subscriptions","organizations_url":"https://api.github.com/users/karlvr/orgs","repos_url":"https://api.github.com/users/karlvr/repos","events_url":"https://api.github.com/users/karlvr/events{/privacy}","received_events_url":"https://api.github.com/users/karlvr/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804424,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjQ=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/enhancement","name":"enhancement","color":"84b6eb","default":true,"description":null},{"id":2228311103,"node_id":"MDU6TGFiZWwyMjI4MzExMTAz","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/needs%20%E2%99%A1Sponsor","name":"needs ♡Sponsor","color":"e094d3","default":false,"description":"looking for support ♥"},{"id":2228316027,"node_id":"MDU6TGFiZWwyMjI4MzE2MDI3","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/needs%20varnish-cache","name":"needs varnish-cache","color":"006b75","default":false,"description":"needs work in varnish-cache"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2024-11-13T01:39:43Z","updated_at":"2025-03-06T15:09:59Z","closed_at":null,"author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/128","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/128","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/128.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/128.patch","merged_at":null},"body":"Perhaps to reopen the conversation from #71, I have ported just the _least connections_ algorithm to the master branch. We have abandoned the weighted and slow start that complicated the previous implementation. We have been using `LEAST` in production for > 5 years. We've tried switching back to the default `RR` implementation but experience issues when one of our backends runs slowly.\r\n\r\nAs you noted in #71 it isn't a guarantee of least connections (as the connection is not reserved) however we are treating it as a heuristic, and as such it has worked really well for us.\r\n\r\nAgain, if you're interested, I am happy to work this code to get it into a shape you like. I've tried to reproduce the basic logic from `dom_find` in `dom_find_leastconn` without worrying about the `alt` behaviour as it uses `dom_find` as a fall-back anyway. I look forward to hearing your thoughts when you have the time & energy!","closed_by":null,"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/128/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/128/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/129","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/129/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/129/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/129/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/129","id":2702623880,"node_id":"I_kwDOBBOOTM6hFsSI","number":129,"title":"503 for first page load after starting Varnish, no backends listed","user":{"login":"poshaughnessy","id":151207,"node_id":"MDQ6VXNlcjE1MTIwNw==","avatar_url":"https://avatars.githubusercontent.com/u/151207?v=4","gravatar_id":"","url":"https://api.github.com/users/poshaughnessy","html_url":"https://github.com/poshaughnessy","followers_url":"https://api.github.com/users/poshaughnessy/followers","following_url":"https://api.github.com/users/poshaughnessy/following{/other_user}","gists_url":"https://api.github.com/users/poshaughnessy/gists{/gist_id}","starred_url":"https://api.github.com/users/poshaughnessy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/poshaughnessy/subscriptions","organizations_url":"https://api.github.com/users/poshaughnessy/orgs","repos_url":"https://api.github.com/users/poshaughnessy/repos","events_url":"https://api.github.com/users/poshaughnessy/events{/privacy}","received_events_url":"https://api.github.com/users/poshaughnessy/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2024-11-28T15:59:50Z","updated_at":"2024-11-29T16:27:33Z","closed_at":"2024-11-29T16:27:05Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi. Using this vmod (v7.5) for the first time, need some help please!\r\n\r\nWhen I start Varnish up (Mac, with `sudo varnishd -F -a 127.0.0.1:80 -f $(pwd)/varnish-local.vcl -s file,/tmp,500M`) and run `sudo varnishadm backend.list`, I see an empty list of backends.\r\n\r\nAnd when I try to load the page the first time, I get a `503` error. Varnishlog says `fail errno 61 (Connection refused)`. \r\n\r\nThis happens every time I stop and restart Varnish. _After_ the first page load, then the backend does appear in the list, is shown as `healthy`, and subsequent page loads work OK.\r\n\r\nThe backend application is up the whole time and I can't think why it wouldn't be able to connect the first time. I can't see any logs for the backend application which would indicate a request coming through, for the first page load.\r\n\r\nFull varnishlog for the problematic first request:\r\n\r\n```\r\n* << BeReq >> 3 \r\n- Begin bereq 2 fetch\r\n- VCL_use boot\r\n- Timestamp Start: 1732807418.475018 0.000000 0.000000\r\n- BereqMethod GET\r\n- BereqURL /ecom/products/\r\n- BereqProtocol HTTP/1.1\r\n- BereqHeader Host: localhost\r\n- BereqHeader sec-ch-ua: \"Google Chrome\";v=\"131\", \"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"\r\n- BereqHeader sec-ch-ua-mobile: ?0\r\n- BereqHeader sec-ch-ua-platform: \"macOS\"\r\n- BereqHeader Upgrade-Insecure-Requests: 1\r\n- BereqHeader User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\r\n- BereqHeader Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7\r\n- BereqHeader Sec-Fetch-Site: none\r\n- BereqHeader Sec-Fetch-Mode: navigate\r\n- BereqHeader Sec-Fetch-User: ?1\r\n- BereqHeader Sec-Fetch-Dest: document\r\n- BereqHeader Accept-Language: en-GB,en-US;q=0.9,en;q=0.8\r\n- BereqHeader X-Forwarded-For: 127.0.0.1\r\n- BereqHeader Via: 1.1 HO-LAR17GRWNW7J (Varnish/7.5)\r\n- BereqHeader X-Iso-Timestamp: Thu, 28 Nov 2024 15:23:38 GMT\r\n- BereqHeader X-Esi-Request: false\r\n- BereqHeader X-Has-Token-Session: false\r\n- BereqHeader Cookie: X-Has-Token-Session=false\r\n- BereqHeader X-Mfe-Type: page\r\n- BereqHeader X-Cookie-Consent-Given: false\r\n- BereqHeader X-Functional-Cookie-Accepted: false\r\n- BereqHeader X-Analytics-Cookie-Accepted: false\r\n- BereqHeader X-Advertising-Cookie-Accepted: false\r\n- BereqHeader Accept-Encoding: gzip\r\n- BereqHeader X-Cache: MISS\r\n- BereqHeader X-Varnish: 3\r\n- VCL_call BACKEND_FETCH\r\n- VCL_return fetch\r\n- Timestamp Fetch: 1732807418.475039 0.000020 0.000020\r\n- FetchError backend browse(127.0.0.1:9190): fail errno 61 (Connection refused)\r\n- Timestamp Beresp: 1732807418.481269 0.006250 0.006229\r\n- Timestamp Error: 1732807418.481271 0.006253 0.000002\r\n- BerespProtocol HTTP/1.1\r\n- BerespStatus 503\r\n- BerespReason Backend fetch failed\r\n- BerespHeader Date: Thu, 28 Nov 2024 15:23:38 GMT\r\n- BerespHeader Server: Varnish\r\n- VCL_call BACKEND_ERROR\r\n- BerespHeader X-Log-Priority: ERROR\r\n- BerespHeader X-Varnish-Backend: browse\r\n- BerespHeader Content-Type: text/html; charset=utf-8\r\n- BerespHeader Retry-After: 5\r\n- VCL_return deliver\r\n- Storage malloc Transient\r\n- Length 278\r\n- BereqAcct 0 0 0 0 0 0\r\n- End \r\n\r\n* << Request >> 2 \r\n- Begin req 1 rxreq\r\n- Timestamp Start: 1732807418.471300 0.000000 0.000000\r\n- Timestamp Req: 1732807418.471300 0.000000 0.000000\r\n- VCL_use boot\r\n- ReqStart 127.0.0.1 50574 a0\r\n- ReqMethod GET\r\n- ReqURL /ecom/products/\r\n- ReqProtocol HTTP/1.1\r\n- ReqHeader Host: localhost\r\n- ReqHeader Connection: keep-alive\r\n- ReqHeader Cache-Control: max-age=0\r\n- ReqHeader sec-ch-ua: \"Google Chrome\";v=\"131\", \"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"\r\n- ReqHeader sec-ch-ua-mobile: ?0\r\n- ReqHeader sec-ch-ua-platform: \"macOS\"\r\n- ReqHeader Upgrade-Insecure-Requests: 1\r\n- ReqHeader User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\r\n- ReqHeader Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7\r\n- ReqHeader Sec-Fetch-Site: none\r\n- ReqHeader Sec-Fetch-Mode: navigate\r\n- ReqHeader Sec-Fetch-User: ?1\r\n- ReqHeader Sec-Fetch-Dest: document\r\n- ReqHeader Accept-Encoding: gzip, deflate, br, zstd\r\n- ReqHeader Accept-Language: en-GB,en-US;q=0.9,en;q=0.8\r\n- ReqHeader Cookie: X-Has-Token-Session=false\r\n- ReqHeader X-Forwarded-For: 127.0.0.1\r\n- ReqHeader Via: 1.1 HO-LAR17GRWNW7J (Varnish/7.5)\r\n- VCL_call RECV\r\n- ReqHeader X-Iso-Timestamp: Thu, 28 Nov 2024 15:23:38 GMT\r\n- ReqHeader X-Esi-Request: false\r\n- ReqHeader X-Has-Token-Session: false\r\n- VCL_Log customerId:-1\r\n- ReqUnset Cookie: X-Has-Token-Session=false\r\n- ReqHeader Cookie: X-Has-Token-Session=false\r\n- ReqHeader X-Mfe-Type: page\r\n- ReqHeader X-Cookie-Consent-Given: false\r\n- ReqHeader X-Functional-Cookie-Accepted: false\r\n- ReqHeader X-Analytics-Cookie-Accepted: false\r\n- ReqHeader X-Advertising-Cookie-Accepted: false\r\n- VCL_return hash\r\n- ReqUnset Accept-Encoding: gzip, deflate, br, zstd\r\n- ReqHeader Accept-Encoding: gzip\r\n- VCL_call HASH\r\n- VCL_return lookup\r\n- VCL_call MISS\r\n- ReqHeader X-Cache: MISS\r\n- VCL_return fetch\r\n- Link bereq 3 fetch\r\n- Timestamp Fetch: 1732807418.481376 0.010076 0.010076\r\n- RespProtocol HTTP/1.1\r\n- RespStatus 503\r\n- RespReason Backend fetch failed\r\n- RespHeader Date: Thu, 28 Nov 2024 15:23:38 GMT\r\n- RespHeader Server: Varnish\r\n- RespHeader X-Log-Priority: ERROR\r\n- RespHeader X-Varnish-Backend: browse\r\n- RespHeader Content-Type: text/html; charset=utf-8\r\n- RespHeader Retry-After: 5\r\n- RespHeader X-Varnish: 2\r\n- RespHeader Age: 0\r\n- RespHeader Via: 1.1 HO-LAR17GRWNW7J (Varnish/7.5)\r\n- VCL_call DELIVER\r\n- RespHeader X-Proxy-Cache: MISS\r\n- RespHeader X-Mfe-Type: page\r\n- RespHeader Set-Cookie: X-Has-Token-Session=false; path=/; max-age=3600; samesite=strict; secure\r\n- VCL_return deliver\r\n- Timestamp Process: 1732807418.481394 0.010094 0.000018\r\n- Filters \r\n- RespHeader Content-Length: 278\r\n- RespHeader Connection: keep-alive\r\n- Timestamp Resp: 1732807418.481611 0.010311 0.000216\r\n- ReqAcct 796 0 796 429 278 707\r\n- End \r\n```\r\n\r\nRelevant parts of the VCL:\r\n\r\n```\r\nimport dynamic;\r\n\r\n...\r\n\r\nbackend default none;\r\n\r\n...\r\n\r\nsub vcl_init {\r\n new browse = dynamic.director(ttl = 15m, connect_timeout = 5s, first_byte_timeout = 30s, between_bytes_timeout = 10s);\r\n # Other backends...\r\n}\r\n\r\nsub vcl_recv {\r\n\r\n ...\r\n\r\n if () {\r\n set req.backend_hint = browse.backend(\"localhost\", \"9190\");\r\n }\r\n\r\n ...\r\n```\r\n\r\n(I can't share the whole VCL, but could share other specific bits as needed. I could also try to make a stripped-down VCL for minimal replication if helpful?)\r\n\r\nThe behaviour I was expecting was for the backends to be initialised at startup, but I might have assumed that incorrectly - on the fly is fine, as long as the first page load can be served correctly?\r\n\r\nThanks v much in advance and for all your work on this vmod, which should be really useful for us!","closed_by":{"login":"poshaughnessy","id":151207,"node_id":"MDQ6VXNlcjE1MTIwNw==","avatar_url":"https://avatars.githubusercontent.com/u/151207?v=4","gravatar_id":"","url":"https://api.github.com/users/poshaughnessy","html_url":"https://github.com/poshaughnessy","followers_url":"https://api.github.com/users/poshaughnessy/followers","following_url":"https://api.github.com/users/poshaughnessy/following{/other_user}","gists_url":"https://api.github.com/users/poshaughnessy/gists{/gist_id}","starred_url":"https://api.github.com/users/poshaughnessy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/poshaughnessy/subscriptions","organizations_url":"https://api.github.com/users/poshaughnessy/orgs","repos_url":"https://api.github.com/users/poshaughnessy/repos","events_url":"https://api.github.com/users/poshaughnessy/events{/privacy}","received_events_url":"https://api.github.com/users/poshaughnessy/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/129/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/129/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/130","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/130/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/130/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/130/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/130","id":2876199629,"node_id":"I_kwDOBBOOTM6rb1LN","number":130,"title":"Does HTTPS / SSL work out of the box?","user":{"login":"musabshak","id":20545913,"node_id":"MDQ6VXNlcjIwNTQ1OTEz","avatar_url":"https://avatars.githubusercontent.com/u/20545913?v=4","gravatar_id":"","url":"https://api.github.com/users/musabshak","html_url":"https://github.com/musabshak","followers_url":"https://api.github.com/users/musabshak/followers","following_url":"https://api.github.com/users/musabshak/following{/other_user}","gists_url":"https://api.github.com/users/musabshak/gists{/gist_id}","starred_url":"https://api.github.com/users/musabshak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/musabshak/subscriptions","organizations_url":"https://api.github.com/users/musabshak/orgs","repos_url":"https://api.github.com/users/musabshak/repos","events_url":"https://api.github.com/users/musabshak/events{/privacy}","received_events_url":"https://api.github.com/users/musabshak/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804427,"node_id":"MDU6TGFiZWw0NDM4MDQ0Mjc=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/question","name":"question","color":"cc317c","default":true,"description":null}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2025-02-24T21:31:50Z","updated_at":"2025-03-05T16:20:22Z","closed_at":"2025-02-25T13:17:47Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"I am trying to use `libvmod-dynamic` to point Varnish to Google Cloud Storage's S3 REST API endpoint [1]: `storage.googleapis.com`. That is, trying to use Varnish as a caching forward-proxy to GCS. I need to use this / other similar \"dynamic backend\" VMOD because `storage.googleapis.com` resolves to multiple IPV4 + IPV6 IPs, and without using this VMOD, Varnish results in an error of the form:\n\n```\nBackend host \"url2.external-backend.com\": resolves to multiple IPv4 addresses.\nOnly one address is allowed.\nPlease specify which exact address you want to use, we found these:\n\n```\n\nWhen I configure a dynamic director with port \"80\", Varnish is able to connect to GCS just fine:\n\n```\n new d = dynamic.director(\n port = \"80\",\n whitelist = ipv4_only,\n connect_timeout = 5s,\n first_byte_timeout = 10s,\n between_bytes_timeout = 10s,\n ttl = 1s\n );\n\n set req.backend_hint = d.backend(host = \"storage.googleapis.com\");\n```\n\nBut when I switch to using \"443\" (HTTPS), Varnish is never able to connect to the GCS backend and returns errors:\n```\n- BackendOpen 33 d(142.251.214.155:443) 142.251.214.155 443 10.0.26.45 50656 connect\n- Timestamp Bereq: 1740431027.316045 0.002099 0.000087\n- FetchError HTC eof (Unexpected end of input)\n- BackendClose 33 d(142.251.214.155:443) close RX_BAD\n- Timestamp Beresp: 1740431027.318051 0.004105 0.002006\n- Timestamp Error: 1740431027.318055 0.004109 0.000003\n- BerespProtocol HTTP/1.1\n- BerespStatus 503\n- BerespReason Backend fetch failed\n- BerespHeader Date: Mon, 24 Feb 2025 21:03:47 GMT\n- BerespHeader Server: Varnish\n- VCL_call BACKEND_ERROR\n```\n\nThe motivation obviously is to use encrypted HTTPS for sending traffic over the public internet to/from GCS. \n\nDiscussion in https://github.com/nigoroll/libvmod-dynamic/pull/76 feels relevant. Any quick thoughts / pointers much appreciated. \n\nAnother similar \"dynamic backend\" VMOD (`reqwest` [2]) claims explicit support for HTTPS but I didn't see a similar claim in the `libvmod-dynamic` docs so I thought I'd quick check. Thank you!\n\n[1] https://cloud.google.com/storage/docs/interoperability\n[2] https://github.com/gquintard/vmod_reqwest\n\nimage: varnish:7.6.1","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/130/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/130/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/131","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/131/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/131/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/131/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/131","id":2900544129,"node_id":"I_kwDOBBOOTM6s4sqB","number":131,"title":"Big quit due to deadlock when destroying dynamic domains","user":{"login":"saaguero","id":2459621,"node_id":"MDQ6VXNlcjI0NTk2MjE=","avatar_url":"https://avatars.githubusercontent.com/u/2459621?v=4","gravatar_id":"","url":"https://api.github.com/users/saaguero","html_url":"https://github.com/saaguero","followers_url":"https://api.github.com/users/saaguero/followers","following_url":"https://api.github.com/users/saaguero/following{/other_user}","gists_url":"https://api.github.com/users/saaguero/gists{/gist_id}","starred_url":"https://api.github.com/users/saaguero/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saaguero/subscriptions","organizations_url":"https://api.github.com/users/saaguero/orgs","repos_url":"https://api.github.com/users/saaguero/repos","events_url":"https://api.github.com/users/saaguero/events{/privacy}","received_events_url":"https://api.github.com/users/saaguero/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":2228316027,"node_id":"MDU6TGFiZWwyMjI4MzE2MDI3","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/needs%20varnish-cache","name":"needs varnish-cache","color":"006b75","default":false,"description":"needs work in varnish-cache"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":10,"created_at":"2025-03-06T14:17:41Z","updated_at":"2025-12-07T16:04:48Z","closed_at":"2025-12-07T16:04:48Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"On normal operations, without much traffic, I have seen the following panic:\n\nThe way I used it is like the following (with haproxy for ssl)\n\n```vcl\nbackend sslon {\n .path = \"/run/sslon\";\n}\n\nsub vcl_init {\n new director = dynamic.director(\n ttl = 10s,\n via = sslon,\n port = 443);\n}\n\nsub vcl_backend_fetch {\n set bereq.backend = director.backend(regsub(bereq.http.baseUrl, \"^(https://)?(.*?)/?$\", \"\\2\"));\n return(fetch);\n}\n```\n\n```\nPanic at: Thu, 06 Mar 2025 04:55:00 GMT\nWrong turn at cache/cache_main.c:362:\nIt's time for the big quit\nversion = varnish-7.6.1 revision c3d5882003eb87e5e93dc09fb9513ca96db3ca3c, vrt api = 20.1\nident = Linux,6.8.0-1018-aws,x86_64,-jlinux,-smalloc,-sdefault,-hcritbit,epoll\nnow = 1766693.617585 (mono), 1741236889.395595 (real)\nBacktrace:\n 0x5b09f7de0ee4: /usr/sbin/varnishd(VBT_format+0x74) [0x5b09f7de0ee4]\n 0x5b09f7d5c440: /usr/sbin/varnishd(+0x60440) [0x5b09f7d5c440]\n 0x5b09f7de047c: /usr/sbin/varnishd(VAS_Fail+0x4c) [0x5b09f7de047c]\n 0x5b09f7d568f5: /usr/sbin/varnishd(+0x5a8f5) [0x5b09f7d568f5]\n 0x7165f9245330: /lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x7165f9245330]\n 0x7165f9298d6f: /lib/x86_64-linux-gnu/libc.so.6(+0x98d6f) [0x7165f9298d6f]\n 0x7165f929e7a3: /lib/x86_64-linux-gnu/libc.so.6(+0x9e7a3) [0x7165f929e7a3]\n 0x7165ddc5373f: ./vmod_cache/_vmod_dynamic.d0c0174a306f0e14bae5c6aeac83d361e4a831b344efeef7fb0d42bc921cd477(+0x473f) [0x7165ddc5373f]\n 0x5b09f7d6c5a4: /usr/sbin/varnishd(+0x705a4) [0x5b09f7d6c5a4]\n 0x5b09f7d6da0e: /usr/sbin/varnishd(+0x71a0e) [0x5b09f7d6da0e]\n 0x5b09f7d6e6b5: /usr/sbin/varnishd(+0x726b5) [0x5b09f7d6e6b5]\n 0x5b09f7de2dcb: /usr/sbin/varnishd(+0xe6dcb) [0x5b09f7de2dcb]\n 0x5b09f7de330b: /usr/sbin/varnishd(VCLS_Poll+0x32b) [0x5b09f7de330b]\n 0x5b09f7d37d74: /usr/sbin/varnishd(CLI_Run+0x74) [0x5b09f7d37d74]\n 0x5b09f7d570aa: /usr/sbin/varnishd(child_main+0x21a) [0x5b09f7d570aa]\n 0x5b09f7da2b15: /usr/sbin/varnishd(+0xa6b15) [0x5b09f7da2b15]\n 0x5b09f7da3d5f: /usr/sbin/varnishd(MCH_Start_Child+0xf) [0x5b09f7da3d5f]\n 0x5b09f7d29b02: /usr/sbin/varnishd(main+0x26b2) [0x5b09f7d29b02]\n 0x7165f922a1ca: /lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7165f922a1ca]\n 0x7165f922a28b: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7165f922a28b]\nargv = {\n [0] = \\\"/usr/sbin/varnishd\\\",\n [1] = \\\"-a\\\",\n [2] = \\\":80\\\",\n [3] = \\\"-a\\\",\n [4] = \\\"localhost:8443,proxy\\\",\n [5] = \\\"-T\\\",\n [6] = \\\"localhost:6082\\\",\n [7] = \\\"-f\\\",\n [8] = \\\"/etc/varnish/default.vcl\\\",\n [9] = \\\"-s\\\",\n [10] = \\\"malloc,7GB\\\",\n [11] = \\\"-p\\\",\n [12] = \\\"vsl_buffer=32KB\\\",\n [13] = \\\"-p\\\",\n [14] = \\\"vsl_reclen=16372b\\\",\n [15] = \\\"-p\\\",\n [16] = \\\"vsl_space=256MB\\\",\n [17] = \\\"-p\\\",\n [18] = \\\"workspace_client=4MB\\\",\n [19] = \\\"-p\\\",\n [20] = \\\"workspace_backend=1MB\\\",\n [21] = \\\"-p\\\",\n [22] = \\\"transit_buffer=1M\\\",\n [23] = \\\"-p\\\",\n [24] = \\\"timeout_idle=61\\\",\n [25] = \\\"-p\\\",\n [26] = \\\"thread_pool_min=1000\\\",\n [27] = \\\"-p\\\",\n [28] = \\\"thread_pool_max=2000\\\",\n [29] = \\\"-p\\\",\n [30] = \\\"feature=none,+vcl_req_reset\\\",\n}\npthread.self = 0x7165f99705c0\npthread.name = (cache-main)\npthread.attr = {\n guard = 0,\n stack_bottom = 0x7ffdd4ec8000,\n stack_top = 0x7ffdd56c6000,\n stack_size = 8380416,\n}\nthr.req = NULL\nthr.busyobj = NULL\nthr.worker = NULL\nvmods = {\n uuid = {0x7165f8ad7230, Varnish 7.6.1 c3d5882003eb87e5e93dc09fb9513ca96db3ca3c, 20.1},\n file = {0x7165f8ad72a0, Varnish 7.6.1 c3d5882003eb87e5e93dc09fb9513ca96db3ca3c, 20.1},\n querystring = {0x7165f8ad7310, Varnish 7.6.1 c3d5882003eb87e5e93dc09fb9513ca96db3ca3c, 20.1},\n std = {0x7165f8ad7380, Varnish 7.6.1 c3d5882003eb87e5e93dc09fb9513ca96db3ca3c, 0.0},\n str = {0x7165f8ad7460, Varnish 7.6.1 c3d5882003eb87e5e93dc09fb9513ca96db3ca3c, 0.0},\n dynamic = {0x7165f8ad7540, Varnish 7.6.1 c3d5882003eb87e5e93dc09fb9513ca96db3ca3c, 20.1},\n re = {0x7165f8ad75b0, Varnish 7.6.1 c3d5882003eb87e5e93dc09fb9513ca96db3ca3c, 20.1},\n frozen = {0x7165f8ad7620, Varnish 7.6.1 c3d5882003eb87e5e93dc09fb9513ca96db3ca3c, 0.0},\n},\npools = {\n pool = 0x7165e5e00000 {\n nidle = 28,\n nthr = 2000,\n lqueue = 1\n },\n pool = 0x7165e5e00140 {\n nidle = 28,\n nthr = 2000,\n lqueue = 1\n },\n},\n```","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/131/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/131/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/132","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/132/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/132/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/132/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/132","id":2932136844,"node_id":"I_kwDOBBOOTM6uxNuM","number":132,"title":"Supporting dual stack networking (prefer IPv6)","user":{"login":"thomasklinger1234","id":39558817,"node_id":"MDQ6VXNlcjM5NTU4ODE3","avatar_url":"https://avatars.githubusercontent.com/u/39558817?v=4","gravatar_id":"","url":"https://api.github.com/users/thomasklinger1234","html_url":"https://github.com/thomasklinger1234","followers_url":"https://api.github.com/users/thomasklinger1234/followers","following_url":"https://api.github.com/users/thomasklinger1234/following{/other_user}","gists_url":"https://api.github.com/users/thomasklinger1234/gists{/gist_id}","starred_url":"https://api.github.com/users/thomasklinger1234/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thomasklinger1234/subscriptions","organizations_url":"https://api.github.com/users/thomasklinger1234/orgs","repos_url":"https://api.github.com/users/thomasklinger1234/repos","events_url":"https://api.github.com/users/thomasklinger1234/events{/privacy}","received_events_url":"https://api.github.com/users/thomasklinger1234/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804424,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjQ=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/enhancement","name":"enhancement","color":"84b6eb","default":true,"description":null}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2025-03-19T15:02:35Z","updated_at":"2026-01-08T13:31:39Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"## Summary\n\nAs a developer, I want to configure `dynamic` VMOD to support dualstack when resolving backend endpoint IPs, so I can support dual stack architectures. \n\nIs it possible to \"prefer\" IPv6 somehow before libvmod-dynamic considers returning IPv4 addresses when calling `xdynamic.backend()` without hacking around with operating system settings, `/etc/gai.conf` or network architecture. \n\nI have looked into [this](https://github.com/nigoroll/libvmod-dynamic/blob/master/src/tests/resolver/test01.vtc) VTC test but after some tests it seems that the `acl` will rule out IPv4 addresses completely from DNS resolution but I would like to support a softer fallback to ease migration and integration for our backend teams. \n\n## Background\n\nOur network architecture mandates the usage of [dual stack](https://www.juniper.net/documentation/us/en/software/junos/is-is/topics/concept/ipv6-dual-stack-understanding.html) networking, i.e. support for both IPv4 and IPv6 addresses on the same DNS name (not record). Currently, the setup is `HAProxy -> Varnish backend -> HAproxy backend -> resolve-prefer ipv6 -> origin`, so a very standard Varnish architecture but we want to switch to using `libvmod-dynamic` instead. \n\nFor example, if I want to proxy `example.com` with Varnish and libvmod-dynamic, it resolves to the following IPs\n\n```\n$ dig +short A example.com\n23.215.0.136\n23.215.0.138\n96.7.128.175\n96.7.128.198\n23.192.228.80\n23.192.228.8\n\n$ dig +short AAAA example.com\n2600:1408:ec00:36::1736:7f24\n2600:1408:ec00:36::1736:7f31\n2600:1406:3a00:21::173e:2e65\n2600:1406:3a00:21::173e:2e66\n2600:1406:bc00:53::b81e:94c8\n2600:1406:bc00:53::b81e:94ce\n```\n\nMy use case involves the following scenario:\n- If `example.com` supports IPv6 via AAAA record, those IPs should be preferred\n- If `example.com` does not support IPv6, fallback to IPv4\n\nThis is similar to HAProxy's [resolve-prefer](https://www.haproxy.com/documentation/haproxy-configuration-manual/latest/#5.2-resolve-prefer) option. \n\n## Environment\n\n- Varnish with `libvmod-dynamic` from `varnish:7.6.1` docker image\n- HAProxy configured via `sslon` to onload TLS (otherwise we would simply use the HAProxy setting)","closed_by":null,"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/132/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/132/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/133","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/133/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/133/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/133/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/133","id":2988056403,"node_id":"PR_kwDOBBOOTM6SOhdI","number":133,"title":"Migrate to VCDK","user":{"login":"cartoush","id":16189883,"node_id":"MDQ6VXNlcjE2MTg5ODgz","avatar_url":"https://avatars.githubusercontent.com/u/16189883?v=4","gravatar_id":"","url":"https://api.github.com/users/cartoush","html_url":"https://github.com/cartoush","followers_url":"https://api.github.com/users/cartoush/followers","following_url":"https://api.github.com/users/cartoush/following{/other_user}","gists_url":"https://api.github.com/users/cartoush/gists{/gist_id}","starred_url":"https://api.github.com/users/cartoush/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cartoush/subscriptions","organizations_url":"https://api.github.com/users/cartoush/orgs","repos_url":"https://api.github.com/users/cartoush/repos","events_url":"https://api.github.com/users/cartoush/events{/privacy}","received_events_url":"https://api.github.com/users/cartoush/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2025-04-11T09:11:00Z","updated_at":"2025-07-01T13:35:34Z","closed_at":"2025-07-01T13:35:33Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/133","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/133","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/133.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/133.patch","merged_at":"2025-07-01T13:35:33Z"},"body":"Refactoring of this VMOD so that it corresponds\r\nto the schema described in https://git.sr.ht/~dridi/vcdk","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/133/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/133/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/134","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/134/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/134/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/134/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/134","id":3044768425,"node_id":"I_kwDOBBOOTM61e3qp","number":134,"title":"Varnish 7.7","user":{"login":"ronald-sz","id":97725423,"node_id":"U_kgDOBdMr7w","avatar_url":"https://avatars.githubusercontent.com/u/97725423?v=4","gravatar_id":"","url":"https://api.github.com/users/ronald-sz","html_url":"https://github.com/ronald-sz","followers_url":"https://api.github.com/users/ronald-sz/followers","following_url":"https://api.github.com/users/ronald-sz/following{/other_user}","gists_url":"https://api.github.com/users/ronald-sz/gists{/gist_id}","starred_url":"https://api.github.com/users/ronald-sz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronald-sz/subscriptions","organizations_url":"https://api.github.com/users/ronald-sz/orgs","repos_url":"https://api.github.com/users/ronald-sz/repos","events_url":"https://api.github.com/users/ronald-sz/events{/privacy}","received_events_url":"https://api.github.com/users/ronald-sz/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2025-05-07T05:51:40Z","updated_at":"2025-05-22T13:44:17Z","closed_at":"2025-05-21T14:58:40Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi Nils, \n\nis libvmod-dynamic ready for Varnish 7.7? If so, could we get a branch. \n\nThank you,\nRonald","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/134/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/134/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/135","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/135/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/135/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/135/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/135","id":3424025919,"node_id":"PR_kwDOBBOOTM6o9NQX","number":135,"title":"Revert \"Handle src/vmod_vcs_version.txt\"","user":{"login":"gquintard","id":3776553,"node_id":"MDQ6VXNlcjM3NzY1NTM=","avatar_url":"https://avatars.githubusercontent.com/u/3776553?v=4","gravatar_id":"","url":"https://api.github.com/users/gquintard","html_url":"https://github.com/gquintard","followers_url":"https://api.github.com/users/gquintard/followers","following_url":"https://api.github.com/users/gquintard/following{/other_user}","gists_url":"https://api.github.com/users/gquintard/gists{/gist_id}","starred_url":"https://api.github.com/users/gquintard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gquintard/subscriptions","organizations_url":"https://api.github.com/users/gquintard/orgs","repos_url":"https://api.github.com/users/gquintard/repos","events_url":"https://api.github.com/users/gquintard/events{/privacy}","received_events_url":"https://api.github.com/users/gquintard/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2025-09-16T23:23:25Z","updated_at":"2025-12-07T18:38:43Z","closed_at":"2025-12-07T15:53:32Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/135","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/135","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/135.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/135.patch","merged_at":null},"body":"This reverts commit 2b18abec24e8b51b0b316fa028ee01cad73fc533.\r\n\r\nOn 8.0, I'm getting:\r\n\r\n```\r\n/usr/bin/install -c -m 644 vmod_dynamic.vcc ./vmod_vcs_version.txt vtc/admin_health.vtc vtc/layer.vtc vtc/layer_probe.vtc vtc/layer_reload.vtc vtc/r00107.vtc vtc/stale_obj.vtc vtc/test01.vtc vtc/test02.vtc vtc/test03.vtc vtc/test04.vtc vtc/test05.vtc vtc/test06.vtc vtc/test07.vtc vtc/test08.vtc vtc/test09.vtc vtc/test10.vtc vtc/test11.vtc vtc/test12.vtc vtc/test13.vtc vtc/test14.vtc vtc/via.vtc vtc/via_uds.vtc vtc/nogetdns/resolver_init_error.vtc '/usr/share/doc/vmod-dynamic'\r\n/bin/mkdir -p '/usr/lib/varnish/vmods'\r\ninstall: can't stat './vmod_vcs_version.txt': No such file or directory\r\n```\r\n\r\n`vmod_vcs_version.txt` doesn't seem to be generated anymore, and reverting the original commit seems to do the job.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/135/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/135/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/136","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/136/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/136/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/136/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/136","id":3652238523,"node_id":"I_kwDOBBOOTM7ZsLy7","number":136,"title":"Support for Varnish 8.0.0","user":{"login":"ronald-sz","id":97725423,"node_id":"U_kgDOBdMr7w","avatar_url":"https://avatars.githubusercontent.com/u/97725423?v=4","gravatar_id":"","url":"https://api.github.com/users/ronald-sz","html_url":"https://github.com/ronald-sz","followers_url":"https://api.github.com/users/ronald-sz/followers","following_url":"https://api.github.com/users/ronald-sz/following{/other_user}","gists_url":"https://api.github.com/users/ronald-sz/gists{/gist_id}","starred_url":"https://api.github.com/users/ronald-sz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronald-sz/subscriptions","organizations_url":"https://api.github.com/users/ronald-sz/orgs","repos_url":"https://api.github.com/users/ronald-sz/repos","events_url":"https://api.github.com/users/ronald-sz/events{/privacy}","received_events_url":"https://api.github.com/users/ronald-sz/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2025-11-21T15:59:26Z","updated_at":"2025-12-10T15:15:49Z","closed_at":"2025-12-07T16:33:54Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi Nils, \n\nis vmod_dynamic ready for using with Varnish 8.0.0? Could we get a branch for this?\n\nThank you!","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/136/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/136/timeline","performed_via_github_app":null,"state_reason":"completed"}] \ No newline at end of file diff --git a/services/migrations/testdata/github/pagination/GET_%2Frepos%2Fnigoroll%2Flibvmod-dynamic%2Fissues%3Fafter=Y3Vyc29yOnYyOpLPAAABmqckTzDO2bC8uw%253D%253D&direction=asc&per_page=45&sort=created&state=all b/services/migrations/testdata/github/pagination/GET_%2Frepos%2Fnigoroll%2Flibvmod-dynamic%2Fissues%3Fafter=Y3Vyc29yOnYyOpLPAAABmqckTzDO2bC8uw%253D%253D&direction=asc&per_page=45&sort=created&state=all new file mode 100644 index 0000000000..42a7d306dc --- /dev/null +++ b/services/migrations/testdata/github/pagination/GET_%2Frepos%2Fnigoroll%2Flibvmod-dynamic%2Fissues%3Fafter=Y3Vyc29yOnYyOpLPAAABmqckTzDO2bC8uw%253D%253D&direction=asc&per_page=45&sort=created&state=all @@ -0,0 +1,24 @@ +X-Ratelimit-Reset: 1769189499 +X-Ratelimit-Used: 5 +Link: ; rel="prev" +Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset +Strict-Transport-Security: max-age=31536000; includeSubdomains; preload +X-Ratelimit-Limit: 5000 +X-Github-Request-Id: 545E:1E338F:1CE503C:199716F:6973A26E +Vary: Accept, Authorization, Cookie, X-GitHub-OTP,Accept-Encoding, Accept, X-Requested-With +X-Github-Media-Type: github.v3; param=squirrel-girl-preview +X-Frame-Options: deny +Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin +X-Ratelimit-Resource: core +Content-Type: application/json; charset=utf-8 +Cache-Control: private, max-age=60, s-maxage=60 +Etag: W/"c62d1ce27432411ccc529108455637a8bb6afea88b1be0bc1285beac77d2d917" +X-Github-Api-Version-Selected: 2022-11-28 +X-Content-Type-Options: nosniff +X-Ratelimit-Remaining: 4995 +X-Accepted-Github-Permissions: issues=read +Access-Control-Allow-Origin: * +X-Xss-Protection: 0 +Content-Security-Policy: default-src 'none' + +[{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/137","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/137/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/137/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/137/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/137","id":3720454114,"node_id":"I_kwDOBBOOTM7dwZ_i","number":137,"title":"resolver_test01.vtc is broken to the redirection","user":{"login":"gquintard","id":3776553,"node_id":"MDQ6VXNlcjM3NzY1NTM=","avatar_url":"https://avatars.githubusercontent.com/u/3776553?v=4","gravatar_id":"","url":"https://api.github.com/users/gquintard","html_url":"https://github.com/gquintard","followers_url":"https://api.github.com/users/gquintard/followers","following_url":"https://api.github.com/users/gquintard/following{/other_user}","gists_url":"https://api.github.com/users/gquintard/gists{/gist_id}","starred_url":"https://api.github.com/users/gquintard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gquintard/subscriptions","organizations_url":"https://api.github.com/users/gquintard/orgs","repos_url":"https://api.github.com/users/gquintard/repos","events_url":"https://api.github.com/users/gquintard/events{/privacy}","received_events_url":"https://api.github.com/users/gquintard/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2025-12-11T18:11:44Z","updated_at":"2025-12-12T11:12:19Z","closed_at":"2025-12-12T11:12:19Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"https://github.com/nigoroll/libvmod-dynamic/blob/master/src/vtc/resolver/resolver_test01.vtc#L25 now gets a 301.\n\nCan we get a release soon fixing this? Until then I'll disable tests while packaging as this is blocking the docker image builds","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/137/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/137/timeline","performed_via_github_app":null,"state_reason":"completed"}] \ No newline at end of file diff --git a/services/migrations/testdata/github/pagination/GET_%2Frepos%2Fnigoroll%2Flibvmod-dynamic%2Fissues%3Fdirection=asc&per_page=45&sort=created&state=all b/services/migrations/testdata/github/pagination/GET_%2Frepos%2Fnigoroll%2Flibvmod-dynamic%2Fissues%3Fdirection=asc&per_page=45&sort=created&state=all new file mode 100644 index 0000000000..c62ec9e6fc --- /dev/null +++ b/services/migrations/testdata/github/pagination/GET_%2Frepos%2Fnigoroll%2Flibvmod-dynamic%2Fissues%3Fdirection=asc&per_page=45&sort=created&state=all @@ -0,0 +1,24 @@ +X-Ratelimit-Reset: 1769189499 +X-Ratelimit-Resource: core +X-Github-Request-Id: 545E:1E338F:1CE3DD7:199617C:6973A26B +Content-Type: application/json; charset=utf-8 +Etag: W/"f4096a477bafdefb5addb2cef527544dd7d154491e9fc135eec41a153aee699e" +X-Accepted-Github-Permissions: issues=read +X-Frame-Options: deny +X-Xss-Protection: 0 +Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin +Content-Security-Policy: default-src 'none' +X-Ratelimit-Remaining: 4998 +X-Ratelimit-Limit: 5000 +X-Ratelimit-Used: 2 +Cache-Control: private, max-age=60, s-maxage=60 +Vary: Accept, Authorization, Cookie, X-GitHub-OTP,Accept-Encoding, Accept, X-Requested-With +Link: ; rel="next" +X-Github-Api-Version-Selected: 2022-11-28 +Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset +Access-Control-Allow-Origin: * +X-Content-Type-Options: nosniff +X-Github-Media-Type: github.v3; param=squirrel-girl-preview +Strict-Transport-Security: max-age=31536000; includeSubdomains; preload + +[{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/1","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/1/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/1/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/1","id":179302563,"node_id":"MDU6SXNzdWUxNzkzMDI1NjM=","number":1,"title":"What changes are needed for \"make check\" to work","user":{"login":"danielmotaleite","id":11890049,"node_id":"MDQ6VXNlcjExODkwMDQ5","avatar_url":"https://avatars.githubusercontent.com/u/11890049?v=4","gravatar_id":"","url":"https://api.github.com/users/danielmotaleite","html_url":"https://github.com/danielmotaleite","followers_url":"https://api.github.com/users/danielmotaleite/followers","following_url":"https://api.github.com/users/danielmotaleite/following{/other_user}","gists_url":"https://api.github.com/users/danielmotaleite/gists{/gist_id}","starred_url":"https://api.github.com/users/danielmotaleite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielmotaleite/subscriptions","organizations_url":"https://api.github.com/users/danielmotaleite/orgs","repos_url":"https://api.github.com/users/danielmotaleite/repos","events_url":"https://api.github.com/users/danielmotaleite/events{/privacy}","received_events_url":"https://api.github.com/users/danielmotaleite/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2016-09-26T18:27:04Z","updated_at":"2016-11-28T08:17:58Z","closed_at":"2016-10-04T15:36:24Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"You say `The test suite may not currently run without global (but minor) changes to your system.` , but make no reference on what to change for then to work.\n\nPlease add some more info\n\nThanks\n","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/1/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/1/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/2","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/2/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/2/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/2","id":181296166,"node_id":"MDU6SXNzdWUxODEyOTYxNjY=","number":2,"title":"Steal packaging goodies from vmod-querystring","user":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804424,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjQ=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/enhancement","name":"enhancement","color":"84b6eb","default":true,"description":null}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/milestones/1","html_url":"https://github.com/nigoroll/libvmod-dynamic/milestone/1","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/milestones/1/labels","id":2411902,"node_id":"MDk6TWlsZXN0b25lMjQxMTkwMg==","number":1,"title":"1.0","description":null,"creator":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"open_issues":0,"closed_issues":4,"state":"open","created_at":"2017-03-26T20:50:32Z","updated_at":"2019-07-13T16:40:27Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2016-10-06T00:09:42Z","updated_at":"2018-09-12T15:22:07Z","closed_at":"2018-09-12T15:22:07Z","author_association":"COLLABORATOR","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"The current packaging was inherited from vmod-example when it still had packaging built-in. RPM packaging was maintained, but the debian stuff was left alone so I'm not even sure it works.\n\nThis module could advertise turnkey [RPM](https://github.com/Dridi/libvmod-querystring/blob/master/Makefile.am#L41-L68) and [DPKG](https://github.com/Dridi/libvmod-querystring/blob/master/Makefile.am#L70-L97) packaging directly from `make` if you have the relevant tools on your system. And that includes chroot-type builds, like for instance building for Debian Sid on a Fedora system.\n\nDebian support is still experimental in vmod-querystring, but at least it is maintained.\n","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/2/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/2/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/3","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/3/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/3/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/3","id":184464855,"node_id":"MDU6SXNzdWUxODQ0NjQ4NTU=","number":3,"title":"Building vmod on debian jessie with varnish 4.1.3 fails","user":{"login":"filidorwiese","id":864967,"node_id":"MDQ6VXNlcjg2NDk2Nw==","avatar_url":"https://avatars.githubusercontent.com/u/864967?v=4","gravatar_id":"","url":"https://api.github.com/users/filidorwiese","html_url":"https://github.com/filidorwiese","followers_url":"https://api.github.com/users/filidorwiese/followers","following_url":"https://api.github.com/users/filidorwiese/following{/other_user}","gists_url":"https://api.github.com/users/filidorwiese/gists{/gist_id}","starred_url":"https://api.github.com/users/filidorwiese/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/filidorwiese/subscriptions","organizations_url":"https://api.github.com/users/filidorwiese/orgs","repos_url":"https://api.github.com/users/filidorwiese/repos","events_url":"https://api.github.com/users/filidorwiese/events{/privacy}","received_events_url":"https://api.github.com/users/filidorwiese/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804424,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjQ=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/enhancement","name":"enhancement","color":"84b6eb","default":true,"description":null},{"id":443804427,"node_id":"MDU6TGFiZWw0NDM4MDQ0Mjc=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/question","name":"question","color":"cc317c","default":true,"description":null}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/milestones/1","html_url":"https://github.com/nigoroll/libvmod-dynamic/milestone/1","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/milestones/1/labels","id":2411902,"node_id":"MDk6TWlsZXN0b25lMjQxMTkwMg==","number":1,"title":"1.0","description":null,"creator":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"open_issues":0,"closed_issues":4,"state":"open","created_at":"2017-03-26T20:50:32Z","updated_at":"2019-07-13T16:40:27Z","due_on":null,"closed_at":null},"comments":8,"created_at":"2016-10-21T11:36:47Z","updated_at":"2018-09-12T15:20:53Z","closed_at":"2018-09-12T15:20:53Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi! I'm trying to build libvmod-dynamic on a minimum Debian Jessie environment with Varnish 4.1.3 already installed. When trying to run autogen.sh I get this error:\n\n```\n$ /root/libvmod-dynamic/autogen.sh\n+ aclocal -I m4 -I /usr/share/aclocal\n+ libtoolize --copy --force\nlibtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.\nlibtoolize: copying file `build-aux/ltmain.sh'\nlibtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.\nlibtoolize: copying file `m4/libtool.m4'\nlibtoolize: copying file `m4/ltoptions.m4'\nlibtoolize: copying file `m4/ltsugar.m4'\nlibtoolize: copying file `m4/ltversion.m4'\nlibtoolize: copying file `m4/lt~obsolete.m4'\n+ autoheader\n+ automake --add-missing --copy --foreign\nsrc/Makefile.am:4: error: 'vmod_LTLIBRARIES' is used but 'vmoddir' is undefined\nautomake: warnings are treated as errors\nsrc/Makefile.am:6: warning: variable 'libvmod_dynamic_la_SOURCES' is defined but no program or\nsrc/Makefile.am:6: library has 'libvmod_dynamic_la' as canonical name (possible typo)\nsrc/Makefile.am:10: warning: variable 'nodist_libvmod_dynamic_la_SOURCES' is defined but no program or\nsrc/Makefile.am:10: library has 'libvmod_dynamic_la' as canonical name (possible typo)\n```\n\nI'm probably missing something obvious. Could someone point me in the right direction?\n","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/3/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/3/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/4","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/4/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/4/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/4","id":185894138,"node_id":"MDU6SXNzdWUxODU4OTQxMzg=","number":4,"title":"Fetcherror no backend connection","user":{"login":"markhowells","id":3914721,"node_id":"MDQ6VXNlcjM5MTQ3MjE=","avatar_url":"https://avatars.githubusercontent.com/u/3914721?v=4","gravatar_id":"","url":"https://api.github.com/users/markhowells","html_url":"https://github.com/markhowells","followers_url":"https://api.github.com/users/markhowells/followers","following_url":"https://api.github.com/users/markhowells/following{/other_user}","gists_url":"https://api.github.com/users/markhowells/gists{/gist_id}","starred_url":"https://api.github.com/users/markhowells/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markhowells/subscriptions","organizations_url":"https://api.github.com/users/markhowells/orgs","repos_url":"https://api.github.com/users/markhowells/repos","events_url":"https://api.github.com/users/markhowells/events{/privacy}","received_events_url":"https://api.github.com/users/markhowells/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804422,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjI=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/bug","name":"bug","color":"ee0701","default":true,"description":null}],"state":"closed","locked":false,"assignee":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"assignees":[{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false}],"milestone":null,"comments":20,"created_at":"2016-10-28T10:50:32Z","updated_at":"2016-11-15T15:23:05Z","closed_at":"2016-11-15T15:23:05Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"I'm trying to create a simple proxy for a site. As the details are unknown until runtime vmod_dynamic looked perfect. However about 30% of the time i see the following in the log\n\n```\n- VCL_call BACKEND_FETCH\n- VCL_return fetch\n- FetchError no backend connection\n```\n\nHere's a tiny VCL that causes the problem.\n\n```\nvcl 4.0;\nimport dynamic;\nbackend default {\n .host = \"10.0.0.1\";\n .port = \"80\";\n}\nsub vcl_init {\n new dynamic_dir = dynamic.director( port=\"80\" );\n}\nsub vcl_recv {\n set req.backend_hint = dynamic_dir.backend();\n}\nsub vcl_backend_fetch {\n set bereq.backend = dynamic_dir.backend();\n}\n\n```\n\nAs it stands, I'd expect that to proxy any traffic that reaches it (I'm not expecting this to cache or anything yet). I've been testing using a range of sites but a simple test add the following to your hosts file on a desktop\n` www.dalestrailseries.co.uk`\nand point your browser at http://www.dalestrailseries.co.uk \n\nAt best you'll either see a whole page or a broken page or just an error, click a sidebar link or two and it'll always break. The same issue exists with every site i've set up... I've experimented with every timeout I can and nothing seems to change\n\nI should add that I'm totally new to Varnish - I apologise in advance if I've got the wrong end of the stick somewhere...\n\nI've attached the varnishlog\n\n[varnishlog.txt](https://github.com/nigoroll/libvmod-dynamic/files/558154/varnishlog.txt)\n","closed_by":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/4/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/4/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/5","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/5/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/5/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/5/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/5","id":187436711,"node_id":"MDExOlB1bGxSZXF1ZXN0OTI0MTQ2Njk=","number":5,"title":"Avoid deadlocking when going cold.","user":{"login":"felipewd","id":547142,"node_id":"MDQ6VXNlcjU0NzE0Mg==","avatar_url":"https://avatars.githubusercontent.com/u/547142?v=4","gravatar_id":"","url":"https://api.github.com/users/felipewd","html_url":"https://github.com/felipewd","followers_url":"https://api.github.com/users/felipewd/followers","following_url":"https://api.github.com/users/felipewd/following{/other_user}","gists_url":"https://api.github.com/users/felipewd/gists{/gist_id}","starred_url":"https://api.github.com/users/felipewd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/felipewd/subscriptions","organizations_url":"https://api.github.com/users/felipewd/orgs","repos_url":"https://api.github.com/users/felipewd/repos","events_url":"https://api.github.com/users/felipewd/events{/privacy}","received_events_url":"https://api.github.com/users/felipewd/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-11-04T20:58:18Z","updated_at":"2016-11-04T23:12:05Z","closed_at":"2016-11-04T23:11:58Z","author_association":"NONE","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/5","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/5","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/5.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/5.patch","merged_at":null},"body":"When we receive a cold/discard vmod event, we do a pthread_join with\r\nobj->mtx held.\r\n\r\nThis creates the possibility for a deadlock if, at the same time we're\r\nabout to pthread_join, another thread is in dynamic_update, which tries\r\nto hold the same mutex:\r\n\r\n\r\n```\r\nvmod_event thread_A\r\nobj->active = 0\r\nlock(obj->mtx)\r\n.\r\n. lock(obj->mtx) -> deadlocks\r\n. .\r\npthread_join(thread_A) .\r\n. .\r\n. unlock(obj->mtx)\r\n.\r\nunlock(obj->mtx)\r\n\r\n```\r\nThe solution is after we get the DNS results, we do an early check if\r\nthe obj is still active. If it's not, just exit there and finish the\r\nthread.\r\n\r\nThis fixes https://github.com/varnishcache/varnish-cache/issues/2103","closed_by":{"login":"felipewd","id":547142,"node_id":"MDQ6VXNlcjU0NzE0Mg==","avatar_url":"https://avatars.githubusercontent.com/u/547142?v=4","gravatar_id":"","url":"https://api.github.com/users/felipewd","html_url":"https://github.com/felipewd","followers_url":"https://api.github.com/users/felipewd/followers","following_url":"https://api.github.com/users/felipewd/following{/other_user}","gists_url":"https://api.github.com/users/felipewd/gists{/gist_id}","starred_url":"https://api.github.com/users/felipewd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/felipewd/subscriptions","organizations_url":"https://api.github.com/users/felipewd/orgs","repos_url":"https://api.github.com/users/felipewd/repos","events_url":"https://api.github.com/users/felipewd/events{/privacy}","received_events_url":"https://api.github.com/users/felipewd/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/5/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/5/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/6","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/6/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/6/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/6/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/6","id":187459577,"node_id":"MDExOlB1bGxSZXF1ZXN0OTI0MzEyNDI=","number":6,"title":"Avoid deadlocking when going cold - take 2","user":{"login":"felipewd","id":547142,"node_id":"MDQ6VXNlcjU0NzE0Mg==","avatar_url":"https://avatars.githubusercontent.com/u/547142?v=4","gravatar_id":"","url":"https://api.github.com/users/felipewd","html_url":"https://github.com/felipewd","followers_url":"https://api.github.com/users/felipewd/followers","following_url":"https://api.github.com/users/felipewd/following{/other_user}","gists_url":"https://api.github.com/users/felipewd/gists{/gist_id}","starred_url":"https://api.github.com/users/felipewd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/felipewd/subscriptions","organizations_url":"https://api.github.com/users/felipewd/orgs","repos_url":"https://api.github.com/users/felipewd/repos","events_url":"https://api.github.com/users/felipewd/events{/privacy}","received_events_url":"https://api.github.com/users/felipewd/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-11-04T23:29:34Z","updated_at":"2016-11-07T15:42:22Z","closed_at":"2016-11-07T15:42:22Z","author_association":"NONE","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/6","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/6","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/6.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/6.patch","merged_at":null},"body":"When we receive a cold/discard vmod event, we do a pthread_join with\r\nobj->mtx held.\r\n\r\nThis creates the possibility for a deadlock if, at the same time we're\r\nabout to pthread_join, another thread is in dynamic_update, which tries\r\nto hold the same mutex:\r\n\r\n```\r\nvmod_event thread_A\r\nobj->active = 0\r\nlock(obj->mtx)\r\n.\r\n. lock(obj->mtx) -> deadlock\r\n. .\r\npthread_join(thread_A) .\r\n. .\r\n. unlock(obj->mtx)\r\n.\r\nunlock(obj->mtx)\r\n\r\n```\r\nThe solution is after we get the DNS results, we do an early check if\r\nthe obj is still active. If it's not, just exit there and finish the\r\nthread.\r\n\r\nSince we're dropping the update and exiting the thread, the user can be confused if this is logged in SLT_Error or SLT_VCL_Log.\r\n\r\nThis fixes varnishcache/varnish-cache#2103","closed_by":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/6/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/6/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/7","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/7/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/7/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/7/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/7","id":187761638,"node_id":"MDU6SXNzdWUxODc3NjE2Mzg=","number":7,"title":"infinite loop in dynamic_resolve","user":{"login":"felipewd","id":547142,"node_id":"MDQ6VXNlcjU0NzE0Mg==","avatar_url":"https://avatars.githubusercontent.com/u/547142?v=4","gravatar_id":"","url":"https://api.github.com/users/felipewd","html_url":"https://github.com/felipewd","followers_url":"https://api.github.com/users/felipewd/followers","following_url":"https://api.github.com/users/felipewd/following{/other_user}","gists_url":"https://api.github.com/users/felipewd/gists{/gist_id}","starred_url":"https://api.github.com/users/felipewd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/felipewd/subscriptions","organizations_url":"https://api.github.com/users/felipewd/orgs","repos_url":"https://api.github.com/users/felipewd/repos","events_url":"https://api.github.com/users/felipewd/events{/privacy}","received_events_url":"https://api.github.com/users/felipewd/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804422,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjI=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/bug","name":"bug","color":"ee0701","default":true,"description":null}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":17,"created_at":"2016-11-07T16:39:59Z","updated_at":"2018-09-12T15:19:25Z","closed_at":"2018-09-12T15:19:25Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi,\r\n\r\nWe're facing an infinite loop in dynamic_resolve:\r\n\r\n> do {\r\n> if (next != NULL)\r\n> next = VTAILQ_NEXT(next, list);\r\n> if (next == NULL)\r\n> next = VTAILQ_FIRST(&dom->refs);\r\n> } while (next != dom->current &&\r\n> !next->be->dir->healthy(next->be->dir, NULL, NULL));\r\n\r\none possible cause for this is dom->current being NULL in first place.\r\n\r\nOnly one other function changes the value of dom->current and _could_ make this condition possible, it's dynamic_del:\r\n\r\n> if (r == dom->current)\r\n> dom->current = VTAILQ_NEXT(r, list);\r\n\r\nSince this part of the code doesn't have the protection to go back do VTAILQ_FIRST in case NEXT is NULL.\r\n\r\nWe'll submit a patch to fix this.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/7/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/7/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/8","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/8/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/8/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/8","id":187761915,"node_id":"MDExOlB1bGxSZXF1ZXN0OTI2MTg2MDg=","number":8,"title":"Never allow a NULL reference in dom->current","user":{"login":"felipewd","id":547142,"node_id":"MDQ6VXNlcjU0NzE0Mg==","avatar_url":"https://avatars.githubusercontent.com/u/547142?v=4","gravatar_id":"","url":"https://api.github.com/users/felipewd","html_url":"https://github.com/felipewd","followers_url":"https://api.github.com/users/felipewd/followers","following_url":"https://api.github.com/users/felipewd/following{/other_user}","gists_url":"https://api.github.com/users/felipewd/gists{/gist_id}","starred_url":"https://api.github.com/users/felipewd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/felipewd/subscriptions","organizations_url":"https://api.github.com/users/felipewd/orgs","repos_url":"https://api.github.com/users/felipewd/repos","events_url":"https://api.github.com/users/felipewd/events{/privacy}","received_events_url":"https://api.github.com/users/felipewd/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-11-07T16:40:53Z","updated_at":"2016-12-01T15:02:02Z","closed_at":"2016-12-01T15:02:02Z","author_association":"NONE","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/8","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/8","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/8.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/8.patch","merged_at":null},"body":"If dom->current is the very last position on the queue and we're going\r\nto delete it, VTAILQ_NEXT is going to be NULL. When this happens,\r\ngo back to the first element.\r\n\r\nThis fixes issue #7","closed_by":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/8/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/8/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/9","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/9/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/9/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/9/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/9","id":189007684,"node_id":"MDU6SXNzdWUxODkwMDc2ODQ=","number":9,"title":"Condition(Segmentation fault by instruction at 0x8) not true","user":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804422,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjI=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/bug","name":"bug","color":"ee0701","default":true,"description":null}],"state":"closed","locked":false,"assignee":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"assignees":[{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false}],"milestone":null,"comments":1,"created_at":"2016-11-14T00:40:46Z","updated_at":"2016-11-28T23:21:25Z","closed_at":"2016-11-28T23:21:25Z","author_association":"COLLABORATOR","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"I managed to make Varnish panic while I was writing a test case:\r\n\r\n```\r\nvarnishtest \"debugging\"\r\n\r\nserver s1 {\r\n\trxreq\r\n\ttxresp\r\n\r\n\taccept\r\n\trxreq\r\n\ttxresp\r\n\r\n\taccept\r\n\trxreq\r\n\ttxresp\r\n} -start\r\n\r\nvarnish v1 -vcl {\r\n\timport ${vmod_dynamic};\r\n\r\n\tbackend dummy { .host = \"${bad_ip}\"; .port = \"9080\"; }\r\n\r\n\tacl ipv4_loopback {\r\n\t\t\"127/24\";\r\n\t}\r\n\r\n\tsub vcl_init {\r\n\t\tnew d1 = dynamic.director(\r\n\t\t\tport = \"${s1_port}\",\r\n\t\t\twhitelist = ipv4_loopback,\r\n\t\t\tdomain_usage_timeout = 1s);\r\n\t\td1.debug(true);\r\n\t}\r\n\r\n\tsub vcl_recv {\r\n\t\tset req.backend_hint = d1.backend();\r\n\t}\r\n} -start\r\n\r\nlogexpect l1 -v v1 -g raw {\r\n\texpect * * Debug\t\"vmod-dynamic: vcl1 d1 localhost addr 127.0.0.1\"\r\n\texpect * * VCL_acl\t\"^MATCH ipv4_loopback\"\r\n\texpect * * Debug\t\"vmod-dynamic: vcl1 d1 localhost add-backend d1(127.0.0.1)\"\r\n\texpect * * Debug\t\"vmod-dynamic: vcl1 d1 localhost ref-backend d1(127.0.0.1) (1 in total)\"\r\n\texpect * * Debug\t\"vmod-dynamic: vcl1 d1 img.localhost addr 127.0.0.1\"\r\n\texpect * * VCL_acl\t\"^MATCH ipv4_loopback\"\r\n\texpect * * Debug\t\"vmod-dynamic: vcl1 d1 img.localhost ref-backend d1(127.0.0.1) (2 in total)\"\r\n\texpect * * VCL_Log\t\"vmod-dynamic: vcl1 d1 localhost deleted\"\r\n\texpect * * Debug\t\"vmod-dynamic: vcl1 d1 localhost unref-backend d1(127.0.0.1) (1 remaining)\"\r\n} -start\r\n\r\nclient c1 {\r\n\ttxreq -hdr \"Host: localhost\"\r\n\trxresp\r\n\texpect resp.status == 200\r\n\r\n\tdelay 1.5\r\n\r\n\ttxreq -hdr \"Host: img.localhost\"\r\n\trxresp\r\n\texpect resp.status == 200\r\n\r\n\ttxreq -hdr \"Host: www.localhost\"\r\n\trxresp\r\n\texpect resp.status == 200\r\n} -run\r\n\r\nlogexpect l1 -wait\r\n```\r\n\r\nFiling it here to make sure not to forget it, it may be related to recent changes in master.","closed_by":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/9/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/9/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/10","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/10/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/10/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/10/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/10","id":190753343,"node_id":"MDExOlB1bGxSZXF1ZXN0OTQ2MzkzNTI=","number":10,"title":"Fix use-after-free","user":{"login":"rnsanchez","id":87608,"node_id":"MDQ6VXNlcjg3NjA4","avatar_url":"https://avatars.githubusercontent.com/u/87608?v=4","gravatar_id":"","url":"https://api.github.com/users/rnsanchez","html_url":"https://github.com/rnsanchez","followers_url":"https://api.github.com/users/rnsanchez/followers","following_url":"https://api.github.com/users/rnsanchez/following{/other_user}","gists_url":"https://api.github.com/users/rnsanchez/gists{/gist_id}","starred_url":"https://api.github.com/users/rnsanchez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rnsanchez/subscriptions","organizations_url":"https://api.github.com/users/rnsanchez/orgs","repos_url":"https://api.github.com/users/rnsanchez/repos","events_url":"https://api.github.com/users/rnsanchez/events{/privacy}","received_events_url":"https://api.github.com/users/rnsanchez/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-11-21T15:42:48Z","updated_at":"2016-11-21T15:54:18Z","closed_at":"2016-11-21T15:46:58Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/10","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/10","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/10.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/10.patch","merged_at":"2016-11-21T15:46:58Z"},"body":"Clang's static analyzer found a use-after-free in dynamic_stop(). dom\r\npointer is passed to dynamic_free() which deallocate its contents, but\r\nupon returning from dynamic_free(), dom and its possibly-stale contents\r\nare used unguarded in VTAILQ_REMOVE(), immediately.\r\n\r\nThis use-after-free could explain the hard-to-reproduce issue #7.","closed_by":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/10/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/10/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/11","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/11/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/11/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/11/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/11","id":191737172,"node_id":"MDExOlB1bGxSZXF1ZXN0OTUzMjg4OTI=","number":11,"title":"Fix #9 in two parts","user":{"login":"rnsanchez","id":87608,"node_id":"MDQ6VXNlcjg3NjA4","avatar_url":"https://avatars.githubusercontent.com/u/87608?v=4","gravatar_id":"","url":"https://api.github.com/users/rnsanchez","html_url":"https://github.com/rnsanchez","followers_url":"https://api.github.com/users/rnsanchez/followers","following_url":"https://api.github.com/users/rnsanchez/following{/other_user}","gists_url":"https://api.github.com/users/rnsanchez/gists{/gist_id}","starred_url":"https://api.github.com/users/rnsanchez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rnsanchez/subscriptions","organizations_url":"https://api.github.com/users/rnsanchez/orgs","repos_url":"https://api.github.com/users/rnsanchez/repos","events_url":"https://api.github.com/users/rnsanchez/events{/privacy}","received_events_url":"https://api.github.com/users/rnsanchez/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804422,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjI=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/bug","name":"bug","color":"ee0701","default":true,"description":null}],"state":"closed","locked":false,"assignee":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"assignees":[{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false}],"milestone":null,"comments":8,"created_at":"2016-11-25T16:37:24Z","updated_at":"2016-11-29T10:30:31Z","closed_at":"2016-11-28T23:21:25Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/11","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/11","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/11.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/11.patch","merged_at":null},"body":"With the patches in this PR, I cannot reproduce the problem proposed in #9 anymore.\r\n\r\nThe first commit fixes three other cases of use-after-free. While inspecting `dynamic_free()`, it is my understanding that given the opportunity, memory being accessed just after deallocation could lead to unexpected results. By itself, this commit does not fix #9.\r\n\r\nThe second commit avoids cleaning up the `purged_domains` list in the case domain `addr` (received in `dynamic_search()`) was not found in the `active_domains` list, thus leaving `dom` uninitialized.\r\n\r\nPlease review, since this might not be a trivial change.","closed_by":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/11/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/11/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/12","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/12/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/12/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/12/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/12","id":198042367,"node_id":"MDU6SXNzdWUxOTgwNDIzNjc=","number":12,"title":"assert in dynamic_free","user":{"login":"felipewd","id":547142,"node_id":"MDQ6VXNlcjU0NzE0Mg==","avatar_url":"https://avatars.githubusercontent.com/u/547142?v=4","gravatar_id":"","url":"https://api.github.com/users/felipewd","html_url":"https://github.com/felipewd","followers_url":"https://api.github.com/users/felipewd/followers","following_url":"https://api.github.com/users/felipewd/following{/other_user}","gists_url":"https://api.github.com/users/felipewd/gists{/gist_id}","starred_url":"https://api.github.com/users/felipewd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/felipewd/subscriptions","organizations_url":"https://api.github.com/users/felipewd/orgs","repos_url":"https://api.github.com/users/felipewd/repos","events_url":"https://api.github.com/users/felipewd/events{/privacy}","received_events_url":"https://api.github.com/users/felipewd/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804422,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjI=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/bug","name":"bug","color":"ee0701","default":true,"description":null}],"state":"closed","locked":false,"assignee":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"assignees":[{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false}],"milestone":null,"comments":0,"created_at":"2016-12-29T17:36:42Z","updated_at":"2017-01-02T10:56:07Z","closed_at":"2017-01-02T10:56:07Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hey @Dridi,\r\n\r\nWe caught this assert today:\r\n\r\n```\r\n\"Assert error in dynamic_free(), vmod_dynamic.c line 506:\r\n Condition((dom->thread) == 0) not true.\r\nBacktrace:\r\n 0x43e6d0: pan_backtrace+0x1d\r\n 0x43eb27: pan_ic+0x2f3\r\n 0x7abdfedfa32e: libvmod_dynamic.so(+0x232e) [0x7abdfedfa32e]\r\n 0x7abdfedfb54b: libvmod_dynamic.so(vmod_event+0x31b) [0x7abdfedfb54b]\r\n 0x7abd29304219: vgc.so(+0x2e219) [0x7abd29304219]\r\n 0x44d354: vcl_failsafe_event+0x223\r\n 0x44d881: vcl_set_state+0x366\r\n 0x44e3de: VCL_Poll+0xb1\r\n 0x41cfba: cli_cb_before+0x6c\r\n 0x7fcd16dac0b4: libvarnish.so(+0x80b4) [0x7fcd16dac0b4]\r\n\r\n\"\r\n```\r\n","closed_by":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/12/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/12/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/13","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/13/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/13/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/13/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/13","id":198042563,"node_id":"MDExOlB1bGxSZXF1ZXN0OTk2ODA0MzU=","number":13,"title":"Always set dom->thread to 0 after a pthread join.","user":{"login":"felipewd","id":547142,"node_id":"MDQ6VXNlcjU0NzE0Mg==","avatar_url":"https://avatars.githubusercontent.com/u/547142?v=4","gravatar_id":"","url":"https://api.github.com/users/felipewd","html_url":"https://github.com/felipewd","followers_url":"https://api.github.com/users/felipewd/followers","following_url":"https://api.github.com/users/felipewd/following{/other_user}","gists_url":"https://api.github.com/users/felipewd/gists{/gist_id}","starred_url":"https://api.github.com/users/felipewd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/felipewd/subscriptions","organizations_url":"https://api.github.com/users/felipewd/orgs","repos_url":"https://api.github.com/users/felipewd/repos","events_url":"https://api.github.com/users/felipewd/events{/privacy}","received_events_url":"https://api.github.com/users/felipewd/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804424,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjQ=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/enhancement","name":"enhancement","color":"84b6eb","default":true,"description":null}],"state":"closed","locked":false,"assignee":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"assignees":[{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false}],"milestone":null,"comments":4,"created_at":"2016-12-29T17:38:07Z","updated_at":"2017-01-02T23:16:17Z","closed_at":"2017-01-02T23:16:17Z","author_association":"NONE","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/13","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/13","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/13.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/13.patch","merged_at":null},"body":"After a pthread_join we need to guarantee that dom->thread is set to 0\r\nto avoid problems in dynamic_free.\r\n\r\nTo avoid copy+paste problems, let's do this in a simple function.\r\n\r\nFixes #12 ","closed_by":{"login":"felipewd","id":547142,"node_id":"MDQ6VXNlcjU0NzE0Mg==","avatar_url":"https://avatars.githubusercontent.com/u/547142?v=4","gravatar_id":"","url":"https://api.github.com/users/felipewd","html_url":"https://github.com/felipewd","followers_url":"https://api.github.com/users/felipewd/followers","following_url":"https://api.github.com/users/felipewd/following{/other_user}","gists_url":"https://api.github.com/users/felipewd/gists{/gist_id}","starred_url":"https://api.github.com/users/felipewd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/felipewd/subscriptions","organizations_url":"https://api.github.com/users/felipewd/orgs","repos_url":"https://api.github.com/users/felipewd/repos","events_url":"https://api.github.com/users/felipewd/events{/privacy}","received_events_url":"https://api.github.com/users/felipewd/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/13/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/13/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/14","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/14/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/14/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/14/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/14","id":200291644,"node_id":"MDU6SXNzdWUyMDAyOTE2NDQ=","number":14,"title":"Difficulty building against Varnish 5.0 on Ubuntu 16.04","user":{"login":"scottybrisbane","id":5016282,"node_id":"MDQ6VXNlcjUwMTYyODI=","avatar_url":"https://avatars.githubusercontent.com/u/5016282?v=4","gravatar_id":"","url":"https://api.github.com/users/scottybrisbane","html_url":"https://github.com/scottybrisbane","followers_url":"https://api.github.com/users/scottybrisbane/followers","following_url":"https://api.github.com/users/scottybrisbane/following{/other_user}","gists_url":"https://api.github.com/users/scottybrisbane/gists{/gist_id}","starred_url":"https://api.github.com/users/scottybrisbane/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scottybrisbane/subscriptions","organizations_url":"https://api.github.com/users/scottybrisbane/orgs","repos_url":"https://api.github.com/users/scottybrisbane/repos","events_url":"https://api.github.com/users/scottybrisbane/events{/privacy}","received_events_url":"https://api.github.com/users/scottybrisbane/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804427,"node_id":"MDU6TGFiZWw0NDM4MDQ0Mjc=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/question","name":"question","color":"cc317c","default":true,"description":null}],"state":"closed","locked":false,"assignee":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"assignees":[{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false}],"milestone":null,"comments":5,"created_at":"2017-01-12T06:50:18Z","updated_at":"2017-02-28T06:35:56Z","closed_at":"2017-02-28T06:35:56Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"I'm having trouble compiling the vmod against Varnish 5.0 on a Ubuntu 16.04 machine. When running `./autogen.sh` I receive the following output:\r\n\r\n```\r\n+ aclocal -I m4 -I /usr/share/aclocal\r\n+ libtoolize --copy --force\r\nlibtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'.\r\nlibtoolize: copying file 'build-aux/ltmain.sh'\r\nlibtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.\r\nlibtoolize: copying file 'm4/libtool.m4'\r\nlibtoolize: copying file 'm4/ltoptions.m4'\r\nlibtoolize: copying file 'm4/ltsugar.m4'\r\nlibtoolize: copying file 'm4/ltversion.m4'\r\nlibtoolize: copying file 'm4/lt~obsolete.m4'\r\n+ autoheader\r\n+ automake --add-missing --copy --foreign\r\nconfigure.ac:11: installing 'build-aux/compile'\r\nconfigure.ac:9: installing 'build-aux/missing'\r\nsrc/Makefile.am:4: error: 'vmod_LTLIBRARIES' is used but 'vmoddir' is undefined\r\nautomake: warnings are treated as errors\r\nsrc/Makefile.am:6: warning: variable 'libvmod_dynamic_la_SOURCES' is defined but no program or\r\nsrc/Makefile.am:6: library has 'libvmod_dynamic_la' as canonical name (possible typo)\r\nsrc/Makefile.am:10: warning: variable 'nodist_libvmod_dynamic_la_SOURCES' is defined but no program or\r\nsrc/Makefile.am:10: library has 'libvmod_dynamic_la' as canonical name (possible typo)\r\n```\r\n\r\nChances are I've missed something, but could someone please point me in the right direction?","closed_by":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/14/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/14/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/15","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/15/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/15/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/15/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/15","id":215410291,"node_id":"MDU6SXNzdWUyMTU0MTAyOTE=","number":15,"title":"How to see the vmod-dynamic logs","user":{"login":"danielmotaleite","id":11890049,"node_id":"MDQ6VXNlcjExODkwMDQ5","avatar_url":"https://avatars.githubusercontent.com/u/11890049?v=4","gravatar_id":"","url":"https://api.github.com/users/danielmotaleite","html_url":"https://github.com/danielmotaleite","followers_url":"https://api.github.com/users/danielmotaleite/followers","following_url":"https://api.github.com/users/danielmotaleite/following{/other_user}","gists_url":"https://api.github.com/users/danielmotaleite/gists{/gist_id}","starred_url":"https://api.github.com/users/danielmotaleite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielmotaleite/subscriptions","organizations_url":"https://api.github.com/users/danielmotaleite/orgs","repos_url":"https://api.github.com/users/danielmotaleite/repos","events_url":"https://api.github.com/users/danielmotaleite/events{/privacy}","received_events_url":"https://api.github.com/users/danielmotaleite/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"assignees":[{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false}],"milestone":null,"comments":3,"created_at":"2017-03-20T12:49:48Z","updated_at":"2017-03-20T17:04:03Z","closed_at":"2017-03-20T17:04:03Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi\r\n\r\nI usually debug varnish using varnishlog, but since i added vmod-dynamic i have the problem that i do not see any log related with vmod-dynamic.\r\n\r\nhttps://github.com/nigoroll/libvmod-dynamic/blob/master/src/vmod_dynamic.vcc seems to say that it should log something, but refers no way to enable that log\r\n\r\nSo how can enable/check the vmod log? is there any vmod option that i'm unfamiliar with?\r\n\r\nThanks","closed_by":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/15/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/15/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/16","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/16/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/16/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/16/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/16","id":215742988,"node_id":"MDU6SXNzdWUyMTU3NDI5ODg=","number":16,"title":"Varnish complains about \"No backends or directors found in VCL program\"","user":{"login":"otrosien","id":129439,"node_id":"MDQ6VXNlcjEyOTQzOQ==","avatar_url":"https://avatars.githubusercontent.com/u/129439?v=4","gravatar_id":"","url":"https://api.github.com/users/otrosien","html_url":"https://github.com/otrosien","followers_url":"https://api.github.com/users/otrosien/followers","following_url":"https://api.github.com/users/otrosien/following{/other_user}","gists_url":"https://api.github.com/users/otrosien/gists{/gist_id}","starred_url":"https://api.github.com/users/otrosien/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/otrosien/subscriptions","organizations_url":"https://api.github.com/users/otrosien/orgs","repos_url":"https://api.github.com/users/otrosien/repos","events_url":"https://api.github.com/users/otrosien/events{/privacy}","received_events_url":"https://api.github.com/users/otrosien/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804427,"node_id":"MDU6TGFiZWw0NDM4MDQ0Mjc=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/question","name":"question","color":"cc317c","default":true,"description":null}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":11,"created_at":"2017-03-21T13:41:41Z","updated_at":"2017-03-26T19:22:43Z","closed_at":"2017-03-26T19:22:43Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"I need to add a dummy backend server in order to make varnish happy. Is that intended? Is there any possible side-effect of doing so?","closed_by":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/16/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/16/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/17","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/17/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/17/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/17/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/17","id":216841913,"node_id":"MDU6SXNzdWUyMTY4NDE5MTM=","number":17,"title":"max_connections","user":{"login":"danielmotaleite","id":11890049,"node_id":"MDQ6VXNlcjExODkwMDQ5","avatar_url":"https://avatars.githubusercontent.com/u/11890049?v=4","gravatar_id":"","url":"https://api.github.com/users/danielmotaleite","html_url":"https://github.com/danielmotaleite","followers_url":"https://api.github.com/users/danielmotaleite/followers","following_url":"https://api.github.com/users/danielmotaleite/following{/other_user}","gists_url":"https://api.github.com/users/danielmotaleite/gists{/gist_id}","starred_url":"https://api.github.com/users/danielmotaleite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielmotaleite/subscriptions","organizations_url":"https://api.github.com/users/danielmotaleite/orgs","repos_url":"https://api.github.com/users/danielmotaleite/repos","events_url":"https://api.github.com/users/danielmotaleite/events{/privacy}","received_events_url":"https://api.github.com/users/danielmotaleite/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804424,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjQ=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/enhancement","name":"enhancement","color":"84b6eb","default":true,"description":null}],"state":"closed","locked":false,"assignee":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"assignees":[{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/milestones/1","html_url":"https://github.com/nigoroll/libvmod-dynamic/milestone/1","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/milestones/1/labels","id":2411902,"node_id":"MDk6TWlsZXN0b25lMjQxMTkwMg==","number":1,"title":"1.0","description":null,"creator":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"open_issues":0,"closed_issues":4,"state":"open","created_at":"2017-03-26T20:50:32Z","updated_at":"2019-07-13T16:40:27Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2017-03-24T16:41:53Z","updated_at":"2017-03-29T16:20:48Z","closed_at":"2017-03-29T16:20:48Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"In normal varnish, we can set the .max_connections in the backend... how to do this with libvmod-dynamic? what is the current max for libvmod-dynamic?\r\n\r\nThanks!","closed_by":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/17/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/17/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/18","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/18/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/18/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/18/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/18","id":217088207,"node_id":"MDExOlB1bGxSZXF1ZXN0MTEyNjQzODA4","number":18,"title":"Test with a dedicated hosts file if possible","user":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804424,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjQ=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/enhancement","name":"enhancement","color":"84b6eb","default":true,"description":null}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/milestones/1","html_url":"https://github.com/nigoroll/libvmod-dynamic/milestone/1","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/milestones/1/labels","id":2411902,"node_id":"MDk6TWlsZXN0b25lMjQxMTkwMg==","number":1,"title":"1.0","description":null,"creator":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"open_issues":0,"closed_issues":4,"state":"open","created_at":"2017-03-26T20:50:32Z","updated_at":"2019-07-13T16:40:27Z","due_on":null,"closed_at":null},"comments":4,"created_at":"2017-03-26T20:50:36Z","updated_at":"2019-07-13T16:40:27Z","closed_at":"2019-07-13T16:40:27Z","author_association":"COLLABORATOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/18","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/18","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/18.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/18.patch","merged_at":null},"body":"Ironically, this breaks my setup. I never needed to tweak my NSS\r\nconfiguration or add entries to /etc/hosts to resolve *.localhost\r\nto the loop-back interface.\r\n\r\nHowever, we can now guess at configure time whether the test suite\r\nis expected to work. Although there's no real guarantee because of\r\nthe huge TOCTOU race between `./configure` and `make check`.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/18/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/18/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/19","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/19/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/19/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/19/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/19","id":218275226,"node_id":"MDU6SXNzdWUyMTgyNzUyMjY=","number":19,"title":"question: is it possible to use dynamic with saintmode?","user":{"login":"danielmotaleite","id":11890049,"node_id":"MDQ6VXNlcjExODkwMDQ5","avatar_url":"https://avatars.githubusercontent.com/u/11890049?v=4","gravatar_id":"","url":"https://api.github.com/users/danielmotaleite","html_url":"https://github.com/danielmotaleite","followers_url":"https://api.github.com/users/danielmotaleite/followers","following_url":"https://api.github.com/users/danielmotaleite/following{/other_user}","gists_url":"https://api.github.com/users/danielmotaleite/gists{/gist_id}","starred_url":"https://api.github.com/users/danielmotaleite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielmotaleite/subscriptions","organizations_url":"https://api.github.com/users/danielmotaleite/orgs","repos_url":"https://api.github.com/users/danielmotaleite/repos","events_url":"https://api.github.com/users/danielmotaleite/events{/privacy}","received_events_url":"https://api.github.com/users/danielmotaleite/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804427,"node_id":"MDU6TGFiZWw0NDM4MDQ0Mjc=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/question","name":"question","color":"cc317c","default":true,"description":null},{"id":443804428,"node_id":"MDU6TGFiZWw0NDM4MDQ0Mjg=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/wontfix","name":"wontfix","color":"ffffff","default":true,"description":null}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-03-30T17:47:03Z","updated_at":"2017-03-31T11:13:20Z","closed_at":"2017-03-31T09:50:14Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi\r\n\r\nI was looking into use saintmode for some static files, but as dynamic do not defines the backends the same way, i'm not sure if it is possible to use it or not.\r\n\r\nhttps://github.com/varnish/varnish-modules/blob/master/src/vmod_saintmode.vcc\r\n\r\nSo have you any ideia if is possible and how to use both saintmode and dynamic? \r\n\r\nthanks","closed_by":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/19/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/19/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/20","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/20/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/20/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/20/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/20","id":219622749,"node_id":"MDU6SXNzdWUyMTk2MjI3NDk=","number":20,"title":"FAIL: tests/test10.vtc","user":{"login":"danielmotaleite","id":11890049,"node_id":"MDQ6VXNlcjExODkwMDQ5","avatar_url":"https://avatars.githubusercontent.com/u/11890049?v=4","gravatar_id":"","url":"https://api.github.com/users/danielmotaleite","html_url":"https://github.com/danielmotaleite","followers_url":"https://api.github.com/users/danielmotaleite/followers","following_url":"https://api.github.com/users/danielmotaleite/following{/other_user}","gists_url":"https://api.github.com/users/danielmotaleite/gists{/gist_id}","starred_url":"https://api.github.com/users/danielmotaleite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielmotaleite/subscriptions","organizations_url":"https://api.github.com/users/danielmotaleite/orgs","repos_url":"https://api.github.com/users/danielmotaleite/repos","events_url":"https://api.github.com/users/danielmotaleite/events{/privacy}","received_events_url":"https://api.github.com/users/danielmotaleite/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-04-05T15:25:54Z","updated_at":"2017-04-10T19:14:06Z","closed_at":"2017-04-10T17:20:13Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Trying to compile and test this on varnish 5.1.1 i get:\r\n\r\n\r\n\r\n```\r\nchecking for a BSD-compatible install... /usr/bin/install -c\r\nchecking whether build environment is sane... yes\r\nchecking for a thread-safe mkdir -p... /bin/mkdir -p\r\nchecking for gawk... no\r\nchecking for mawk... mawk\r\nchecking whether make sets $(MAKE)... yes\r\nchecking whether make supports nested variables... yes\r\nchecking whether make supports nested variables... (cached) yes\r\nchecking for style of include used by make... GNU\r\nchecking for gcc... gcc\r\nchecking whether the C compiler works... yes\r\nchecking for C compiler default output file name... a.out\r\nchecking for suffix of executables... \r\nchecking whether we are cross compiling... no\r\nchecking for suffix of object files... o\r\nchecking whether we are using the GNU C compiler... yes\r\nchecking whether gcc accepts -g... yes\r\nchecking for gcc option to accept ISO C89... none needed\r\nchecking whether gcc understands -c and -o together... yes\r\nchecking dependency style of gcc... none\r\nchecking for ar... ar\r\nchecking the archiver (ar) interface... ar\r\nchecking build system type... x86_64-pc-linux-gnu\r\nchecking host system type... x86_64-pc-linux-gnu\r\nchecking how to print strings... printf\r\nchecking for a sed that does not truncate output... /bin/sed\r\nchecking for grep that handles long lines and -e... /bin/grep\r\nchecking for egrep... /bin/grep -E\r\nchecking for fgrep... /bin/grep -F\r\nchecking for ld used by gcc... /usr/bin/ld\r\nchecking if the linker (/usr/bin/ld) is GNU ld... yes\r\nchecking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B\r\nchecking the name lister (/usr/bin/nm -B) interface... BSD nm\r\nchecking whether ln -s works... yes\r\nchecking the maximum length of command line arguments... 1572864\r\nchecking whether the shell understands some XSI constructs... yes\r\nchecking whether the shell understands \"+=\"... yes\r\nchecking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop\r\nchecking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop\r\nchecking for /usr/bin/ld option to reload object files... -r\r\nchecking for objdump... objdump\r\nchecking how to recognize dependent libraries... pass_all\r\nchecking for dlltool... no\r\nchecking how to associate runtime and link libraries... printf %s\\n\r\nchecking for archiver @FILE support... @\r\nchecking for strip... strip\r\nchecking for ranlib... ranlib\r\nchecking command to parse /usr/bin/nm -B output from gcc object... ok\r\nchecking for sysroot... no\r\nchecking for mt... mt\r\nchecking if mt is a manifest tool... no\r\nchecking how to run the C preprocessor... gcc -E\r\nchecking for ANSI C header files... yes\r\nchecking for sys/types.h... yes\r\nchecking for sys/stat.h... yes\r\nchecking for stdlib.h... yes\r\nchecking for string.h... yes\r\nchecking for memory.h... yes\r\nchecking for strings.h... yes\r\nchecking for inttypes.h... yes\r\nchecking for stdint.h... yes\r\nchecking for unistd.h... yes\r\nchecking for dlfcn.h... yes\r\nchecking for objdir... .libs\r\nchecking if gcc supports -fno-rtti -fno-exceptions... no\r\nchecking for gcc option to produce PIC... -fPIC -DPIC\r\nchecking if gcc PIC flag -fPIC -DPIC works... yes\r\nchecking if gcc static flag -static works... yes\r\nchecking if gcc supports -c -o file.o... yes\r\nchecking if gcc supports -c -o file.o... (cached) yes\r\nchecking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes\r\nchecking whether -lc should be explicitly linked in... no\r\nchecking dynamic linker characteristics... GNU/Linux ld.so\r\nchecking how to hardcode library paths into programs... immediate\r\nchecking for shl_load... no\r\nchecking for shl_load in -ldld... no\r\nchecking for dlopen... no\r\nchecking for dlopen in -ldl... yes\r\nchecking whether a program can dlopen itself... yes\r\nchecking whether a statically linked program can dlopen itself... no\r\nchecking whether stripping libraries is possible... yes\r\nchecking if libtool supports shared libraries... yes\r\nchecking whether to build shared libraries... yes\r\nchecking whether to build static libraries... no\r\nchecking for rst2man... rst2man\r\nchecking for pkg-config... /usr/bin/pkg-config\r\nchecking pkg-config is at least version 0.21... yes\r\nchecking for VARNISHAPI... yes\r\nchecking for explicit_bzero... no\r\nchecking for Varnish... 5.1.1\r\nchecking vsha256.h usability... yes\r\nchecking vsha256.h presence... yes\r\nchecking for vsha256.h... yes\r\nchecking cache/cache.h usability... yes\r\nchecking cache/cache.h presence... yes\r\nchecking for cache/cache.h... yes\r\nchecking for gcc option to accept ISO C99... -std=gnu99\r\nchecking for a Python interpreter with version >= 2.7... python\r\nchecking for python... /usr/bin/python\r\nchecking for python version... 2.7\r\nchecking for python platform... linux2\r\nchecking for python script directory... ${prefix}/lib/python2.7/dist-packages\r\nchecking for python extension module directory... ${exec_prefix}/lib/python2.7/dist-packages\r\nchecking that generated files are newer than configure... done\r\nconfigure: creating ./config.status\r\nconfig.status: creating Makefile\r\nconfig.status: creating src/Makefile\r\nconfig.status: creating config.h\r\nconfig.status: executing depfiles commands\r\nconfig.status: executing libtool commands\r\nconfigure: WARNING: unrecognized options: --disable-maintainer-mode\r\n dh_auto_build\r\n\tmake -j1\r\nmake[1]: Entering directory '/usr/src/libvmod-dynamic'\r\nmake all-recursive\r\nmake[2]: Entering directory '/usr/src/libvmod-dynamic'\r\nMaking all in src\r\nmake[3]: Entering directory '/usr/src/libvmod-dynamic/src'\r\n/usr/bin/python /usr/share/varnish/vmodtool.py -o vcc_dynamic_if ./vmod_dynamic.vcc\r\n/bin/bash ../libtool --tag=CC --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I/usr/include/varnish -Wall -Werror -g -O2 -c -o vmod_dynamic.lo vmod_dynamic.c\r\nlibtool: compile: gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I/usr/include/varnish -Wall -Werror -g -O2 -c vmod_dynamic.c -fPIC -DPIC -o .libs/vmod_dynamic.o\r\n/bin/bash ../libtool --tag=CC --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I/usr/include/varnish -Wall -Werror -g -O2 -c -o vcc_dynamic_if.lo vcc_dynamic_if.c\r\nlibtool: compile: gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I/usr/include/varnish -Wall -Werror -g -O2 -c vcc_dynamic_if.c -fPIC -DPIC -o .libs/vcc_dynamic_if.o\r\n/bin/bash ../libtool --tag=CC --mode=link gcc -std=gnu99 -I/usr/include/varnish -Wall -Werror -g -O2 -lvarnishapi -module -export-dynamic -avoid-version -shared -o libvmod_dynamic.la -rpath /usr/lib/varnish/vmods vmod_dynamic.lo vcc_dynamic_if.lo \r\nlibtool: link: gcc -shared -fPIC -DPIC .libs/vmod_dynamic.o .libs/vcc_dynamic_if.o -lvarnishapi -O2 -Wl,-soname -Wl,libvmod_dynamic.so -o .libs/libvmod_dynamic.so\r\nlibtool: link: ( cd \".libs\" && rm -f \"libvmod_dynamic.la\" && ln -s \"../libvmod_dynamic.la\" \"libvmod_dynamic.la\" )\r\nrst2man vmod_dynamic.man.rst vmod_dynamic.3\r\nmake[3]: Leaving directory '/usr/src/libvmod-dynamic/src'\r\nmake[3]: Entering directory '/usr/src/libvmod-dynamic'\r\nmake[3]: Leaving directory '/usr/src/libvmod-dynamic'\r\nmake[2]: Leaving directory '/usr/src/libvmod-dynamic'\r\nmake[1]: Leaving directory '/usr/src/libvmod-dynamic'\r\n dh_auto_test\r\n\tmake -j1 check\r\nmake[1]: Entering directory '/usr/src/libvmod-dynamic'\r\nMaking check in src\r\nmake[2]: Entering directory '/usr/src/libvmod-dynamic/src'\r\nmake check-TESTS\r\nmake[3]: Entering directory '/usr/src/libvmod-dynamic/src'\r\nmake[4]: Entering directory '/usr/src/libvmod-dynamic/src'\r\nPASS: tests/test01.vtc\r\nPASS: tests/test02.vtc\r\nPASS: tests/test03.vtc\r\nPASS: tests/test04.vtc\r\nPASS: tests/test05.vtc\r\nPASS: tests/test06.vtc\r\nPASS: tests/test07.vtc\r\nPASS: tests/test08.vtc\r\nPASS: tests/test09.vtc\r\nFAIL: tests/test10.vtc\r\nmake[5]: Entering directory '/usr/src/libvmod-dynamic/src'\r\nmake[5]: Nothing to be done for 'all'.\r\nmake[5]: Leaving directory '/usr/src/libvmod-dynamic/src'\r\n============================================================================\r\nTestsuite summary for libvmod-dynamic 0.2\r\n============================================================================\r\n# TOTAL: 10\r\n# PASS: 9\r\n# SKIP: 0\r\n# XFAIL: 0\r\n# FAIL: 1\r\n# XPASS: 0\r\n# ERROR: 0\r\n============================================================================\r\nSee src/test-suite.log\r\n============================================================================\r\nMakefile:767: recipe for target 'test-suite.log' failed\r\nmake[4]: *** [test-suite.log] Error 1\r\nmake[4]: Leaving directory '/usr/src/libvmod-dynamic/src'\r\nMakefile:873: recipe for target 'check-TESTS' failed\r\nmake[3]: *** [check-TESTS] Error 2\r\nmake[3]: Leaving directory '/usr/src/libvmod-dynamic/src'\r\nMakefile:939: recipe for target 'check-am' failed\r\nmake[2]: *** [check-am] Error 2\r\nmake[2]: Leaving directory '/usr/src/libvmod-dynamic/src'\r\nMakefile:481: recipe for target 'check-recursive' failed\r\nmake[1]: *** [check-recursive] Error 1\r\nmake[1]: Leaving directory '/usr/src/libvmod-dynamic'\r\ndh_auto_test: make -j1 check returned exit code 2\r\ndebian/rules:12: recipe for target 'build' failed\r\nmake: *** [build] Error 2\r\n\r\n````\r\n\r\nThe log i get: \r\n```\r\n=============================================\r\n libvmod-dynamic 0.2: src/test-suite.log\r\n=============================================\r\n\r\n# TOTAL: 10\r\n# PASS: 9\r\n# SKIP: 0\r\n# XFAIL: 0\r\n# FAIL: 1\r\n# XPASS: 0\r\n# ERROR: 0\r\n\r\n.. contents:: :depth: 2\r\n\r\nFAIL: tests/test10\r\n==================\r\n\r\n**** top 0.0 extmacro def pwd=/usr/src/libvmod-dynamic/src\r\n**** top 0.0 extmacro def vmod_dynamic=dynamic from \"/usr/src/libvmod-dynamic/src/.libs/libvmod_dynamic.so\"\r\n**** top 0.0 extmacro def localhost=127.0.0.1\r\n**** top 0.0 extmacro def bad_backend=127.0.0.1 18925\r\n**** top 0.0 extmacro def bad_ip=192.0.2.255\r\n**** top 0.0 macro def tmpdir=/tmp/vtc.12295.77019977\r\n* top 0.0 TEST ./tests/test10.vtc starting\r\n** top 0.0 === varnishtest \"max_connections\"\r\n* top 0.0 TEST max_connections\r\n** top 0.0 === barrier b1 cond 2\r\n** top 0.0 === server s1 {\r\n** s1 0.0 Starting server\r\n**** s1 0.0 macro def s1_addr=127.0.0.1\r\n**** s1 0.0 macro def s1_port=37297\r\n**** s1 0.0 macro def s1_sock=127.0.0.1 37297\r\n* s1 0.0 Listen on 127.0.0.1 37297\r\n** top 0.0 === varnish v1 -vcl+backend {\r\n** s1 0.0 Started on 127.0.0.1 37297\r\n** v1 0.0 Launch\r\n*** v1 0.0 CMD: cd ${pwd} && exec varnishd -d -n /tmp/vtc.12295.77019977/v1 -l 2m,1m,- -p auto_restart=off -p syslog_cli_traffic=off -p sigsegv_handler=on -p thread_pool_min=10 -p debug=+vtc_mode -a '127.0.0.1:0' -M '127.0.0.1 21937' -P /tmp/vtc.12295.77019977/v1/varnishd.pid \r\n*** v1 0.0 CMD: cd /usr/src/libvmod-dynamic/src && exec varnishd -d -n /tmp/vtc.12295.77019977/v1 -l 2m,1m,- -p auto_restart=off -p syslog_cli_traffic=off -p sigsegv_handler=on -p thread_pool_min=10 -p debug=+vtc_mode -a '127.0.0.1:0' -M '127.0.0.1 21937' -P /tmp/vtc.12295.77019977/v1/varnishd.pid \r\n*** v1 0.0 PID: 12301\r\n**** v1 0.0 macro def v1_pid=12301\r\n**** v1 0.0 macro def v1_name=/tmp/vtc.12295.77019977/v1\r\n*** v1 0.0 debug|Debug: Platform: Linux,4.7.0-0.bpo.1-amd64,x86_64,-junix,-smalloc,-smalloc,-hcritbit\r\n*** v1 0.0 debug|200 285 \r\n*** v1 0.0 debug|-----------------------------\r\n*** v1 0.0 debug|Varnish Cache CLI 1.0\r\n*** v1 0.0 debug|-----------------------------\r\n*** v1 0.0 debug|Linux,4.7.0-0.bpo.1-amd64,x86_64,-junix,-smalloc,-smalloc,-hcritbit\r\n*** v1 0.0 debug|varnish-5.1.1 revision de38712\r\n*** v1 0.0 debug|\r\n*** v1 0.0 debug|Type 'help' for command list.\r\n*** v1 0.0 debug|Type 'quit' to close CLI session.\r\n*** v1 0.0 debug|Type 'start' to launch worker process.\r\n*** v1 0.0 debug|\r\n**** v1 0.1 CLIPOLL 1 0x1 0x0\r\n*** v1 0.1 CLI connection fd = 10\r\n*** v1 0.1 CLI RX 107\r\n**** v1 0.1 CLI RX|stvjhhhfmktflzoagpgicdcedgmqaylg\r\n**** v1 0.1 CLI RX|\r\n**** v1 0.1 CLI RX|Authentication required.\r\n**** v1 0.1 CLI TX|auth 8c27b560d816ab69953f630bf040144ecc8919912555de6832188a04f87db7d9\r\n*** v1 0.1 CLI RX 200\r\n**** v1 0.1 CLI RX|-----------------------------\r\n**** v1 0.1 CLI RX|Varnish Cache CLI 1.0\r\n**** v1 0.1 CLI RX|-----------------------------\r\n**** v1 0.1 CLI RX|Linux,4.7.0-0.bpo.1-amd64,x86_64,-junix,-smalloc,-smalloc,-hcritbit\r\n**** v1 0.1 CLI RX|varnish-5.1.1 revision de38712\r\n**** v1 0.1 CLI RX|\r\n**** v1 0.1 CLI RX|Type 'help' for command list.\r\n**** v1 0.1 CLI RX|Type 'quit' to close CLI session.\r\n**** v1 0.1 CLI RX|Type 'start' to launch worker process.\r\n**** v1 0.1 CLI TX|vcl.inline vcl1 << %XJEIFLH|)Xspa8P\r\n**** v1 0.1 CLI TX|vcl 4.0;\r\n**** v1 0.1 CLI TX|backend s1 { .host = \"127.0.0.1\"; .port = \"37297\"; }\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|\\timport dynamic from \"/usr/src/libvmod-dynamic/src/.libs/libvmod_dynamic.so\";\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|\\tsub vcl_init {\r\n**** v1 0.1 CLI TX|\\t\\tnew d1 = dynamic.director(\r\n**** v1 0.1 CLI TX|\\t\\t\\tport = \"37297\",\r\n**** v1 0.1 CLI TX|\\t\\t\\tmax_connections = 1);\r\n**** v1 0.1 CLI TX|\\t}\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|\\tsub vcl_recv {\r\n**** v1 0.1 CLI TX|\\t\\tset req.backend_hint = d1.backend(\"127.0.0.1\");\r\n**** v1 0.1 CLI TX|\\t\\treturn (pass);\r\n**** v1 0.1 CLI TX|\\t}\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|\\tsub vcl_backend_error {\r\n**** v1 0.1 CLI TX|\\t\\tset beresp.status = 429;\r\n**** v1 0.1 CLI TX|\\t}\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|%XJEIFLH|)Xspa8P\r\n*** v1 0.3 CLI RX 200\r\n**** v1 0.3 CLI RX|VCL compiled.\r\n**** v1 0.3 CLI TX|vcl.use vcl1\r\n*** v1 0.3 CLI RX 200\r\n** v1 0.3 Start\r\n**** v1 0.3 CLI TX|start\r\n*** v1 0.3 debug|Debug: Child (12311) Started\r\n*** v1 0.4 CLI RX 200\r\n*** v1 0.4 wait-running\r\n**** v1 0.4 CLI TX|status\r\n*** v1 0.4 debug|Info: Child (12311) said Child starts\r\n*** v1 0.4 CLI RX 200\r\n**** v1 0.4 CLI RX|Child in state running\r\n**** v1 0.4 CLI TX|debug.xid 999\r\n**** v1 0.4 vsl| 0 CLI - Rd vcl.load \"vcl1\" vcl_vcl1.1491405606.451286077/vgc.so 1auto\r\n**** v1 0.4 vsl| 0 CLI - Wr 200 55 Loaded \"vcl_vcl1.1491405606.451286077/vgc.so\" as \"vcl1\"\r\n**** v1 0.4 vsl| 0 CLI - Rd vcl.use \"vcl1\"\r\n**** v1 0.4 vsl| 0 CLI - Wr 200 0 \r\n**** v1 0.4 vsl| 0 CLI - Rd start\r\n**** v1 0.4 vsl| 0 CLI - Wr 200 0 \r\n*** v1 0.4 CLI RX 200\r\n**** v1 0.4 CLI RX|XID is 999\r\n**** v1 0.4 CLI TX|debug.listen_address\r\n*** v1 0.5 CLI RX 200\r\n**** v1 0.5 CLI RX|127.0.0.1 36231\r\n** v1 0.5 Listen on 127.0.0.1 36231\r\n**** v1 0.5 macro def v1_addr=127.0.0.1\r\n**** v1 0.5 macro def v1_port=36231\r\n**** v1 0.5 macro def v1_sock=127.0.0.1 36231\r\n** top 0.5 === client c1 {\r\n** c1 0.5 Starting client\r\n** top 0.5 === client c2 {\r\n** c2 0.5 Starting client\r\n** c2 0.5 Waiting for client\r\n*** c2 0.5 Connect to 127.0.0.1 36231\r\n*** c1 0.5 Connect to 127.0.0.1 36231\r\n*** c2 0.5 connected fd 11 from 127.0.0.1 46416 to 127.0.0.1 36231\r\n*** c1 0.5 connected fd 12 from 127.0.0.1 46418 to 127.0.0.1 36231\r\n** c2 0.5 === txreq\r\n**** c2 0.5 txreq|GET / HTTP/1.1\\r\r\n**** c2 0.5 txreq|\\r\r\n** c1 0.5 === txreq\r\n** c2 0.5 === rxresp\r\n**** c1 0.5 txreq|GET / HTTP/1.1\\r\r\n**** c1 0.5 txreq|\\r\r\n** c1 0.5 === rxresp\r\n*** s1 0.5 accepted fd 5\r\n** s1 0.5 === rxreq\r\n**** s1 0.5 rxhdr|GET / HTTP/1.1\\r\r\n**** s1 0.5 rxhdr|X-Forwarded-For: 127.0.0.1\\r\r\n**** s1 0.5 rxhdr|X-Varnish: 1004\\r\r\n**** s1 0.5 rxhdr|\\r\r\n**** s1 0.5 rxhdrlen = 63\r\n**** s1 0.5 http[ 0] |GET\r\n**** s1 0.5 http[ 1] |/\r\n**** s1 0.5 http[ 2] |HTTP/1.1\r\n**** s1 0.5 http[ 3] |X-Forwarded-For: 127.0.0.1\r\n**** s1 0.5 http[ 4] |X-Varnish: 1004\r\n**** s1 0.5 bodylen = 0\r\n** s1 0.5 === barrier b1 sync\r\n**** s1 0.5 Barrier(b1) wait 1 of 2\r\n**** v1 0.5 vsl| 0 CLI - Rd debug.xid 999 \r\n**** v1 0.5 vsl| 0 CLI - Wr 200 10 XID is 999\r\n**** v1 0.5 vsl| 0 CLI - Rd debug.listen_address \r\n**** v1 0.5 vsl| 0 CLI - Wr 200 16 127.0.0.1 36231\r\n\r\n**** v1 0.5 vsl| 1000 Begin c sess 0 HTTP/1\r\n**** v1 0.5 vsl| 1000 SessOpen c 127.0.0.1 46416 127.0.0.1:36231 127.0.0.1 36231 1491405606.804795 20\r\n**** v1 0.5 vsl| 1001 Begin c sess 0 HTTP/1\r\n**** v1 0.5 vsl| 1001 SessOpen c 127.0.0.1 46418 127.0.0.1:36231 127.0.0.1 36231 1491405606.804846 21\r\n**** v1 0.5 vsl| 1000 Link c req 1002 rxreq\r\n**** v1 0.5 vsl| 1001 Link c req 1003 rxreq\r\n**** v1 0.5 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(127.0.0.1) Lookup: 1491405606.805036 0.000000 0.000000\r\n**** v1 0.5 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(127.0.0.1) Results: 1491405606.805164 0.000128 0.000128\r\n**** v1 0.5 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(127.0.0.1) Update: 1491405606.805242 0.000206 0.000078\r\n**** v1 3.4 vsl| 0 CLI - Rd ping\r\n**** v1 3.4 vsl| 0 CLI - Wr 200 19 PONG 1491405609 1.0\r\n**** v1 6.4 vsl| 0 CLI - Rd ping\r\n**** v1 6.4 vsl| 0 CLI - Wr 200 19 PONG 1491405612 1.0\r\n**** v1 9.4 vsl| 0 CLI - Rd ping\r\n**** v1 9.4 vsl| 0 CLI - Wr 200 19 PONG 1491405615 1.0\r\n**** v1 12.4 vsl| 0 CLI - Rd ping\r\n**** v1 12.4 vsl| 0 CLI - Wr 200 19 PONG 1491405618 1.0\r\n**** v1 15.4 vsl| 0 CLI - Rd ping\r\n**** v1 15.4 vsl| 0 CLI - Wr 200 19 PONG 1491405621 1.0\r\n**** v1 18.4 vsl| 0 CLI - Rd ping\r\n**** v1 18.4 vsl| 0 CLI - Wr 200 19 PONG 1491405624 1.0\r\n**** v1 21.4 vsl| 0 CLI - Rd ping\r\n**** v1 21.4 vsl| 0 CLI - Wr 200 19 PONG 1491405627 1.0\r\n**** v1 24.4 vsl| 0 CLI - Rd ping\r\n**** v1 24.4 vsl| 0 CLI - Wr 200 19 PONG 1491405630 1.0\r\n**** v1 27.4 vsl| 0 CLI - Rd ping\r\n**** v1 27.4 vsl| 0 CLI - Wr 200 19 PONG 1491405633 1.0\r\n**** v1 30.4 vsl| 0 CLI - Rd ping\r\n**** v1 30.4 vsl| 0 CLI - Wr 200 19 PONG 1491405636 1.0\r\n---- c1 30.5 HTTP rx timeout (fd:12 30000 ms)\r\n---- c2 30.5 HTTP rx timeout (fd:11 30000 ms)\r\n* top 30.5 RESETTING after ./tests/test10.vtc\r\n** s1 30.5 Waiting for server (4/-1)\r\n**** s1 30.5 macro undef s1_addr\r\n**** s1 30.5 macro undef s1_port\r\n**** s1 30.5 macro undef s1_sock\r\n** c1 30.5 Waiting for client\r\n** v1 30.5 Wait\r\n**** v1 30.5 CLI TX|backend.list\r\n**** v1 30.5 vsl| 1005 Begin b bereq 1003 pass\r\n**** v1 30.5 vsl| 1005 Timestamp b Start: 1491405606.805094 0.000000 0.000000\r\n**** v1 30.5 vsl| 1005 BereqMethod b GET\r\n**** v1 30.5 vsl| 1005 BereqURL b /\r\n**** v1 30.5 vsl| 1005 BereqProtocol b HTTP/1.1\r\n**** v1 30.5 vsl| 1005 BereqHeader b X-Forwarded-For: 127.0.0.1\r\n**** v1 30.5 vsl| 1005 BereqHeader b X-Varnish: 1005\r\n**** v1 30.5 vsl| 1005 VCL_call b BACKEND_FETCH\r\n**** v1 30.5 vsl| 1005 VCL_return b fetch\r\n**** v1 30.5 vsl| 1005 BackendOpen b 24 vcl1.d1(127.0.0.1) 127.0.0.1 37297 127.0.0.1 45930\r\n**** v1 30.5 vsl| 1005 BackendStart b 127.0.0.1 37297\r\n**** v1 30.5 vsl| 1005 Timestamp b Bereq: 1491405606.805499 0.000405 0.000405\r\n**** v1 30.5 vsl| 1005 FetchError b HTC status -1\r\n**** v1 30.5 vsl| 1005 BackendClose b 24 vcl1.d1(127.0.0.1)\r\n**** v1 30.5 vsl| 1005 Timestamp b Beresp: 1491405636.835078 30.029983 30.029578\r\n**** v1 30.5 vsl| 1005 Timestamp b Error: 1491405636.835090 30.029996 0.000013\r\n**** v1 30.5 vsl| 1005 BerespProtocol b HTTP/1.1\r\n**** v1 30.5 vsl| 1005 BerespStatus b 503\r\n**** v1 30.5 vsl| 1005 BerespReason b Service Unavailable\r\n**** v1 30.5 vsl| 1005 BerespReason b Backend fetch failed\r\n**** v1 30.5 vsl| 1005 BerespHeader b Date: Wed, 05 Apr 2017 15:20:36 GMT\r\n**** v1 30.5 vsl| 1005 BerespHeader b Server: Varnish\r\n**** v1 30.5 vsl| 1005 VCL_call b BACKEND_ERROR\r\n**** v1 30.5 vsl| 1005 BerespStatus b 429\r\n**** v1 30.5 vsl| 1005 BerespReason b Unknown HTTP Status\r\n**** v1 30.5 vsl| 1005 BerespHeader b Content-Type: text/html; charset=utf-8\r\n**** v1 30.5 vsl| 1005 BerespHeader b Retry-After: 5\r\n**** v1 30.5 vsl| 1005 VCL_return b deliver\r\n**** v1 30.5 vsl| 1005 Storage b malloc Transient\r\n**** v1 30.5 vsl| 1005 ObjProtocol b HTTP/1.1\r\n**** v1 30.5 vsl| 1005 ObjStatus b 429\r\n**** v1 30.5 vsl| 1005 ObjReason b Unknown HTTP Status\r\n**** v1 30.5 vsl| 1005 ObjHeader b Date: Wed, 05 Apr 2017 15:20:36 GMT\r\n**** v1 30.5 vsl| 1005 ObjHeader b Server: Varnish\r\n**** v1 30.5 vsl| 1005 ObjHeader b Content-Type: text/html; charset=utf-8\r\n**** v1 30.5 vsl| 1005 ObjHeader b Retry-After: 5\r\n**** v1 30.5 vsl| 1005 Length b 278\r\n**** v1 30.5 vsl| 1005 BereqAcct b 63 0 63 0 0 0\r\n**** v1 30.5 vsl| 1005 End b \r\n**** v1 30.5 vsl| 1003 Begin c req 1001 rxreq\r\n**** v1 30.5 vsl| 1003 Timestamp c Start: 1491405606.804885 0.000000 0.000000\r\n**** v1 30.5 vsl| 1003 Timestamp c Req: 1491405606.804885 0.000000 0.000000\r\n**** v1 30.5 vsl| 1003 ReqStart c 127.0.0.1 46418\r\n**** v1 30.5 vsl| 1003 ReqMethod c GET\r\n**** v1 30.5 vsl| 1003 ReqURL c /\r\n**** v1 30.5 vsl| 1003 ReqProtocol c HTTP/1.1\r\n**** v1 30.5 vsl| 1003 ReqHeader c X-Forwarded-For: 127.0.0.1\r\n**** v1 30.5 vsl| 1003 VCL_call c RECV\r\n**** v1 30.5 vsl| 1003 VCL_return c pass\r\n**** v1 30.5 vsl| 1003 VCL_call c HASH\r\n**** v1 30.5 vsl| 1003 VCL_return c lookup\r\n**** v1 30.5 vsl| 1003 VCL_call c PASS\r\n**** v1 30.5 vsl| 1003 VCL_return c fetch\r\n**** v1 30.5 vsl| 1003 Link c bereq 1005 pass\r\n**** v1 30.5 vsl| 1003 Timestamp c Fetch: 1491405636.835360 30.030474 30.030474\r\n**** v1 30.5 vsl| 1003 RespProtocol c HTTP/1.1\r\n**** v1 30.5 vsl| 1003 RespStatus c 429\r\n**** v1 30.5 vsl| 1003 RespReason c Unknown HTTP Status\r\n**** v1 30.5 vsl| 1003 RespHeader c Date: Wed, 05 Apr 2017 15:20:36 GMT\r\n**** v1 30.5 vsl| 1003 RespHeader c Server: Varnish\r\n**** v1 30.5 vsl| 1003 RespHeader c Content-Type: text/html; charset=utf-8\r\n**** v1 30.5 vsl| 1003 RespHeader c Retry-After: 5\r\n**** v1 30.5 vsl| 1003 RespHeader c X-Varnish: 1003\r\n**** v1 30.5 vsl| 1003 RespHeader c Age: 0\r\n**** v1 30.5 vsl| 1003 RespHeader c Via: 1.1 varnish (Varnish/5.1)\r\n**** v1 30.5 vsl| 1003 VCL_call c DELIVER\r\n**** v1 30.5 vsl| 1003 VCL_return c deliver\r\n**** v1 30.5 vsl| 1003 Timestamp c Process: 1491405636.835399 30.030514 0.000039\r\n**** v1 30.5 vsl| 1003 RespHeader c Content-Length: 278\r\n**** v1 30.5 vsl| 1003 Debug c RES_MODE 2\r\n**** v1 30.5 vsl| 1003 RespHeader c Connection: keep-alive\r\n**** v1 30.5 vsl| 1003 Timestamp c Resp: 1491405636.835462 30.030577 0.000063\r\n**** v1 30.5 vsl| 1003 ReqAcct c 18 0 18 248 278 526\r\n**** v1 30.5 vsl| 1003 End c \r\n*** v1 30.6 CLI RX 200\r\n**** v1 30.6 CLI RX|Backend name Admin Probe Last updated\r\n**** v1 30.6 CLI RX|vcl1.s1 probe Healthy (no probe) Wed, 05 Apr 2017 15:20:06 GMT\r\n**** v1 30.6 CLI RX|vcl1.d1(127.0.0.1) probe Healthy (no probe) Wed, 05 Apr 2017 15:20:06 GMT\r\n*** v1 30.6 debug|Debug: Stopping Child\r\n**** v1 30.6 vsl| 0 CLI - Rd backend.list \r\n**** v1 30.6 vsl| 0 CLI - Wr 200 261 Backend name Admin Probe Last updated\r\nvcl1.s1 probe Healthy (no probe) Wed, 05 Apr 2017 15:20:06 GMT\r\nvcl1.d1(127.0.0.1) probe Healthy (no probe) Wed, 05 Apr\r\n**** v1 30.6 vsl| 0 CLI - EOF on CLI connection, worker stops\r\n*** v1 31.6 debug|Info: Child (12311) ended\r\n*** v1 31.6 debug|Info: Child (12311) said Child dies\r\n*** v1 31.6 debug|Debug: Child cleanup complete\r\n**** v1 31.6 STDOUT poll 0x10\r\n** v1 31.6 R 12301 Status: 0000 (u 0.164000 s 0.040000)\r\n* top 31.6 TEST ./tests/test10.vtc FAILED\r\n# top TEST ./tests/test10.vtc FAILED (31.646) exit=2\r\n```","closed_by":{"login":"dridi","id":891744,"node_id":"MDQ6VXNlcjg5MTc0NA==","avatar_url":"https://avatars.githubusercontent.com/u/891744?v=4","gravatar_id":"","url":"https://api.github.com/users/dridi","html_url":"https://github.com/dridi","followers_url":"https://api.github.com/users/dridi/followers","following_url":"https://api.github.com/users/dridi/following{/other_user}","gists_url":"https://api.github.com/users/dridi/gists{/gist_id}","starred_url":"https://api.github.com/users/dridi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dridi/subscriptions","organizations_url":"https://api.github.com/users/dridi/orgs","repos_url":"https://api.github.com/users/dridi/repos","events_url":"https://api.github.com/users/dridi/events{/privacy}","received_events_url":"https://api.github.com/users/dridi/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/20/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/20/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/21","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/21/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/21/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/21/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/21","id":225908469,"node_id":"MDU6SXNzdWUyMjU5MDg0Njk=","number":21,"title":"Respect TTL in DNS record","user":{"login":"teohhanhui","id":548843,"node_id":"MDQ6VXNlcjU0ODg0Mw==","avatar_url":"https://avatars.githubusercontent.com/u/548843?v=4","gravatar_id":"","url":"https://api.github.com/users/teohhanhui","html_url":"https://github.com/teohhanhui","followers_url":"https://api.github.com/users/teohhanhui/followers","following_url":"https://api.github.com/users/teohhanhui/following{/other_user}","gists_url":"https://api.github.com/users/teohhanhui/gists{/gist_id}","starred_url":"https://api.github.com/users/teohhanhui/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/teohhanhui/subscriptions","organizations_url":"https://api.github.com/users/teohhanhui/orgs","repos_url":"https://api.github.com/users/teohhanhui/repos","events_url":"https://api.github.com/users/teohhanhui/events{/privacy}","received_events_url":"https://api.github.com/users/teohhanhui/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":12,"created_at":"2017-05-03T07:58:07Z","updated_at":"2019-07-13T16:46:03Z","closed_at":"2017-08-11T16:13:11Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"It'd be great if the DNS resolution can respect the TTL specified in the DNS record (as it should), and also not to apply the TTL if it resolved to no address.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/21/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/21/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/22","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/22/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/22/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/22/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/22","id":233509305,"node_id":"MDU6SXNzdWUyMzM1MDkzMDU=","number":22,"title":"m4 include issues","user":{"login":"redbox-cdn","id":7666840,"node_id":"MDQ6VXNlcjc2NjY4NDA=","avatar_url":"https://avatars.githubusercontent.com/u/7666840?v=4","gravatar_id":"","url":"https://api.github.com/users/redbox-cdn","html_url":"https://github.com/redbox-cdn","followers_url":"https://api.github.com/users/redbox-cdn/followers","following_url":"https://api.github.com/users/redbox-cdn/following{/other_user}","gists_url":"https://api.github.com/users/redbox-cdn/gists{/gist_id}","starred_url":"https://api.github.com/users/redbox-cdn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/redbox-cdn/subscriptions","organizations_url":"https://api.github.com/users/redbox-cdn/orgs","repos_url":"https://api.github.com/users/redbox-cdn/repos","events_url":"https://api.github.com/users/redbox-cdn/events{/privacy}","received_events_url":"https://api.github.com/users/redbox-cdn/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2017-06-05T06:57:30Z","updated_at":"2018-09-12T15:18:06Z","closed_at":"2018-09-12T15:18:06Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"hi \r\n\r\nI am facing following error. Does anyone know what is missing ?\r\n\r\n### here is my details\r\nCentos 6.7\r\nVarnish4.1.6\r\npkg-config 0.23\r\nautomake 1.12.1\r\nautoconf 2.69\r\nm4 1.4.13\r\n\r\n```\r\n./configure\r\n\r\n./configure: line 10817: PKG_PROG_PKG_CONFIG: command not found\r\n./configure: line 10818: PKG_PROG_PKG_CONFIG: command not found\r\n./configure: line 10819: PKG_PROG_PKG_CONFIG: command not found\r\n./configure: line 10820: PKG_PROG_PKG_CONFIG: command not found\r\n./configure: line 10821: PKG_PROG_PKG_CONFIG: command not found\r\n./configure: line 10822: PKG_PROG_PKG_CONFIG: command not found\r\n./configure: line 10824: syntax error near unexpected token `0.21'\r\n./configure: line 10824: ` PKG_PROG_PKG_CONFIG(0.21)'\r\n```\r\n\r\n```\r\n\r\nautogen.sh \r\n+ aclocal -I m4 -I /usr/local/varnish/share/aclocal\r\nconfigure.ac:14: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body\r\n../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...\r\n../../lib/autoconf/general.m4:2661: _AC_LINK_IFELSE is expanded from...\r\n../../lib/autoconf/general.m4:2678: AC_LINK_IFELSE is expanded from...\r\nm4/libtool.m4:1022: _LT_SYS_MODULE_PATH_AIX is expanded from...\r\nm4/libtool.m4:4161: _LT_LINKER_SHLIBS is expanded from...\r\nm4/libtool.m4:5236: _LT_LANG_C_CONFIG is expanded from...\r\nm4/libtool.m4:138: _LT_SETUP is expanded from...\r\nm4/libtool.m4:67: LT_INIT is expanded from...\r\nconfigure.ac:14: the top level\r\nconfigure.ac:14: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body\r\n../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...\r\n../../lib/autoconf/general.m4:2661: _AC_LINK_IFELSE is expanded from...\r\n../../lib/autoconf/general.m4:2678: AC_LINK_IFELSE is expanded from...\r\nm4/libtool.m4:4161: _LT_LINKER_SHLIBS is expanded from...\r\nm4/libtool.m4:5236: _LT_LANG_C_CONFIG is expanded from...\r\nm4/libtool.m4:138: _LT_SETUP is expanded from...\r\nm4/libtool.m4:67: LT_INIT is expanded from...\r\nconfigure.ac:14: the top level\r\nconfigure.ac:25: warning: PKG_PROG_PKG_CONFIG is m4_require'd but not m4_defun'd\r\nm4/ax_pkg_check_var.m4:10: PKG_CHECK_VAR is expanded from...\r\n/usr/local/varnish/share/aclocal/varnish.m4:36: _VARNISH_PKG_CONFIG is expanded from...\r\n/usr/local/varnish/share/aclocal/varnish.m4:255: VARNISH_PREREQ is expanded from...\r\nconfigure.ac:25: the top level\r\nconfigure.ac:28: warning: PKG_PROG_PKG_CONFIG is m4_require'd but not m4_defun'd\r\nm4/ax_pkg_check_var.m4:10: PKG_CHECK_VAR is expanded from...\r\nconfigure.ac:28: the top level\r\n+ libtoolize --copy --force\r\nlibtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.\r\nlibtoolize: copying file `build-aux/ltmain.sh'\r\nlibtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.\r\nlibtoolize: copying file `m4/libtool.m4'\r\nlibtoolize: copying file `m4/ltoptions.m4'\r\nlibtoolize: copying file `m4/ltsugar.m4'\r\nlibtoolize: copying file `m4/ltversion.m4'\r\nlibtoolize: copying file `m4/lt~obsolete.m4'\r\n+ autoheader\r\nconfigure.ac:14: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body\r\n../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...\r\n../../lib/autoconf/general.m4:2661: _AC_LINK_IFELSE is expanded from...\r\n../../lib/autoconf/general.m4:2678: AC_LINK_IFELSE is expanded from...\r\nm4/libtool.m4:1022: _LT_SYS_MODULE_PATH_AIX is expanded from...\r\nm4/libtool.m4:4161: _LT_LINKER_SHLIBS is expanded from...\r\nm4/libtool.m4:5236: _LT_LANG_C_CONFIG is expanded from...\r\nm4/libtool.m4:138: _LT_SETUP is expanded from...\r\nm4/libtool.m4:67: LT_INIT is expanded from...\r\nconfigure.ac:14: the top level\r\nconfigure.ac:14: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body\r\n../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...\r\n../../lib/autoconf/general.m4:2661: _AC_LINK_IFELSE is expanded from...\r\n../../lib/autoconf/general.m4:2678: AC_LINK_IFELSE is expanded from...\r\nm4/libtool.m4:4161: _LT_LINKER_SHLIBS is expanded from...\r\nm4/libtool.m4:5236: _LT_LANG_C_CONFIG is expanded from...\r\nm4/libtool.m4:138: _LT_SETUP is expanded from...\r\nm4/libtool.m4:67: LT_INIT is expanded from...\r\nconfigure.ac:14: the top level\r\nconfigure.ac:25: warning: PKG_PROG_PKG_CONFIG is m4_require'd but not m4_defun'd\r\nm4/ax_pkg_check_var.m4:10: PKG_CHECK_VAR is expanded from...\r\naclocal.m4:1349: _VARNISH_PKG_CONFIG is expanded from...\r\naclocal.m4:1568: VARNISH_PREREQ is expanded from...\r\nconfigure.ac:25: the top level\r\nconfigure.ac:28: warning: PKG_PROG_PKG_CONFIG is m4_require'd but not m4_defun'd\r\nm4/ax_pkg_check_var.m4:10: PKG_CHECK_VAR is expanded from...\r\nconfigure.ac:28: the top level\r\n+ automake --add-missing --copy --foreign\r\nconfigure.ac:14: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body\r\n../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...\r\n../../lib/autoconf/general.m4:2661: _AC_LINK_IFELSE is expanded from...\r\n../../lib/autoconf/general.m4:2678: AC_LINK_IFELSE is expanded from...\r\nm4/libtool.m4:1022: _LT_SYS_MODULE_PATH_AIX is expanded from...\r\nm4/libtool.m4:4161: _LT_LINKER_SHLIBS is expanded from...\r\nm4/libtool.m4:5236: _LT_LANG_C_CONFIG is expanded from...\r\nm4/libtool.m4:138: _LT_SETUP is expanded from...\r\nm4/libtool.m4:67: LT_INIT is expanded from...\r\nconfigure.ac:14: the top level\r\nconfigure.ac:14: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body\r\n../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...\r\n../../lib/autoconf/general.m4:2661: _AC_LINK_IFELSE is expanded from...\r\n../../lib/autoconf/general.m4:2678: AC_LINK_IFELSE is expanded from...\r\nm4/libtool.m4:4161: _LT_LINKER_SHLIBS is expanded from...\r\nm4/libtool.m4:5236: _LT_LANG_C_CONFIG is expanded from...\r\nm4/libtool.m4:138: _LT_SETUP is expanded from...\r\nm4/libtool.m4:67: LT_INIT is expanded from...\r\nconfigure.ac:14: the top level\r\nconfigure.ac:25: warning: PKG_PROG_PKG_CONFIG is m4_require'd but not m4_defun'd\r\nm4/ax_pkg_check_var.m4:10: PKG_CHECK_VAR is expanded from...\r\naclocal.m4:1349: _VARNISH_PKG_CONFIG is expanded from...\r\naclocal.m4:1568: VARNISH_PREREQ is expanded from...\r\nconfigure.ac:25: the top level\r\nconfigure.ac:28: warning: PKG_PROG_PKG_CONFIG is m4_require'd but not m4_defun'd\r\nm4/ax_pkg_check_var.m4:10: PKG_CHECK_VAR is expanded from...\r\nconfigure.ac:28: the top level\r\n+ autoconf\r\nconfigure.ac:14: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body\r\n../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...\r\n../../lib/autoconf/general.m4:2661: _AC_LINK_IFELSE is expanded from...\r\n../../lib/autoconf/general.m4:2678: AC_LINK_IFELSE is expanded from...\r\nm4/libtool.m4:1022: _LT_SYS_MODULE_PATH_AIX is expanded from...\r\nm4/libtool.m4:4161: _LT_LINKER_SHLIBS is expanded from...\r\nm4/libtool.m4:5236: _LT_LANG_C_CONFIG is expanded from...\r\nm4/libtool.m4:138: _LT_SETUP is expanded from...\r\nm4/libtool.m4:67: LT_INIT is expanded from...\r\nconfigure.ac:14: the top level\r\nconfigure.ac:14: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body\r\n../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...\r\n../../lib/autoconf/general.m4:2661: _AC_LINK_IFELSE is expanded from...\r\n../../lib/autoconf/general.m4:2678: AC_LINK_IFELSE is expanded from...\r\nm4/libtool.m4:4161: _LT_LINKER_SHLIBS is expanded from...\r\nm4/libtool.m4:5236: _LT_LANG_C_CONFIG is expanded from...\r\nm4/libtool.m4:138: _LT_SETUP is expanded from...\r\nm4/libtool.m4:67: LT_INIT is expanded from...\r\nconfigure.ac:14: the top level\r\nconfigure.ac:25: warning: PKG_PROG_PKG_CONFIG is m4_require'd but not m4_defun'd\r\nm4/ax_pkg_check_var.m4:10: PKG_CHECK_VAR is expanded from...\r\naclocal.m4:1349: _VARNISH_PKG_CONFIG is expanded from...\r\naclocal.m4:1568: VARNISH_PREREQ is expanded from...\r\nconfigure.ac:25: the top level\r\nconfigure.ac:28: warning: PKG_PROG_PKG_CONFIG is m4_require'd but not m4_defun'd\r\nm4/ax_pkg_check_var.m4:10: PKG_CHECK_VAR is expanded from...\r\nconfigure.ac:28: the top level\r\n\r\n\r\n```","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/22/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/22/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/23","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/23/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/23/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/23/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/23","id":247464302,"node_id":"MDU6SXNzdWUyNDc0NjQzMDI=","number":23,"title":"probe not happy with .url = \"/xxx\";","user":{"login":"razvanphp","id":4599319,"node_id":"MDQ6VXNlcjQ1OTkzMTk=","avatar_url":"https://avatars.githubusercontent.com/u/4599319?v=4","gravatar_id":"","url":"https://api.github.com/users/razvanphp","html_url":"https://github.com/razvanphp","followers_url":"https://api.github.com/users/razvanphp/followers","following_url":"https://api.github.com/users/razvanphp/following{/other_user}","gists_url":"https://api.github.com/users/razvanphp/gists{/gist_id}","starred_url":"https://api.github.com/users/razvanphp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/razvanphp/subscriptions","organizations_url":"https://api.github.com/users/razvanphp/orgs","repos_url":"https://api.github.com/users/razvanphp/repos","events_url":"https://api.github.com/users/razvanphp/events{/privacy}","received_events_url":"https://api.github.com/users/razvanphp/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2017-08-02T17:26:56Z","updated_at":"2017-08-11T16:11:32Z","closed_at":"2017-08-11T16:11:32Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hey,\r\n\r\nFirst of all, thanks for this nice extension, it's finally allowing us to get rid of some local nginx instances and use only varnish to connect to AWS ALB directly.\r\n\r\nProblem is, we can't make the probes happy, they fail ~for some reason and I can't understand why~ because the dynamic vmod probes don't send a valid HTTP/1.1 request, more specifically, the `Host` header is missing.\r\n\r\nHere how it looks on the nginx side:\r\n```\r\n10.132.58.46 - - [02/Aug/2017:18:19:54 +0000] \"GET /ping HTTP/1.1\" 200 14 \"-\" \"curl/7.38.0\"\r\n10.132.58.46 - - [02/Aug/2017:18:19:55 +0000] \"GET /ping HTTP/1.1\" 200 14 \"-\" \"-\"\r\n10.132.58.46 - - [02/Aug/2017:18:19:54 +0000] \"GET /ping HTTP/1.1\" 400 166 \"-\" \"-\"\r\n```\r\ncurl works, normal backend works, dynamic backend probe gets 400 because:\r\n```\r\n2017/08/02 18:48:29 [info] 1784#1784: *710 client sent HTTP/1.1 request without \"Host\" header while reading client request headers, client: 10.132.58.46, server: _, request: \"GET /ping HTTP/1.1\"\r\n```\r\n\r\nSo, according to RFC 2316, section 14.23, HTTP 1.1 requests must contain a host header. If they don't, a server must reply with error 400.\r\n\r\nThis module should just put the DNS name of the backend as `Host` header, or just the IP like curl does when no server name is specified:\r\n```\r\n$ curl 10.132.17.10/ping -v\r\n* Hostname was NOT found in DNS cache\r\n* Trying 10.132.17.10...\r\n* Connected to 10.132.17.10 (10.132.17.10) port 80 (#0)\r\n> GET /ping HTTP/1.1\r\n> User-Agent: curl/7.38.0\r\n> Host: 10.132.17.10\r\n> Accept: */*\r\n>\r\n< HTTP/1.1 200 OK\r\n```\r\n\r\nMaybe you can also check what the original varnish code for probe does. Currently the workaround is:\r\n```\r\nprobe www_probe {\r\n .request =\r\n \"GET /ping HTTP/1.1\"\r\n \"Host: www.foo.bar\"\r\n \"Connection: close\";\r\n .timeout = 1s;\r\n .window = 8;\r\n .initial = 7;\r\n .threshold = 6;\r\n .interval = 5s;\r\n}\r\n```\r\n\r\nCheers,\r\nR","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/23/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/23/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/24","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/24/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/24/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/24/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/24","id":250079481,"node_id":"MDU6SXNzdWUyNTAwNzk0ODE=","number":24,"title":"make failed after latest commits","user":{"login":"rashidul0405","id":1697082,"node_id":"MDQ6VXNlcjE2OTcwODI=","avatar_url":"https://avatars.githubusercontent.com/u/1697082?v=4","gravatar_id":"","url":"https://api.github.com/users/rashidul0405","html_url":"https://github.com/rashidul0405","followers_url":"https://api.github.com/users/rashidul0405/followers","following_url":"https://api.github.com/users/rashidul0405/following{/other_user}","gists_url":"https://api.github.com/users/rashidul0405/gists{/gist_id}","starred_url":"https://api.github.com/users/rashidul0405/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rashidul0405/subscriptions","organizations_url":"https://api.github.com/users/rashidul0405/orgs","repos_url":"https://api.github.com/users/rashidul0405/repos","events_url":"https://api.github.com/users/rashidul0405/events{/privacy}","received_events_url":"https://api.github.com/users/rashidul0405/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2017-08-14T16:12:02Z","updated_at":"2017-09-05T14:51:44Z","closed_at":"2017-09-05T14:51:44Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"If I build using Apr 10, 2017 commit it works fine. \r\n\r\nHowever, current latest version produces the following error:\r\n\r\nvarnish 4.1.8\r\n\r\n```\r\nubuntu@16.04 $ make\r\nmake all-recursive\r\nmake[1]: Entering directory '/home/ubuntu/dynamic/libvmod-dynamic'\r\nMaking all in src\r\nmake[2]: Entering directory '/home/ubuntu/dynamic/libvmod-dynamic/src'\r\n CC vmod_dynamic.lo\r\nIn file included from vmod_dynamic.c:47:0:\r\nvmod_dynamic.c: In function ‘dynamic_get’:\r\nvmod_dynamic.c:698:21: error: passing argument 2 of ‘Lck__New’ from incompatible pointer type [-Werror=incompatible-pointer-types]\r\n Lck_New(&dom->mtx, lck_be);\r\n ^\r\n/usr/include/varnish/cache/cache.h:835:35: note: in definition of macro ‘Lck_New’\r\n #define Lck_New(a, b) Lck__New(a, b, #b)\r\n ^\r\n/usr/include/varnish/cache/cache.h:828:6: note: expected ‘struct VSC_C_lck *’ but argument is of type ‘struct VSC_lck *’\r\n void Lck__New(struct lock *lck, struct VSC_C_lck *, const char *);\r\n ^\r\nvmod_dynamic.c: In function ‘vmod_event’:\r\nvmod_dynamic.c:732:12: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]\r\n lck_dir = Lck_CreateClass(\"dynamic.director\");\r\n ^\r\nvmod_dynamic.c:733:11: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]\r\n lck_be = Lck_CreateClass(\"dynamic.backend\");\r\n ^\r\nvmod_dynamic.c:744:4: error: implicit declaration of function ‘Lck_DestroyClass’ [-Werror=implicit-function-declaration]\r\n Lck_DestroyClass(&lck_dir);\r\n ^\r\nvmod_dynamic.c: In function ‘dynamic_share_parse’:\r\nvmod_dynamic.c:782:2: error: implicit declaration of function ‘NEEDLESS’ [-Werror=implicit-function-declaration]\r\n NEEDLESS(return(0));\r\n ^\r\nvmod_dynamic.c:782:11: error: expected expression before ‘return’\r\n NEEDLESS(return(0));\r\n ^\r\nIn file included from vmod_dynamic.c:47:0:\r\nvmod_dynamic.c: In function ‘vmod_director__init’:\r\nvmod_dynamic.c:858:21: error: passing argument 2 of ‘Lck__New’ from incompatible pointer type [-Werror=incompatible-pointer-types]\r\n Lck_New(&obj->mtx, lck_dir);\r\n ^\r\n/usr/include/varnish/cache/cache.h:835:35: note: in definition of macro ‘Lck_New’\r\n #define Lck_New(a, b) Lck__New(a, b, #b)\r\n ^\r\n/usr/include/varnish/cache/cache.h:828:6: note: expected ‘struct VSC_C_lck *’ but argument is of type ‘struct VSC_lck *’\r\n void Lck__New(struct lock *lck, struct VSC_C_lck *, const char *);\r\n ^\r\ncc1: all warnings being treated as errors\r\nMakefile:651: recipe for target 'vmod_dynamic.lo' failed\r\nmake[2]: *** [vmod_dynamic.lo] Error 1\r\nmake[2]: Leaving directory '/home/ubuntu/dynamic/libvmod-dynamic/src'\r\nMakefile:485: recipe for target 'all-recursive' failed\r\nmake[1]: *** [all-recursive] Error 1\r\nmake[1]: Leaving directory '/home/ubuntu/dynamic/libvmod-dynamic'\r\nMakefile:396: recipe for target 'all' failed\r\nmake: *** [all] Error 2\r\n```","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/24/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/24/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/25","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/25/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/25/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/25/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/25","id":260193076,"node_id":"MDU6SXNzdWUyNjAxOTMwNzY=","number":25,"title":"5.0 branch build fails against varnish 4.1.8","user":{"login":"vStone","id":356719,"node_id":"MDQ6VXNlcjM1NjcxOQ==","avatar_url":"https://avatars.githubusercontent.com/u/356719?v=4","gravatar_id":"","url":"https://api.github.com/users/vStone","html_url":"https://github.com/vStone","followers_url":"https://api.github.com/users/vStone/followers","following_url":"https://api.github.com/users/vStone/following{/other_user}","gists_url":"https://api.github.com/users/vStone/gists{/gist_id}","starred_url":"https://api.github.com/users/vStone/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vStone/subscriptions","organizations_url":"https://api.github.com/users/vStone/orgs","repos_url":"https://api.github.com/users/vStone/repos","events_url":"https://api.github.com/users/vStone/events{/privacy}","received_events_url":"https://api.github.com/users/vStone/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2017-09-25T08:30:14Z","updated_at":"2017-09-26T10:30:55Z","closed_at":"2017-09-26T08:59:14Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Building branch 5.0 against varnish-4.1.8:\r\n```\r\nmake[2]: Entering directory '/home/jan/SRC/libvmod-dynamic/src'\r\n VMODTOOL vmod_dynamic.vcc\r\nWARNING: $Event description is not included in .rst:\r\n[(162, '')]\r\n CC vmod_dynamic.lo\r\nvmod_dynamic.c: In function ‘dynamic_share_parse’:\r\nvmod_dynamic.c:782:2: error: implicit declaration of function ‘NEEDLESS’ [-Werror=implicit-function-declaration]\r\n NEEDLESS(return(0));\r\n ^\r\nvmod_dynamic.c:782:11: error: expected expression before ‘return’\r\n NEEDLESS(return(0));\r\n ^\r\ncc1: all warnings being treated as errors\r\nmake[2]: *** [Makefile:650: vmod_dynamic.lo] Error 1\r\n```\r\n\r\nMaybe split off a bit too late?","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/25/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/25/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/26","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/26/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/26/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/26/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/26","id":260411322,"node_id":"MDU6SXNzdWUyNjA0MTEzMjI=","number":26,"title":"PLease tag 5.2","user":{"login":"billnbell","id":25377089,"node_id":"MDQ6VXNlcjI1Mzc3MDg5","avatar_url":"https://avatars.githubusercontent.com/u/25377089?v=4","gravatar_id":"","url":"https://api.github.com/users/billnbell","html_url":"https://github.com/billnbell","followers_url":"https://api.github.com/users/billnbell/followers","following_url":"https://api.github.com/users/billnbell/following{/other_user}","gists_url":"https://api.github.com/users/billnbell/gists{/gist_id}","starred_url":"https://api.github.com/users/billnbell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/billnbell/subscriptions","organizations_url":"https://api.github.com/users/billnbell/orgs","repos_url":"https://api.github.com/users/billnbell/repos","events_url":"https://api.github.com/users/billnbell/events{/privacy}","received_events_url":"https://api.github.com/users/billnbell/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2017-09-25T20:52:45Z","updated_at":"2017-09-26T09:02:38Z","closed_at":"2017-09-26T09:02:38Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Please tag this for 5.2. The master right now appears to work.\r\n\r\ngit fetch https://github.com/nigoroll/libvmod-dynamic.git 89f489146f129a841ec91467178b28cea57236df ","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/26/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/26/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/27","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/27/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/27/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/27/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/27","id":261899811,"node_id":"MDU6SXNzdWUyNjE4OTk4MTE=","number":27,"title":"Building issue on RHEL7 with varnish 4.1.8","user":{"login":"imanandshah","id":31092588,"node_id":"MDQ6VXNlcjMxMDkyNTg4","avatar_url":"https://avatars.githubusercontent.com/u/31092588?v=4","gravatar_id":"","url":"https://api.github.com/users/imanandshah","html_url":"https://github.com/imanandshah","followers_url":"https://api.github.com/users/imanandshah/followers","following_url":"https://api.github.com/users/imanandshah/following{/other_user}","gists_url":"https://api.github.com/users/imanandshah/gists{/gist_id}","starred_url":"https://api.github.com/users/imanandshah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/imanandshah/subscriptions","organizations_url":"https://api.github.com/users/imanandshah/orgs","repos_url":"https://api.github.com/users/imanandshah/repos","events_url":"https://api.github.com/users/imanandshah/events{/privacy}","received_events_url":"https://api.github.com/users/imanandshah/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-10-01T08:06:50Z","updated_at":"2017-10-01T13:28:13Z","closed_at":"2017-10-01T13:28:13Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"\r\nI get the below error while building on a vanilla RHEL varnish 4.1.8 version. Can you help here?? \r\n\r\n\r\n> make all-recursive\r\nmake[1]: Entering directory `/var/tmp/libvmod-dynamic'\r\nMaking all in src\r\nmake[2]: Entering directory `/var/tmp/libvmod-dynamic/src'\r\n VMODTOOL vmod_dynamic.vcc\r\nWARNING: $Event description is not included in .rst:\r\n[(162, '')]\r\n CC vmod_dynamic.lo\r\nvmod_dynamic.c: In function 'dynamic_get':\r\nvmod_dynamic.c:698:2: error: passing argument 2 of 'Lck__New' from incompatible pointer type [-Werror]\r\n Lck_New(&dom->mtx, lck_be);\r\n ^\r\nIn file included from vmod_dynamic.c:47:0:\r\n/product/varnish/include/varnish/cache/cache.h:828:6: note: expected 'struct VSC_C_lck *' but argument is of type 'struct VSC_lck *'\r\n void Lck__New(struct lock *lck, struct VSC_C_lck *, const char *);\r\n ^\r\nvmod_dynamic.c: In function 'vmod_event':\r\nvmod_dynamic.c:732:12: error: assignment from incompatible pointer type [-Werror]\r\n lck_dir = Lck_CreateClass(\"dynamic.director\");\r\n ^\r\nvmod_dynamic.c:733:11: error: assignment from incompatible pointer type [-Werror]\r\n lck_be = Lck_CreateClass(\"dynamic.backend\");\r\n ^\r\nvmod_dynamic.c:744:4: error: implicit declaration of function 'Lck_DestroyClass' [-Werror=implicit-function-declaration]\r\n Lck_DestroyClass(&lck_dir);\r\n ^\r\nvmod_dynamic.c: In function 'dynamic_share_parse':\r\nvmod_dynamic.c:782:2: error: implicit declaration of function 'NEEDLESS' [-Werror=implicit-function-declaration]\r\n NEEDLESS(return(0));\r\n ^\r\nvmod_dynamic.c:782:11: error: expected expression before 'return'\r\n NEEDLESS(return(0));\r\n ^\r\nvmod_dynamic.c: In function 'vmod_director__init':\r\nvmod_dynamic.c:858:2: error: passing argument 2 of 'Lck__New' from incompatible pointer type [-Werror]\r\n Lck_New(&obj->mtx, lck_dir);\r\n ^\r\nIn file included from vmod_dynamic.c:47:0:\r\n/product/varnish/include/varnish/cache/cache.h:828:6: note: expected 'struct VSC_C_lck *' but argument is of type 'struct VSC_lck *'\r\n void Lck__New(struct lock *lck, struct VSC_C_lck *, const char *);\r\n ^\r\ncc1: all warnings being treated as errors\r\n","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/27/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/27/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/28","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/28/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/28/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/28/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/28","id":261999468,"node_id":"MDExOlB1bGxSZXF1ZXN0MTQ0MTIyNTUx","number":28,"title":"Improve debian package quality","user":{"login":"vStone","id":356719,"node_id":"MDQ6VXNlcjM1NjcxOQ==","avatar_url":"https://avatars.githubusercontent.com/u/356719?v=4","gravatar_id":"","url":"https://api.github.com/users/vStone","html_url":"https://github.com/vStone","followers_url":"https://api.github.com/users/vStone/followers","following_url":"https://api.github.com/users/vStone/following{/other_user}","gists_url":"https://api.github.com/users/vStone/gists{/gist_id}","starred_url":"https://api.github.com/users/vStone/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vStone/subscriptions","organizations_url":"https://api.github.com/users/vStone/orgs","repos_url":"https://api.github.com/users/vStone/repos","events_url":"https://api.github.com/users/vStone/events{/privacy}","received_events_url":"https://api.github.com/users/vStone/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2017-10-02T07:16:51Z","updated_at":"2018-09-12T15:27:28Z","closed_at":"2018-09-12T15:27:27Z","author_association":"NONE","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/28","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/28","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/28.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/28.patch","merged_at":null},"body":"Fixes all lintian (https://lintian.debian.org/manual/chapter-1.html#section-1.1) errors and fix some warnings.\r\n\r\nYou should probably double check what my changes do for the rpm build since I can't easily test that for now.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/28/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/28/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/29","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/29/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/29/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/29/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/29","id":261999621,"node_id":"MDExOlB1bGxSZXF1ZXN0MTQ0MTIyNjYx","number":29,"title":"Backport changes made to master for lintian errors and warnings","user":{"login":"vStone","id":356719,"node_id":"MDQ6VXNlcjM1NjcxOQ==","avatar_url":"https://avatars.githubusercontent.com/u/356719?v=4","gravatar_id":"","url":"https://api.github.com/users/vStone","html_url":"https://github.com/vStone","followers_url":"https://api.github.com/users/vStone/followers","following_url":"https://api.github.com/users/vStone/following{/other_user}","gists_url":"https://api.github.com/users/vStone/gists{/gist_id}","starred_url":"https://api.github.com/users/vStone/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vStone/subscriptions","organizations_url":"https://api.github.com/users/vStone/orgs","repos_url":"https://api.github.com/users/vStone/repos","events_url":"https://api.github.com/users/vStone/events{/privacy}","received_events_url":"https://api.github.com/users/vStone/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2017-10-02T07:17:45Z","updated_at":"2018-09-12T15:26:15Z","closed_at":"2018-09-12T15:25:43Z","author_association":"NONE","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/pulls/29","html_url":"https://github.com/nigoroll/libvmod-dynamic/pull/29","diff_url":"https://github.com/nigoroll/libvmod-dynamic/pull/29.diff","patch_url":"https://github.com/nigoroll/libvmod-dynamic/pull/29.patch","merged_at":"2018-09-12T15:25:43Z"},"body":"","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/29/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/29/timeline","performed_via_github_app":null,"state_reason":null},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/30","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/30/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/30/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/30/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/30","id":271126401,"node_id":"MDU6SXNzdWUyNzExMjY0MDE=","number":30,"title":"make check fails","user":{"login":"danielmotaleite","id":11890049,"node_id":"MDQ6VXNlcjExODkwMDQ5","avatar_url":"https://avatars.githubusercontent.com/u/11890049?v=4","gravatar_id":"","url":"https://api.github.com/users/danielmotaleite","html_url":"https://github.com/danielmotaleite","followers_url":"https://api.github.com/users/danielmotaleite/followers","following_url":"https://api.github.com/users/danielmotaleite/following{/other_user}","gists_url":"https://api.github.com/users/danielmotaleite/gists{/gist_id}","starred_url":"https://api.github.com/users/danielmotaleite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielmotaleite/subscriptions","organizations_url":"https://api.github.com/users/danielmotaleite/orgs","repos_url":"https://api.github.com/users/danielmotaleite/repos","events_url":"https://api.github.com/users/danielmotaleite/events{/privacy}","received_events_url":"https://api.github.com/users/danielmotaleite/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-11-03T21:41:34Z","updated_at":"2017-11-06T18:21:21Z","closed_at":"2017-11-04T10:43:00Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi\r\n\r\nTrying to update the setup, when i build the latest version on a ubuntu 16.04 with varnish 5.1.2 and do a `make check` i get a `FAIL: tests/test13.vtc`\r\n\r\nThe test-suite.log says this:\r\n```\r\n=============================================\r\n libvmod-dynamic 0.2: src/test-suite.log\r\n=============================================\r\n\r\n# TOTAL: 13\r\n# PASS: 12\r\n# SKIP: 0\r\n# XFAIL: 0\r\n# FAIL: 1\r\n# XPASS: 0\r\n# ERROR: 0\r\n\r\n.. contents:: :depth: 2\r\n\r\nFAIL: tests/test13\r\n==================\r\n\r\n**** top 0.0 extmacro def pwd=/usr/src/libvmod-dynamic/src\r\n**** top 0.0 extmacro def vmod_dynamic=dynamic from \"/usr/src/libvmod-dynamic/src/.libs/libvmod_dynamic.so\"\r\n**** top 0.0 extmacro def localhost=127.0.0.1\r\n**** top 0.0 extmacro def bad_backend=127.0.0.1 20163\r\n**** top 0.0 extmacro def bad_ip=192.0.2.255\r\n**** top 0.0 macro def tmpdir=/tmp/vtc.13912.7d7acb57\r\n* top 0.0 TEST ./tests/test13.vtc starting\r\n** top 0.0 === varnishtest \"share = HOST and probe hostname\"\r\n* top 0.0 TEST share = HOST and probe hostname\r\n** top 0.0 === barrier b1 cond 2\r\n** top 0.0 === server s1 {\r\n** s1 0.0 Starting server\r\n**** s1 0.0 macro def s1_addr=127.0.0.1\r\n**** s1 0.0 macro def s1_port=29921\r\n**** s1 0.0 macro def s1_sock=127.0.0.1 29921\r\n* s1 0.0 Listen on 127.0.0.1 29921\r\n** top 0.0 === varnish v1 -arg \"-p vcc_allow_inline_c=true\" -vcl {\r\n** s1 0.0 Started on 127.0.0.1 29921\r\n** v1 0.0 Launch\r\n*** v1 0.0 CMD: cd ${pwd} && exec varnishd -d -n /tmp/vtc.13912.7d7acb57/v1 -l 2m,1m,- -p auto_restart=off -p syslog_cli_traffic=off -p sigsegv_handler=on -p thread_pool_min=10 -p debug=+vtc_mode -a '127.0.0.1:0' -M '127.0.0.1 37481' -P /tmp/vtc.13912.7d7acb57/v1/varnishd.pid -p vcc_allow_inline_c=true\r\n*** v1 0.0 CMD: cd /usr/src/libvmod-dynamic/src && exec varnishd -d -n /tmp/vtc.13912.7d7acb57/v1 -l 2m,1m,- -p auto_restart=off -p syslog_cli_traffic=off -p sigsegv_handler=on -p thread_pool_min=10 -p debug=+vtc_mode -a '127.0.0.1:0' -M '127.0.0.1 37481' -P /tmp/vtc.13912.7d7acb57/v1/varnishd.pid -p vcc_allow_inline_c=true\r\n*** v1 0.0 PID: 13918\r\n**** v1 0.0 macro def v1_pid=13918\r\n**** v1 0.0 macro def v1_name=/tmp/vtc.13912.7d7acb57/v1\r\n*** v1 0.0 debug|Debug: Platform: Linux,4.4.0-96-generic,x86_64,-junix,-smalloc,-smalloc,-hcritbit\r\n*** v1 0.0 debug|200 282 \r\n*** v1 0.0 debug|-----------------------------\r\n*** v1 0.0 debug|Varnish Cache CLI 1.0\r\n*** v1 0.0 debug|-----------------------------\r\n*** v1 0.0 debug|Linux,4.4.0-96-generic,x86_64,-junix,-smalloc,-smalloc,-hcritbit\r\n*** v1 0.0 debug|varnish-5.1.2 revision 6ece695\r\n*** v1 0.0 debug|\r\n*** v1 0.0 debug|Type 'help' for command list.\r\n*** v1 0.0 debug|Type 'quit' to close CLI session.\r\n*** v1 0.0 debug|Type 'start' to launch worker process.\r\n*** v1 0.0 debug|\r\n*** v1 0.1 vsl|No VSL chunk found (child not started ?)\r\n**** v1 0.1 CLIPOLL 1 0x1 0x0\r\n*** v1 0.1 CLI connection fd = 10\r\n*** v1 0.1 CLI RX 107\r\n**** v1 0.1 CLI RX|xwjyrinmibtzfxggweunpxsicelyacyp\r\n**** v1 0.1 CLI RX|\r\n**** v1 0.1 CLI RX|Authentication required.\r\n**** v1 0.1 CLI TX|auth b3647e8f5e78d945d02d2b980d6e946615c4372711fa2add9f9220eb7724937d\r\n*** v1 0.1 CLI RX 200\r\n**** v1 0.1 CLI RX|-----------------------------\r\n**** v1 0.1 CLI RX|Varnish Cache CLI 1.0\r\n**** v1 0.1 CLI RX|-----------------------------\r\n**** v1 0.1 CLI RX|Linux,4.4.0-96-generic,x86_64,-junix,-smalloc,-smalloc,-hcritbit\r\n**** v1 0.1 CLI RX|varnish-5.1.2 revision 6ece695\r\n**** v1 0.1 CLI RX|\r\n**** v1 0.1 CLI RX|Type 'help' for command list.\r\n**** v1 0.1 CLI RX|Type 'quit' to close CLI session.\r\n**** v1 0.1 CLI RX|Type 'start' to launch worker process.\r\n**** v1 0.1 CLI TX|vcl.inline vcl1 << %XJEIFLH|)Xspa8P\r\n**** v1 0.1 CLI TX|vcl 4.0;\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|\\timport dynamic from \"/usr/src/libvmod-dynamic/src/.libs/libvmod_dynamic.so\";\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|\\tbackend dummy {\r\n**** v1 0.1 CLI TX|\\t .host = \"192.0.2.255\";\r\n**** v1 0.1 CLI TX|\\t}\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|\\tprobe simple {\r\n**** v1 0.1 CLI TX|\\t .initial = 3;\r\n**** v1 0.1 CLI TX|\\t .timeout = 1s;\r\n**** v1 0.1 CLI TX|\\t .interval = 10s;\r\n**** v1 0.1 CLI TX|\\t}\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|\\tsub vcl_init {\r\n**** v1 0.1 CLI TX|\\t new d1 = dynamic.director(\r\n**** v1 0.1 CLI TX|\\t port = \"29921\",\r\n**** v1 0.1 CLI TX|\\t share = HOST,\r\n**** v1 0.1 CLI TX|\\t probe = simple\r\n**** v1 0.1 CLI TX|\\t );\r\n**** v1 0.1 CLI TX|\\t}\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|\\tsub vcl_recv {\r\n**** v1 0.1 CLI TX|\\t set req.backend_hint = d1.backend();\r\n**** v1 0.1 CLI TX|\\t unset req.http.Host;\r\n**** v1 0.1 CLI TX|\\t # let the probe win the race for the backend\r\n**** v1 0.1 CLI TX|\\t C{\r\n**** v1 0.1 CLI TX|\\t\\t#include \r\n**** v1 0.1 CLI TX|\\t\\t(void)sleep(1);\r\n**** v1 0.1 CLI TX|\\t }C\r\n**** v1 0.1 CLI TX|\\t return (pass);\r\n**** v1 0.1 CLI TX|\\t}\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|\\tsub vcl_backend_error {\r\n**** v1 0.1 CLI TX|\\t # the director may resolve ::1 first\r\n**** v1 0.1 CLI TX|\\t return (retry);\r\n**** v1 0.1 CLI TX|\\t}\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|%XJEIFLH|)Xspa8P\r\n*** v1 0.1 CLI RX 106\r\n**** v1 0.1 CLI RX|Message from C-compiler:\r\n**** v1 0.1 CLI RX|In file included from /usr/include/unistd.h:1151:0,\r\n**** v1 0.1 CLI RX| from vgc.c:1542:\r\n**** v1 0.1 CLI RX|/usr/include/x86_64-linux-gnu/bits/unistd.h: In function \\342\\200\\230VGC_function_vcl_recv\\342\\200\\231:\r\n**** v1 0.1 CLI RX|/usr/include/x86_64-linux-gnu/bits/unistd.h:34:1: error: nested function \\342\\200\\230read\\342\\200\\231 declared \\342\\200\\230extern\\342\\200\\231\r\n**** v1 0.1 CLI RX| read (int __fd, void *__buf, size_t __nbytes)\r\n**** v1 0.1 CLI RX| ^\r\n**** v1 0.1 CLI RX|/usr/include/x86_64-linux-gnu/bits/unistd.h:34:1: error: static declaration of \\342\\200\\230read\\342\\200\\231 follows non-static declaration\r\n**** v1 0.1 CLI RX|In file included from vgc.c:1542:0:\r\n**** v1 0.1 CLI RX|/usr/include/unistd.h:363:16: note: previous declaration of \\342\\200\\230read\\342\\200\\231 was here\r\n**** v1 0.1 CLI RX| extern ssize_t read (int __fd, void *__buf, size_t __nbytes) __wur;\r\n**** v1 0.1 CLI RX|[110 lines truncated]\r\n**** v1 0.1 CLI RX|Running C-compiler failed, exited with 1\r\n**** v1 0.1 CLI RX|VCL compilation failed\r\n---- v1 0.1 VCL compilation failed expected success\r\n* top 0.1 RESETTING after ./tests/test13.vtc\r\n** s1 0.1 Waiting for server (4/-1)\r\n**** s1 0.1 macro undef s1_addr\r\n**** s1 0.1 macro undef s1_port\r\n**** s1 0.1 macro undef s1_sock\r\n** v1 0.1 Wait\r\n**** v1 0.1 CLI TX|backend.list\r\n*** v1 0.2 CLI RX 101\r\n**** v1 0.2 CLI RX|Unknown request in manager process (child not running).\r\n**** v1 0.2 CLI RX|Type 'help' for more info.\r\n**** v1 0.2 STDOUT poll 0x10\r\n** v1 0.2 R 13918 Status: 0000 (u 0.016000 s 0.004000)\r\n*** v1 0.2 vsl|No VSL chunk found (child not started ?)\r\n* top 0.2 TEST ./tests/test13.vtc FAILED\r\n# top TEST ./tests/test13.vtc FAILED (0.204) exit=2\r\n```\r\n\r\ni'm using a aws machine, with ubuntu 16.04 (fully updated), the \r\n`deb https://packagecloud.io/varnishcache/varnish5/ubuntu xenial main` and installed varnish 5.2.0-1~xenial (also tried 5.1.x with the 5.1 branch and same result)\r\n\r\nCompiling in a debian jessie machine, this works fine\r\n","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/30/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/30/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/31","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/31/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/31/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/31/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/31","id":271576264,"node_id":"MDU6SXNzdWUyNzE1NzYyNjQ=","number":31,"title":"ref-backend 3 total where 2 expected","user":{"login":"danielmotaleite","id":11890049,"node_id":"MDQ6VXNlcjExODkwMDQ5","avatar_url":"https://avatars.githubusercontent.com/u/11890049?v=4","gravatar_id":"","url":"https://api.github.com/users/danielmotaleite","html_url":"https://github.com/danielmotaleite","followers_url":"https://api.github.com/users/danielmotaleite/followers","following_url":"https://api.github.com/users/danielmotaleite/following{/other_user}","gists_url":"https://api.github.com/users/danielmotaleite/gists{/gist_id}","starred_url":"https://api.github.com/users/danielmotaleite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielmotaleite/subscriptions","organizations_url":"https://api.github.com/users/danielmotaleite/orgs","repos_url":"https://api.github.com/users/danielmotaleite/repos","events_url":"https://api.github.com/users/danielmotaleite/events{/privacy}","received_events_url":"https://api.github.com/users/danielmotaleite/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-11-06T18:33:47Z","updated_at":"2018-09-12T15:13:18Z","closed_at":"2018-09-12T15:13:18Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Trying to compile on a ubuntu 16.04 (same setup as #30 ), it works fine in one machine, but just deployed another machine with the same setup and that one fails in test07. Both are ubuntu 16.04 and have almost the same packages installed (the ones missing have nothing to do with network)\r\n\r\nI have tried to find why it fails, did try comparing the machines, but i'm unable to solve this. i have probably made any manual change in the original machine that i miss to port to ansible.\r\n\r\nHave you any idea what is failing here?\r\n\r\nThanks!\r\n```\r\n$ cat src/test-suite.log \r\n=============================================\r\n libvmod-dynamic 0.2: src/test-suite.log\r\n=============================================\r\n\r\n# TOTAL: 13\r\n# PASS: 12\r\n# SKIP: 0\r\n# XFAIL: 0\r\n# FAIL: 1\r\n# XPASS: 0\r\n# ERROR: 0\r\n\r\n.. contents:: :depth: 2\r\n\r\nFAIL: tests/test07\r\n==================\r\n\r\n**** top 0.0 extmacro def pwd=/usr/src/libvmod-dynamic/src\r\n**** top 0.0 extmacro def vmod_dynamic=dynamic from \"/usr/src/libvmod-dynamic/src/.libs/libvmod_dynamic.so\"\r\n**** top 0.0 extmacro def localhost=127.0.0.1\r\n**** top 0.0 extmacro def bad_backend=127.0.0.1 25622\r\n**** top 0.0 extmacro def bad_ip=192.0.2.255\r\n**** top 0.0 macro def tmpdir=/tmp/vtc.23481.62e33210\r\n* top 0.0 TEST ./tests/test07.vtc starting\r\n** top 0.0 === varnishtest \"debugging\"\r\n* top 0.0 TEST debugging\r\n** top 0.0 === server s1 {\r\n** s1 0.0 Starting server\r\n**** s1 0.0 macro def s1_addr=127.0.0.1\r\n**** s1 0.0 macro def s1_port=26117\r\n**** s1 0.0 macro def s1_sock=127.0.0.1 26117\r\n* s1 0.0 Listen on 127.0.0.1 26117\r\n** top 0.0 === varnish v1 -vcl {\r\n** s1 0.0 Started on 127.0.0.1 26117\r\n** v1 0.0 Launch\r\n*** v1 0.0 CMD: cd ${pwd} && exec varnishd -d -n /tmp/vtc.23481.62e33210/v1 -l 2m -p auto_restart=off -p syslog_cli_traffic=off -p sigsegv_handler=on -p thread_pool_min=10 -p debug=+vtc_mode -a '127.0.0.1:0' -M '127.0.0.1 26490' -P /tmp/vtc.23481.62e33210/v1/varnishd.pid \r\n*** v1 0.0 CMD: cd /usr/src/libvmod-dynamic/src && exec varnishd -d -n /tmp/vtc.23481.62e33210/v1 -l 2m -p auto_restart=off -p syslog_cli_traffic=off -p sigsegv_handler=on -p thread_pool_min=10 -p debug=+vtc_mode -a '127.0.0.1:0' -M '127.0.0.1 26490' -P /tmp/vtc.23481.62e33210/v1/varnishd.pid \r\n*** v1 0.0 PID: 23489\r\n**** v1 0.0 macro def v1_pid=23489\r\n**** v1 0.0 macro def v1_name=/tmp/vtc.23481.62e33210/v1\r\n*** v1 0.0 debug|Debug: Platform: Linux,4.4.0-1022-aws,x86_64,-junix,-smalloc,-smalloc,-hcritbit\r\n*** v1 0.0 debug|200 282 \r\n*** v1 0.0 debug|-----------------------------\r\n*** v1 0.0 debug|Varnish Cache CLI 1.0\r\n*** v1 0.0 debug|-----------------------------\r\n*** v1 0.0 debug|Linux,4.4.0-1022-aws,x86_64,-junix,-smalloc,-smalloc,-hcritbit\r\n*** v1 0.0 debug|varnish-5.2.0 revision 4c4875cbf\r\n*** v1 0.0 debug|\r\n*** v1 0.0 debug|Type 'help' for command list.\r\n*** v1 0.0 debug|Type 'quit' to close CLI session.\r\n*** v1 0.0 debug|Type 'start' to launch worker process.\r\n*** v1 0.0 debug|\r\n**** v1 0.1 CLIPOLL 1 0x1 0x0\r\n*** v1 0.1 CLI connection fd = 7\r\n*** v1 0.1 CLI RX 107\r\n**** v1 0.1 CLI RX|kaqnblrsztpytugbvfxgxggrykijepui\r\n**** v1 0.1 CLI RX|\r\n**** v1 0.1 CLI RX|Authentication required.\r\n**** v1 0.1 CLI TX|auth b79b104fbcce80da9117931098daae7d82ecba6a97fef9087481393c31166991\r\n*** v1 0.1 CLI RX 200\r\n**** v1 0.1 CLI RX|-----------------------------\r\n**** v1 0.1 CLI RX|Varnish Cache CLI 1.0\r\n**** v1 0.1 CLI RX|-----------------------------\r\n**** v1 0.1 CLI RX|Linux,4.4.0-1022-aws,x86_64,-junix,-smalloc,-smalloc,-hcritbit\r\n**** v1 0.1 CLI RX|varnish-5.2.0 revision 4c4875cbf\r\n**** v1 0.1 CLI RX|\r\n**** v1 0.1 CLI RX|Type 'help' for command list.\r\n**** v1 0.1 CLI RX|Type 'quit' to close CLI session.\r\n**** v1 0.1 CLI RX|Type 'start' to launch worker process.\r\n**** v1 0.1 CLI TX|vcl.inline vcl1 << %XJEIFLH|)Xspa8P\r\n**** v1 0.1 CLI TX|vcl 4.0;\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|\\timport dynamic from \"/usr/src/libvmod-dynamic/src/.libs/libvmod_dynamic.so\";\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|\\tbackend dummy { .host = \"192.0.2.255\"; .port = \"9080\"; }\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|\\tacl ipv4_loopback {\r\n**** v1 0.1 CLI TX|\\t\\t\"127/24\";\r\n**** v1 0.1 CLI TX|\\t}\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|\\tsub vcl_init {\r\n**** v1 0.1 CLI TX|\\t\\tnew d1 = dynamic.director(\r\n**** v1 0.1 CLI TX|\\t\\t\\tport = \"26117\",\r\n**** v1 0.1 CLI TX|\\t\\t\\twhitelist = ipv4_loopback,\r\n**** v1 0.1 CLI TX|\\t\\t\\tdomain_usage_timeout = 1s);\r\n**** v1 0.1 CLI TX|\\t\\td1.debug(true);\r\n**** v1 0.1 CLI TX|\\t}\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|\\tsub vcl_recv {\r\n**** v1 0.1 CLI TX|\\t\\tset req.backend_hint = d1.backend();\r\n**** v1 0.1 CLI TX|\\t}\r\n**** v1 0.1 CLI TX|\r\n**** v1 0.1 CLI TX|%XJEIFLH|)Xspa8P\r\n*** v1 0.2 vsl|No VSL chunk found (child not started ?)\r\n*** v1 0.2 CLI RX 200\r\n**** v1 0.2 CLI RX|VCL compiled.\r\n**** v1 0.2 CLI TX|vcl.use vcl1\r\n*** v1 0.2 CLI RX 200\r\n** v1 0.2 Start\r\n**** v1 0.2 CLI TX|start\r\n*** v1 0.3 debug|Debug: Child (23503) Started\r\n*** v1 0.3 CLI RX 200\r\n*** v1 0.3 wait-running\r\n**** v1 0.3 CLI TX|status\r\n*** v1 0.3 debug|Info: Child (23503) said Child starts\r\n**** v1 0.3 vsl| 0 CLI - Rd vcl.load \"vcl1\" vcl_vcl1.1509992321.789111376/vgc.so 1auto\r\n**** v1 0.3 vsl| 0 CLI - Wr 200 55 Loaded \"vcl_vcl1.1509992321.789111376/vgc.so\" as \"vcl1\"\r\n**** v1 0.3 vsl| 0 CLI - Rd vcl.use \"vcl1\"\r\n**** v1 0.3 vsl| 0 CLI - Wr 200 0 \r\n**** v1 0.3 vsl| 0 CLI - Rd start\r\n**** v1 0.3 vsl| 0 CLI - Wr 200 0 \r\n*** v1 0.3 CLI RX 200\r\n**** v1 0.3 CLI RX|Child in state running\r\n**** v1 0.3 CLI TX|debug.xid 999\r\n*** v1 0.4 CLI RX 200\r\n**** v1 0.4 CLI RX|XID is 999\r\n**** v1 0.4 CLI TX|debug.listen_address\r\n*** v1 0.4 CLI RX 200\r\n**** v1 0.4 CLI RX|127.0.0.1 20192\r\n** v1 0.4 Listen on 127.0.0.1 20192\r\n**** v1 0.4 macro def v1_addr=127.0.0.1\r\n**** v1 0.4 macro def v1_port=20192\r\n**** v1 0.4 macro def v1_sock=127.0.0.1 20192\r\n** top 0.4 === logexpect l1 -v v1 -g raw {\r\n** l1 0.4 === expect * * Debug\t\"vmod-dynamic: vcl1 d1 localhost addr 127.0...\r\n** l1 0.4 === expect * * VCL_acl\t\"^MATCH ipv4_loopback\"\r\n** l1 0.4 === expect * * Debug\t\"vmod-dynamic: vcl1 d1 localhost add-backen...\r\n** l1 0.4 === expect * * Debug\t\"vmod-dynamic: vcl1 d1 localhost ref-backen...\r\n** l1 0.4 === expect * * Debug\t\"vmod-dynamic: vcl1 d1 img.localhost addr 1...\r\n** l1 0.4 === expect * * VCL_acl\t\"^MATCH ipv4_loopback\"\r\n** l1 0.4 === expect * * Debug\t\"vmod-dynamic: vcl1 d1 img.localhost ref-ba...\r\n** l1 0.4 === expect * * VCL_Log\t\"vmod-dynamic: vcl1 d1 localhost deleted\"\r\n** l1 0.4 === expect * * Debug\t\"vmod-dynamic: vcl1 d1 localhost unref-back...\r\n** top 0.4 === client c1 {\r\n** c1 0.4 Starting client\r\n** c1 0.4 Waiting for client\r\n*** c1 0.4 Connect to 127.0.0.1 20192\r\n*** c1 0.4 connected fd 22 from 127.0.0.1 62387 to 127.0.0.1 20192\r\n** c1 0.4 === txreq -hdr \"Host: localhost\"\r\n**** c1 0.4 txreq|GET / HTTP/1.1\\r\r\n**** c1 0.4 txreq|Host: localhost\\r\r\n**** c1 0.4 txreq|\\r\r\n** c1 0.4 === rxresp\r\n**** l1 0.4 begin|\r\n*** l1 0.4 expecting| expect * * Debug vmod-dynamic: vcl1 d1 localhost addr 127.0.0.1\r\n*** s1 0.4 accepted fd 5 127.0.0.1 48766\r\n** s1 0.4 === rxreq\r\n**** s1 0.4 rxhdr|GET / HTTP/1.1\\r\r\n**** s1 0.4 rxhdr|Host: localhost\\r\r\n**** s1 0.4 rxhdr|X-Forwarded-For: 127.0.0.1\\r\r\n**** s1 0.4 rxhdr|Accept-Encoding: gzip\\r\r\n**** s1 0.4 rxhdr|X-Varnish: 1002\\r\r\n**** s1 0.4 rxhdr|\\r\r\n**** s1 0.4 rxhdrlen = 103\r\n**** s1 0.4 http[ 0] |GET\r\n**** s1 0.4 http[ 1] |/\r\n**** s1 0.4 http[ 2] |HTTP/1.1\r\n**** s1 0.4 http[ 3] |Host: localhost\r\n**** s1 0.4 http[ 4] |X-Forwarded-For: 127.0.0.1\r\n**** s1 0.4 http[ 5] |Accept-Encoding: gzip\r\n**** s1 0.4 http[ 6] |X-Varnish: 1002\r\n**** s1 0.4 bodylen = 0\r\n** s1 0.4 === txresp\r\n**** s1 0.4 txresp|HTTP/1.1 200 OK\\r\r\n**** s1 0.4 txresp|Content-Length: 0\\r\r\n**** s1 0.4 txresp|\\r\r\n** s1 0.4 === accept\r\n**** s1 0.4 Accepting\r\n**** v1 0.4 vsl| 0 CLI - Rd debug.xid 999 \r\n**** v1 0.4 vsl| 0 CLI - Wr 200 10 XID is 999\r\n**** v1 0.4 vsl| 0 CLI - Rd debug.listen_address \r\n**** v1 0.4 vsl| 0 CLI - Wr 200 16 127.0.0.1 20192\r\n\r\n**** v1 0.4 vsl| 1000 Begin c sess 0 HTTP/1\r\n**** v1 0.4 vsl| 1000 SessOpen c 127.0.0.1 62387 a0 127.0.0.1 20192 1509992322.088882 23\r\n**** v1 0.4 vsl| 1000 Link c req 1001 rxreq\r\n**** v1 0.4 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(localhost) Lookup: 1509992322.089067 0.000000 0.000000\r\n**** v1 0.4 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(localhost) Results: 1509992322.089150 0.000082 0.000082\r\n**** v1 0.4 vsl| 0 Debug - vmod-dynamic: vcl1 d1 localhost addr 127.0.0.1\r\n**** v1 0.4 vsl| 0 VCL_acl - MATCH ipv4_loopback \"127/24\"\r\n**** v1 0.4 vsl| 0 Debug - vmod-dynamic: vcl1 d1 localhost add-backend d1(127.0.0.1)\r\n**** v1 0.4 vsl| 0 Debug - vmod-dynamic: vcl1 d1 localhost ref-backend d1(127.0.0.1) (1 in total)\r\n**** v1 0.4 vsl| 0 Debug - vmod-dynamic: vcl1 d1 localhost addr 127.0.0.1\r\n**** v1 0.4 vsl| 0 VCL_acl - MATCH ipv4_loopback \"127/24\"\r\n**** v1 0.4 vsl| 0 Debug - vmod-dynamic: vcl1 d1 localhost ref-backend d1(127.0.0.1) (2 in total)\r\n**** v1 0.4 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(localhost) Update: 1509992322.089274 0.000207 0.000124\r\n**** v1 0.4 vsl| 0 ExpKill - EXP_Inbox flg=1e p=0x7f9093fb1020 e=0.000000000 f=0x0\r\n**** v1 0.4 vsl| 0 ExpKill - EXP_When p=0x7f9093fb1020 e=1509992452.089462042 f=0x1e\r\n**** v1 0.4 vsl| 0 ExpKill - EXP_expire p=0x7f9093fb1020 e=129.999498844 f=0x0\r\n**** l1 0.4 match| 0 Debug - vmod-dynamic: vcl1 d1 localhost addr 127.0.0.1\r\n*** l1 0.4 expecting| expect * * VCL_acl ^MATCH ipv4_loopback\r\n**** l1 0.4 match| 0 VCL_acl - MATCH ipv4_loopback \"127/24\"\r\n*** l1 0.4 expecting| expect * * Debug vmod-dynamic: vcl1 d1 localhost add-backend d1.127.0.0.1.\r\n**** l1 0.4 match| 0 Debug - vmod-dynamic: vcl1 d1 localhost add-backend d1(127.0.0.1)\r\n*** l1 0.4 expecting| expect * * Debug vmod-dynamic: vcl1 d1 localhost ref-backend d1.127.0.0.1. .1 in total.\r\n**** l1 0.4 match| 0 Debug - vmod-dynamic: vcl1 d1 localhost ref-backend d1(127.0.0.1) (1 in total)\r\n*** l1 0.4 expecting| expect * * Debug vmod-dynamic: vcl1 d1 img.localhost addr 127.0.0.1\r\n**** c1 0.4 rxhdr|HTTP/1.1 200 OK\\r\r\n**** c1 0.4 rxhdr|Content-Length: 0\\r\r\n**** c1 0.4 rxhdr|Date: Mon, 06 Nov 2017 18:18:42 GMT\\r\r\n**** c1 0.4 rxhdr|X-Varnish: 1001\\r\r\n**** c1 0.4 rxhdr|Age: 0\\r\r\n**** c1 0.4 rxhdr|Via: 1.1 varnish (Varnish/5.2)\\r\r\n**** c1 0.4 rxhdr|Accept-Ranges: bytes\\r\r\n**** c1 0.4 rxhdr|Connection: keep-alive\\r\r\n**** c1 0.4 rxhdr|\\r\r\n**** c1 0.4 rxhdrlen = 178\r\n**** c1 0.4 http[ 0] |HTTP/1.1\r\n**** c1 0.4 http[ 1] |200\r\n**** c1 0.4 http[ 2] |OK\r\n**** c1 0.4 http[ 3] |Content-Length: 0\r\n**** c1 0.4 http[ 4] |Date: Mon, 06 Nov 2017 18:18:42 GMT\r\n**** c1 0.4 http[ 5] |X-Varnish: 1001\r\n**** c1 0.4 http[ 6] |Age: 0\r\n**** c1 0.4 http[ 7] |Via: 1.1 varnish (Varnish/5.2)\r\n**** c1 0.4 http[ 8] |Accept-Ranges: bytes\r\n**** c1 0.4 http[ 9] |Connection: keep-alive\r\n**** c1 0.4 bodylen = 0\r\n** c1 0.4 === expect resp.status == 200\r\n**** c1 0.4 EXPECT resp.status (200) == \"200\" match\r\n** c1 0.4 === delay 1.5\r\n*** c1 0.4 delaying 1.5 second(s)\r\n**** v1 0.5 vsl| 1002 Begin b bereq 1001 fetch\r\n**** v1 0.5 vsl| 1002 Timestamp b Start: 1509992322.089027 0.000000 0.000000\r\n**** v1 0.5 vsl| 1002 BereqMethod b GET\r\n**** v1 0.5 vsl| 1002 BereqURL b /\r\n**** v1 0.5 vsl| 1002 BereqProtocol b HTTP/1.1\r\n**** v1 0.5 vsl| 1002 BereqHeader b Host: localhost\r\n**** v1 0.5 vsl| 1002 BereqHeader b X-Forwarded-For: 127.0.0.1\r\n**** v1 0.5 vsl| 1002 BereqHeader b Accept-Encoding: gzip\r\n**** v1 0.5 vsl| 1002 BereqHeader b X-Varnish: 1002\r\n**** v1 0.5 vsl| 1002 VCL_call b BACKEND_FETCH\r\n**** v1 0.5 vsl| 1002 VCL_return b fetch\r\n**** v1 0.5 vsl| 1002 BackendOpen b 26 vcl1.d1(127.0.0.1) 127.0.0.1 26117 127.0.0.1 48766\r\n**** v1 0.5 vsl| 1002 BackendStart b 127.0.0.1 26117\r\n**** v1 0.5 vsl| 1002 Timestamp b Bereq: 1509992322.089329 0.000302 0.000302\r\n**** v1 0.5 vsl| 1002 Timestamp b Beresp: 1509992322.089462 0.000435 0.000134\r\n**** v1 0.5 vsl| 1002 BerespProtocol b HTTP/1.1\r\n**** v1 0.5 vsl| 1002 BerespStatus b 200\r\n**** v1 0.5 vsl| 1002 BerespReason b OK\r\n**** v1 0.5 vsl| 1002 BerespHeader b Content-Length: 0\r\n**** v1 0.5 vsl| 1002 BerespHeader b Date: Mon, 06 Nov 2017 18:18:42 GMT\r\n**** v1 0.5 vsl| 1002 TTL b RFC 120 10 0 1509992322 1509992322 1509992322 0 0\r\n**** v1 0.5 vsl| 1002 VCL_call b BACKEND_RESPONSE\r\n**** v1 0.5 vsl| 1002 VCL_return b deliver\r\n**** v1 0.5 vsl| 1002 Storage b malloc s0\r\n**** v1 0.5 vsl| 1002 ObjProtocol b HTTP/1.1\r\n**** v1 0.5 vsl| 1002 ObjStatus b 200\r\n**** v1 0.5 vsl| 1002 ObjReason b OK\r\n**** v1 0.5 vsl| 1002 ObjHeader b Content-Length: 0\r\n**** v1 0.5 vsl| 1002 ObjHeader b Date: Mon, 06 Nov 2017 18:18:42 GMT\r\n**** v1 0.5 vsl| 1002 Fetch_Body b 0 none -\r\n**** v1 0.5 vsl| 1002 BackendReuse b 26 vcl1.d1(127.0.0.1)\r\n**** v1 0.5 vsl| 1002 Timestamp b BerespBody: 1509992322.100090 0.011063 0.010628\r\n**** v1 0.5 vsl| 1002 Length b 0\r\n**** v1 0.5 vsl| 1002 BereqAcct b 103 0 103 38 0 38\r\n**** v1 0.5 vsl| 1002 End b \r\n**** v1 0.5 vsl| 1001 Begin c req 1000 rxreq\r\n**** v1 0.5 vsl| 1001 Timestamp c Start: 1509992322.088958 0.000000 0.000000\r\n**** v1 0.5 vsl| 1001 Timestamp c Req: 1509992322.088958 0.000000 0.000000\r\n**** v1 0.5 vsl| 1001 ReqStart c 127.0.0.1 62387\r\n**** v1 0.5 vsl| 1001 ReqMethod c GET\r\n**** v1 0.5 vsl| 1001 ReqURL c /\r\n**** v1 0.5 vsl| 1001 ReqProtocol c HTTP/1.1\r\n**** v1 0.5 vsl| 1001 ReqHeader c Host: localhost\r\n**** v1 0.5 vsl| 1001 ReqHeader c X-Forwarded-For: 127.0.0.1\r\n**** v1 0.5 vsl| 1001 VCL_call c RECV\r\n**** v1 0.5 vsl| 1001 VCL_return c hash\r\n**** v1 0.5 vsl| 1001 VCL_call c HASH\r\n**** v1 0.5 vsl| 1001 VCL_return c lookup\r\n**** v1 0.5 vsl| 1001 VCL_call c MISS\r\n**** v1 0.5 vsl| 1001 VCL_return c fetch\r\n**** v1 0.5 vsl| 1001 Link c bereq 1002 fetch\r\n**** v1 0.5 vsl| 1001 Timestamp c Fetch: 1509992322.100111 0.011153 0.011153\r\n**** v1 0.5 vsl| 1001 RespProtocol c HTTP/1.1\r\n**** v1 0.5 vsl| 1001 RespStatus c 200\r\n**** v1 0.5 vsl| 1001 RespReason c OK\r\n**** v1 0.5 vsl| 1001 RespHeader c Content-Length: 0\r\n**** v1 0.5 vsl| 1001 RespHeader c Date: Mon, 06 Nov 2017 18:18:42 GMT\r\n**** v1 0.5 vsl| 1001 RespHeader c X-Varnish: 1001\r\n**** v1 0.5 vsl| 1001 RespHeader c Age: 0\r\n**** v1 0.5 vsl| 1001 RespHeader c Via: 1.1 varnish (Varnish/5.2)\r\n**** v1 0.5 vsl| 1001 VCL_call c DELIVER\r\n**** v1 0.5 vsl| 1001 VCL_return c deliver\r\n**** v1 0.5 vsl| 1001 Timestamp c Process: 1509992322.100124 0.011167 0.000013\r\n**** v1 0.5 vsl| 1001 RespHeader c Accept-Ranges: bytes\r\n**** v1 0.5 vsl| 1001 RespHeader c Connection: keep-alive\r\n**** v1 0.5 vsl| 1001 Timestamp c Resp: 1509992322.100143 0.011186 0.000019\r\n**** v1 0.5 vsl| 1001 ReqAcct c 35 0 35 178 0 178\r\n**** v1 0.5 vsl| 1001 End c \r\n** c1 1.9 === txreq -hdr \"Host: img.localhost\"\r\n**** c1 1.9 txreq|GET / HTTP/1.1\\r\r\n**** c1 1.9 txreq|Host: img.localhost\\r\r\n**** c1 1.9 txreq|\\r\r\n** c1 1.9 === rxresp\r\n*** s1 1.9 Accepted socket fd is 5\r\n** s1 1.9 === rxreq\r\n**** s1 1.9 rxhdr|GET / HTTP/1.1\\r\r\n**** s1 1.9 rxhdr|Host: img.localhost\\r\r\n**** s1 1.9 rxhdr|X-Forwarded-For: 127.0.0.1\\r\r\n**** s1 1.9 rxhdr|Accept-Encoding: gzip\\r\r\n**** s1 1.9 rxhdr|X-Varnish: 1004\\r\r\n**** s1 1.9 rxhdr|\\r\r\n**** s1 1.9 rxhdrlen = 107\r\n**** s1 1.9 http[ 0] |GET\r\n**** s1 1.9 http[ 1] |/\r\n**** s1 1.9 http[ 2] |HTTP/1.1\r\n**** s1 1.9 http[ 3] |Host: img.localhost\r\n**** s1 1.9 http[ 4] |X-Forwarded-For: 127.0.0.1\r\n**** s1 1.9 http[ 5] |Accept-Encoding: gzip\r\n**** s1 1.9 http[ 6] |X-Varnish: 1004\r\n**** s1 1.9 bodylen = 0\r\n** s1 1.9 === txresp\r\n**** s1 1.9 txresp|HTTP/1.1 200 OK\\r\r\n**** s1 1.9 txresp|Content-Length: 0\\r\r\n**** s1 1.9 txresp|\\r\r\n** s1 1.9 === accept\r\n**** s1 1.9 Accepting\r\n**** l1 1.9 match| 0 Debug - vmod-dynamic: vcl1 d1 img.localhost addr 127.0.0.1\r\n*** l1 1.9 expecting| expect * * VCL_acl ^MATCH ipv4_loopback\r\n**** l1 1.9 match| 0 VCL_acl - MATCH ipv4_loopback \"127/24\"\r\n*** l1 1.9 expecting| expect * * Debug vmod-dynamic: vcl1 d1 img.localhost ref-backend d1.127.0.0.1. .2 in total.\r\n**** c1 1.9 rxhdr|HTTP/1.1 200 OK\\r\r\n**** c1 1.9 rxhdr|Content-Length: 0\\r\r\n**** c1 1.9 rxhdr|Date: Mon, 06 Nov 2017 18:18:43 GMT\\r\r\n**** c1 1.9 rxhdr|X-Varnish: 1003\\r\r\n**** c1 1.9 rxhdr|Age: 0\\r\r\n**** c1 1.9 rxhdr|Via: 1.1 varnish (Varnish/5.2)\\r\r\n**** c1 1.9 rxhdr|Accept-Ranges: bytes\\r\r\n**** c1 1.9 rxhdr|Connection: keep-alive\\r\r\n**** c1 1.9 rxhdr|\\r\r\n**** c1 1.9 rxhdrlen = 178\r\n**** c1 1.9 http[ 0] |HTTP/1.1\r\n**** c1 1.9 http[ 1] |200\r\n**** c1 1.9 http[ 2] |OK\r\n**** c1 1.9 http[ 3] |Content-Length: 0\r\n**** c1 1.9 http[ 4] |Date: Mon, 06 Nov 2017 18:18:43 GMT\r\n**** c1 1.9 http[ 5] |X-Varnish: 1003\r\n**** c1 1.9 http[ 6] |Age: 0\r\n**** c1 1.9 http[ 7] |Via: 1.1 varnish (Varnish/5.2)\r\n**** c1 1.9 http[ 8] |Accept-Ranges: bytes\r\n**** c1 1.9 http[ 9] |Connection: keep-alive\r\n**** c1 1.9 bodylen = 0\r\n** c1 1.9 === expect resp.status == 200\r\n**** c1 1.9 EXPECT resp.status (200) == \"200\" match\r\n** c1 1.9 === txreq -hdr \"Host: www.localhost\"\r\n**** c1 1.9 txreq|GET / HTTP/1.1\\r\r\n**** c1 1.9 txreq|Host: www.localhost\\r\r\n**** c1 1.9 txreq|\\r\r\n** c1 1.9 === rxresp\r\n*** s1 1.9 Accepted socket fd is 5\r\n** s1 1.9 === rxreq\r\n**** s1 1.9 rxhdr|GET / HTTP/1.1\\r\r\n**** s1 1.9 rxhdr|Host: www.localhost\\r\r\n**** s1 1.9 rxhdr|X-Forwarded-For: 127.0.0.1\\r\r\n**** s1 1.9 rxhdr|Accept-Encoding: gzip\\r\r\n**** s1 1.9 rxhdr|X-Varnish: 1006\\r\r\n**** s1 1.9 rxhdr|\\r\r\n**** s1 1.9 rxhdrlen = 107\r\n**** s1 1.9 http[ 0] |GET\r\n**** s1 1.9 http[ 1] |/\r\n**** s1 1.9 http[ 2] |HTTP/1.1\r\n**** s1 1.9 http[ 3] |Host: www.localhost\r\n**** s1 1.9 http[ 4] |X-Forwarded-For: 127.0.0.1\r\n**** s1 1.9 http[ 5] |Accept-Encoding: gzip\r\n**** s1 1.9 http[ 6] |X-Varnish: 1006\r\n**** s1 1.9 bodylen = 0\r\n** s1 1.9 === txresp\r\n**** s1 1.9 txresp|HTTP/1.1 200 OK\\r\r\n**** s1 1.9 txresp|Content-Length: 0\\r\r\n**** s1 1.9 txresp|\\r\r\n*** s1 1.9 shutting fd 5\r\n** s1 1.9 Ending\r\n**** c1 1.9 rxhdr|HTTP/1.1 200 OK\\r\r\n**** c1 1.9 rxhdr|Content-Length: 0\\r\r\n**** c1 1.9 rxhdr|Date: Mon, 06 Nov 2017 18:18:43 GMT\\r\r\n**** c1 1.9 rxhdr|X-Varnish: 1005\\r\r\n**** c1 1.9 rxhdr|Age: 0\\r\r\n**** c1 1.9 rxhdr|Via: 1.1 varnish (Varnish/5.2)\\r\r\n**** c1 1.9 rxhdr|Accept-Ranges: bytes\\r\r\n**** c1 1.9 rxhdr|Connection: keep-alive\\r\r\n**** c1 1.9 rxhdr|\\r\r\n**** c1 1.9 rxhdrlen = 178\r\n**** c1 1.9 http[ 0] |HTTP/1.1\r\n**** c1 1.9 http[ 1] |200\r\n**** c1 1.9 http[ 2] |OK\r\n**** c1 1.9 http[ 3] |Content-Length: 0\r\n**** c1 1.9 http[ 4] |Date: Mon, 06 Nov 2017 18:18:43 GMT\r\n**** c1 1.9 http[ 5] |X-Varnish: 1005\r\n**** c1 1.9 http[ 6] |Age: 0\r\n**** c1 1.9 http[ 7] |Via: 1.1 varnish (Varnish/5.2)\r\n**** c1 1.9 http[ 8] |Accept-Ranges: bytes\r\n**** c1 1.9 http[ 9] |Connection: keep-alive\r\n**** c1 1.9 bodylen = 0\r\n** c1 1.9 === expect resp.status == 200\r\n**** c1 1.9 EXPECT resp.status (200) == \"200\" match\r\n*** c1 1.9 closing fd 22\r\n** c1 1.9 Ending\r\n** top 1.9 === logexpect l1 -wait\r\n** l1 1.9 Waiting for logexp\r\n**** v1 2.0 vsl| 1000 Link c req 1003 rxreq\r\n**** v1 2.0 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(localhost) Done: 1509992323.601068 0.000000 0.000000\r\n**** v1 2.0 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(img.localhost) Lookup: 1509992323.601132 0.000000 0.000000\r\n**** v1 2.0 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(img.localhost) Results: 1509992323.601148 0.000016 0.000016\r\n**** v1 2.0 vsl| 0 Debug - vmod-dynamic: vcl1 d1 img.localhost addr 127.0.0.1\r\n**** v1 2.0 vsl| 0 VCL_acl - MATCH ipv4_loopback \"127/24\"\r\n**** v1 2.0 vsl| 0 Debug - vmod-dynamic: vcl1 d1 img.localhost ref-backend d1(127.0.0.1) (3 in total)\r\n**** v1 2.0 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(img.localhost) Update: 1509992323.601160 0.000028 0.000011\r\n**** v1 2.0 vsl| 0 ExpKill - EXP_expire p=0x7f9093fb1020 e=128.488030434 f=0x0\r\n**** v1 2.0 vsl| 0 ExpKill - EXP_Inbox flg=1e p=0x7f9093fb10c0 e=0.000000000 f=0x0\r\n**** v1 2.0 vsl| 0 ExpKill - EXP_When p=0x7f9093fb10c0 e=1509992453.601392269 f=0x1e\r\n**** v1 2.0 vsl| 0 ExpKill - EXP_expire p=0x7f9093fb1020 e=128.488025188 f=0x0\r\n**** v1 2.0 vsl| 1004 Begin b bereq 1003 fetch\r\n**** v1 2.0 vsl| 1004 Timestamp b Start: 1509992323.601037 0.000000 0.000000\r\n**** v1 2.0 vsl| 1004 BereqMethod b GET\r\n**** v1 2.0 vsl| 1004 BereqURL b /\r\n**** v1 2.0 vsl| 1004 BereqProtocol b HTTP/1.1\r\n**** v1 2.0 vsl| 1004 BereqHeader b Host: img.localhost\r\n**** v1 2.0 vsl| 1004 BereqHeader b X-Forwarded-For: 127.0.0.1\r\n**** v1 2.0 vsl| 1004 BereqHeader b Accept-Encoding: gzip\r\n**** v1 2.0 vsl| 1004 BereqHeader b X-Varnish: 1004\r\n**** v1 2.0 vsl| 1004 VCL_call b BACKEND_FETCH\r\n**** v1 2.0 vsl| 1004 VCL_return b fetch\r\n**** v1 2.0 vsl| 1004 BackendOpen b 26 vcl1.d1(127.0.0.1) 127.0.0.1 26117 127.0.0.1 48770\r\n**** v1 2.0 vsl| 1004 BackendStart b 127.0.0.1 26117\r\n**** v1 2.0 vsl| 1004 Timestamp b Bereq: 1509992323.601244 0.000207 0.000207\r\n**** v1 2.0 vsl| 1004 Timestamp b Beresp: 1509992323.601392 0.000355 0.000148\r\n**** v1 2.0 vsl| 1004 BerespProtocol b HTTP/1.1\r\n**** v1 2.0 vsl| 1004 BerespStatus b 200\r\n**** v1 2.0 vsl| 1004 BerespReason b OK\r\n**** v1 2.0 vsl| 1004 BerespHeader b Content-Length: 0\r\n**** v1 2.0 vsl| 1004 BerespHeader b Date: Mon, 06 Nov 2017 18:18:43 GMT\r\n**** v1 2.0 vsl| 1004 TTL b RFC 120 10 0 1509992324 1509992324 1509992323 0 0\r\n**** v1 2.0 vsl| 1004 VCL_call b BACKEND_RESPONSE\r\n**** v1 2.0 vsl| 1004 VCL_return b deliver\r\n**** v1 2.0 vsl| 1004 Storage b malloc s0\r\n**** v1 2.0 vsl| 1004 ObjProtocol b HTTP/1.1\r\n**** v1 2.0 vsl| 1004 ObjStatus b 200\r\n**** v1 2.0 vsl| 1004 ObjReason b OK\r\n**** v1 2.0 vsl| 1004 ObjHeader b Content-Length: 0\r\n**** v1 2.0 vsl| 1004 ObjHeader b Date: Mon, 06 Nov 2017 18:18:43 GMT\r\n**** v1 2.0 vsl| 1004 Fetch_Body b 0 none -\r\n**** v1 2.0 vsl| 1004 BackendReuse b 26 vcl1.d1(127.0.0.1)\r\n**** v1 2.0 vsl| 1004 Timestamp b BerespBody: 1509992323.611567 0.010530 0.010175\r\n**** v1 2.0 vsl| 1004 Length b 0\r\n**** v1 2.0 vsl| 1004 BereqAcct b 107 0 107 38 0 38\r\n**** v1 2.0 vsl| 1004 End b \r\n**** v1 2.0 vsl| 1003 Begin c req 1000 rxreq\r\n**** v1 2.0 vsl| 1003 Timestamp c Start: 1509992323.600570 0.000000 0.000000\r\n**** v1 2.0 vsl| 1003 Timestamp c Req: 1509992323.600570 0.000000 0.000000\r\n**** v1 2.0 vsl| 1003 ReqStart c 127.0.0.1 62387\r\n**** v1 2.0 vsl| 1003 ReqMethod c GET\r\n**** v1 2.0 vsl| 1003 ReqURL c /\r\n**** v1 2.0 vsl| 1003 ReqProtocol c HTTP/1.1\r\n**** v1 2.0 vsl| 1003 ReqHeader c Host: img.localhost\r\n**** v1 2.0 vsl| 1003 ReqHeader c X-Forwarded-For: 127.0.0.1\r\n**** v1 2.0 vsl| 1003 VCL_call c RECV\r\n**** v1 2.0 vsl| 1003 VCL_Log c vmod-dynamic: vcl1 d1 localhost timeout\r\n**** v1 2.0 vsl| 1003 VCL_return c hash\r\n**** v1 2.0 vsl| 1003 VCL_call c HASH\r\n**** v1 2.0 vsl| 1003 VCL_return c lookup\r\n**** v1 2.0 vsl| 1003 VCL_call c MISS\r\n**** v1 2.0 vsl| 1003 VCL_return c fetch\r\n**** v1 2.0 vsl| 1003 Link c bereq 1004 fetch\r\n**** v1 2.0 vsl| 1003 Timestamp c Fetch: 1509992323.611600 0.011030 0.011030\r\n**** v1 2.0 vsl| 1003 RespProtocol c HTTP/1.1\r\n**** v1 2.0 vsl| 1003 RespStatus c 200\r\n**** v1 2.0 vsl| 1003 RespReason c OK\r\n**** v1 2.0 vsl| 1003 RespHeader c Content-Length: 0\r\n**** v1 2.0 vsl| 1003 RespHeader c Date: Mon, 06 Nov 2017 18:18:43 GMT\r\n**** v1 2.0 vsl| 1003 RespHeader c X-Varnish: 1003\r\n**** v1 2.0 vsl| 1003 RespHeader c Age: 0\r\n**** v1 2.0 vsl| 1003 RespHeader c Via: 1.1 varnish (Varnish/5.2)\r\n**** v1 2.0 vsl| 1003 VCL_call c DELIVER\r\n**** v1 2.0 vsl| 1003 VCL_return c deliver\r\n**** v1 2.0 vsl| 1003 Timestamp c Process: 1509992323.611609 0.011038 0.000008\r\n**** v1 2.0 vsl| 1003 RespHeader c Accept-Ranges: bytes\r\n**** v1 2.0 vsl| 1003 RespHeader c Connection: keep-alive\r\n**** v1 2.0 vsl| 1003 Timestamp c Resp: 1509992323.611627 0.011057 0.000019\r\n**** v1 2.0 vsl| 1003 ReqAcct c 39 0 39 178 0 178\r\n**** v1 2.0 vsl| 1003 End c \r\n**** v1 2.0 vsl| 1000 Link c req 1005 rxreq\r\n**** v1 2.0 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(www.localhost) Lookup: 1509992323.611864 0.000000 0.000000\r\n**** v1 2.0 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(www.localhost) Results: 1509992323.611876 0.000013 0.000013\r\n**** v1 2.0 vsl| 0 Debug - vmod-dynamic: vcl1 d1 www.localhost addr 127.0.0.1\r\n**** v1 2.0 vsl| 0 VCL_acl - MATCH ipv4_loopback \"127/24\"\r\n**** v1 2.0 vsl| 0 Debug - vmod-dynamic: vcl1 d1 www.localhost ref-backend d1(127.0.0.1) (2 in total)\r\n**** v1 2.0 vsl| 0 Timestamp - vmod-dynamic vcl1.d1(www.localhost) Update: 1509992323.611887 0.000023 0.000010\r\n**** v1 2.0 vsl| 0 ExpKill - EXP_expire p=0x7f9093fb1020 e=128.477345943 f=0x0\r\n**** v1 2.0 vsl| 0 ExpKill - EXP_Inbox flg=1e p=0x7f9093fb1160 e=0.000000000 f=0x0\r\n**** v1 2.0 vsl| 0 ExpKill - EXP_When p=0x7f9093fb1160 e=1509992453.612084389 f=0x1e\r\n**** v1 2.0 vsl| 0 ExpKill - EXP_expire p=0x7f9093fb1020 e=128.477341175 f=0x0\r\n**** v1 2.0 vsl| 1006 Begin b bereq 1005 fetch\r\n**** v1 2.0 vsl| 1006 Timestamp b Start: 1509992323.611839 0.000000 0.000000\r\n**** v1 2.0 vsl| 1006 BereqMethod b GET\r\n**** v1 2.0 vsl| 1006 BereqURL b /\r\n**** v1 2.0 vsl| 1006 BereqProtocol b HTTP/1.1\r\n**** v1 2.0 vsl| 1006 BereqHeader b Host: www.localhost\r\n**** v1 2.0 vsl| 1006 BereqHeader b X-Forwarded-For: 127.0.0.1\r\n**** v1 2.0 vsl| 1006 BereqHeader b Accept-Encoding: gzip\r\n**** v1 2.0 vsl| 1006 BereqHeader b X-Varnish: 1006\r\n**** v1 2.0 vsl| 1006 VCL_call b BACKEND_FETCH\r\n**** v1 2.0 vsl| 1006 VCL_return b fetch\r\n**** v1 2.0 vsl| 1006 BackendOpen b 26 vcl1.d1(127.0.0.1) 127.0.0.1 26117 127.0.0.1 48772\r\n**** v1 2.0 vsl| 1006 BackendStart b 127.0.0.1 26117\r\n**** v1 2.0 vsl| 1006 Timestamp b Bereq: 1509992323.611935 0.000096 0.000096\r\n**** v1 2.0 vsl| 1006 Timestamp b Beresp: 1509992323.612084 0.000245 0.000150\r\n**** v1 2.0 vsl| 1006 BerespProtocol b HTTP/1.1\r\n**** v1 2.0 vsl| 1006 BerespStatus b 200\r\n**** v1 2.0 vsl| 1006 BerespReason b OK\r\n**** v1 2.0 vsl| 1006 BerespHeader b Content-Length: 0\r\n**** v1 2.0 vsl| 1006 BerespHeader b Date: Mon, 06 Nov 2017 18:18:43 GMT\r\n**** v1 2.0 vsl| 1006 TTL b RFC 120 10 0 1509992324 1509992324 1509992323 0 0\r\n**** v1 2.0 vsl| 1006 VCL_call b BACKEND_RESPONSE\r\n**** v1 2.0 vsl| 1006 VCL_return b deliver\r\n**** v1 2.0 vsl| 1006 Storage b malloc s0\r\n**** v1 2.0 vsl| 1006 ObjProtocol b HTTP/1.1\r\n**** v1 2.0 vsl| 1006 ObjStatus b 200\r\n**** v1 2.0 vsl| 1006 ObjReason b OK\r\n**** v1 2.0 vsl| 1006 ObjHeader b Content-Length: 0\r\n**** v1 2.0 vsl| 1006 ObjHeader b Date: Mon, 06 Nov 2017 18:18:43 GMT\r\n**** v1 2.0 vsl| 1006 Fetch_Body b 0 none -\r\n**** v1 2.0 vsl| 1006 BackendReuse b 26 vcl1.d1(127.0.0.1)\r\n**** v1 2.0 vsl| 1006 Timestamp b BerespBody: 1509992323.622266 0.010427 0.010182\r\n**** v1 2.0 vsl| 1006 Length b 0\r\n**** v1 2.0 vsl| 1006 BereqAcct b 107 0 107 38 0 38\r\n**** v1 2.0 vsl| 1006 End b \r\n**** v1 2.0 vsl| 1005 Begin c req 1000 rxreq\r\n**** v1 2.0 vsl| 1005 Timestamp c Start: 1509992323.611790 0.000000 0.000000\r\n**** v1 2.0 vsl| 1005 Timestamp c Req: 1509992323.611790 0.000000 0.000000\r\n**** v1 2.0 vsl| 1005 ReqStart c 127.0.0.1 62387\r\n**** v1 2.0 vsl| 1005 ReqMethod c GET\r\n**** v1 2.0 vsl| 1005 ReqURL c /\r\n**** v1 2.0 vsl| 1005 ReqProtocol c HTTP/1.1\r\n**** v1 2.0 vsl| 1005 ReqHeader c Host: www.localhost\r\n**** v1 2.0 vsl| 1005 ReqHeader c X-Forwarded-For: 127.0.0.1\r\n**** v1 2.0 vsl| 1005 VCL_call c RECV\r\n**** v1 2.0 vsl| 1005 VCL_Log c vmod-dynamic: vcl1 d1 localhost deleted\r\n**** v1 2.0 vsl| 1005 Debug c vmod-dynamic: vcl1 d1 localhost unref-backend d1(127.0.0.1) (2 remaining)\r\n**** v1 2.0 vsl| 1005 Debug c vmod-dynamic: vcl1 d1 localhost unref-backend d1(127.0.0.1) (1 remaining)\r\n**** v1 2.0 vsl| 1005 VCL_return c hash\r\n**** v1 2.0 vsl| 1005 VCL_call c HASH\r\n**** v1 2.0 vsl| 1005 VCL_return c lookup\r\n**** v1 2.0 vsl| 1005 VCL_call c MISS\r\n**** v1 2.0 vsl| 1005 VCL_return c fetch\r\n**** v1 2.0 vsl| 1005 Link c bereq 1006 fetch\r\n**** v1 2.0 vsl| 1005 Timestamp c Fetch: 1509992323.622296 0.010506 0.010506\r\n**** v1 2.0 vsl| 1005 RespProtocol c HTTP/1.1\r\n**** v1 2.0 vsl| 1005 RespStatus c 200\r\n**** v1 2.0 vsl| 1005 RespReason c OK\r\n**** v1 2.0 vsl| 1005 RespHeader c Content-Length: 0\r\n**** v1 2.0 vsl| 1005 RespHeader c Date: Mon, 06 Nov 2017 18:18:43 GMT\r\n**** v1 2.0 vsl| 1005 RespHeader c X-Varnish: 1005\r\n**** v1 2.0 vsl| 1005 RespHeader c Age: 0\r\n**** v1 2.0 vsl| 1005 RespHeader c Via: 1.1 varnish (Varnish/5.2)\r\n**** v1 2.0 vsl| 1005 VCL_call c DELIVER\r\n**** v1 2.0 vsl| 1005 VCL_return c deliver\r\n**** v1 2.0 vsl| 1005 Timestamp c Process: 1509992323.622311 0.010521 0.000015\r\n**** v1 2.0 vsl| 1005 RespHeader c Accept-Ranges: bytes\r\n**** v1 2.0 vsl| 1005 RespHeader c Connection: keep-alive\r\n**** v1 2.0 vsl| 1005 Timestamp c Resp: 1509992323.622345 0.010555 0.000034\r\n**** v1 2.0 vsl| 1005 ReqAcct c 39 0 39 178 0 178\r\n**** v1 2.0 vsl| 1005 End c \r\n**** v1 2.0 vsl| 1000 SessClose c REM_CLOSE 1.534\r\n**** v1 2.0 vsl| 1000 End c \r\n**** v1 3.3 vsl| 0 CLI - Rd ping\r\n**** v1 3.3 vsl| 0 CLI - Wr 200 19 PONG 1509992324 1.0\r\n**** v1 6.3 vsl| 0 CLI - Rd ping\r\n**** v1 6.3 vsl| 0 CLI - Wr 200 19 PONG 1509992327 1.0\r\n**** v1 9.3 vsl| 0 CLI - Rd ping\r\n**** v1 9.3 vsl| 0 CLI - Wr 200 19 PONG 1509992330 1.0\r\n**** v1 12.3 vsl| 0 CLI - Rd ping\r\n**** v1 12.3 vsl| 0 CLI - Wr 200 19 PONG 1509992333 1.0\r\n**** v1 15.3 vsl| 0 CLI - Rd ping\r\n**** v1 15.3 vsl| 0 CLI - Wr 200 19 PONG 1509992336 1.0\r\n**** v1 18.3 vsl| 0 CLI - Rd ping\r\n**** v1 18.3 vsl| 0 CLI - Wr 200 19 PONG 1509992339 1.0\r\n**** v1 21.3 vsl| 0 CLI - Rd ping\r\n**** v1 21.3 vsl| 0 CLI - Wr 200 19 PONG 1509992342 1.0\r\n**** v1 24.3 vsl| 0 CLI - Rd ping\r\n**** v1 24.3 vsl| 0 CLI - Wr 200 19 PONG 1509992345 1.0\r\n**** v1 27.4 vsl| 0 CLI - Rd ping\r\n**** v1 27.4 vsl| 0 CLI - Wr 200 19 PONG 1509992348 1.0\r\n**** v1 30.4 vsl| 0 CLI - Rd ping\r\n**** v1 30.4 vsl| 0 CLI - Wr 200 19 PONG 1509992351 1.0\r\n**** v1 33.4 vsl| 0 CLI - Rd ping\r\n**** v1 33.4 vsl| 0 CLI - Wr 200 19 PONG 1509992354 1.0\r\n**** v1 36.4 vsl| 0 CLI - Rd ping\r\n**** v1 36.4 vsl| 0 CLI - Wr 200 19 PONG 1509992357 1.0\r\n**** v1 39.4 vsl| 0 CLI - Rd ping\r\n**** v1 39.4 vsl| 0 CLI - Wr 200 19 PONG 1509992360 1.0\r\n**** v1 42.4 vsl| 0 CLI - Rd ping\r\n**** v1 42.4 vsl| 0 CLI - Wr 200 19 PONG 1509992363 1.0\r\n**** v1 45.3 vsl| 0 CLI - Rd ping\r\n**** v1 45.3 vsl| 0 CLI - Wr 200 19 PONG 1509992366 1.0\r\n**** v1 48.3 vsl| 0 CLI - Rd ping\r\n**** v1 48.3 vsl| 0 CLI - Wr 200 19 PONG 1509992369 1.0\r\n**** v1 51.3 vsl| 0 CLI - Rd ping\r\n**** v1 51.3 vsl| 0 CLI - Wr 200 19 PONG 1509992372 1.0\r\n**** v1 54.3 vsl| 0 CLI - Rd ping\r\n**** v1 54.3 vsl| 0 CLI - Wr 200 19 PONG 1509992375 1.0\r\n**** v1 57.3 vsl| 0 CLI - Rd ping\r\n**** v1 57.3 vsl| 0 CLI - Wr 200 19 PONG 1509992378 1.0\r\n# top TEST ./tests/test07.vtc TIMED OUT (kill -9)\r\n# top TEST ./tests/test07.vtc FAILED (60.031) signal=9\r\nFAIL tests/test07.vtc (exit status: 2)\r\n\r\n```","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/31/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/31/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/32","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/32/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/32/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/32/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/32","id":275660712,"node_id":"MDU6SXNzdWUyNzU2NjA3MTI=","number":32,"title":"Assert error in vca_acct(), cache/cache_acceptor.c line 497 while initailly loading the module","user":{"login":"jpastuszek","id":20052,"node_id":"MDQ6VXNlcjIwMDUy","avatar_url":"https://avatars.githubusercontent.com/u/20052?v=4","gravatar_id":"","url":"https://api.github.com/users/jpastuszek","html_url":"https://github.com/jpastuszek","followers_url":"https://api.github.com/users/jpastuszek/followers","following_url":"https://api.github.com/users/jpastuszek/following{/other_user}","gists_url":"https://api.github.com/users/jpastuszek/gists{/gist_id}","starred_url":"https://api.github.com/users/jpastuszek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpastuszek/subscriptions","organizations_url":"https://api.github.com/users/jpastuszek/orgs","repos_url":"https://api.github.com/users/jpastuszek/repos","events_url":"https://api.github.com/users/jpastuszek/events{/privacy}","received_events_url":"https://api.github.com/users/jpastuszek/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-11-21T10:33:18Z","updated_at":"2017-11-21T14:00:37Z","closed_at":"2017-11-21T14:00:37Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"I am using varnish 4.1.3.\r\nWhen loading this module into running Varnish instance it crashes on assertion an I lose my cache:\r\n```Assert error in vca_acct(), cache/cache_acceptor.c line 497: Condition(ls->sock > 0) not true. thread = (cache-acceptor) version = varnish-4.1.3 revision 5e3b6d2 ident = Linux,4.4.16-27.56.amzn1.x86_64,x86_64,-junix,-smalloc,-smalloc,-hcritbit,epoll Backtrace: 0x432f23: varnishd() [0x432f23] 0x40efc0: varnishd(VCA_NewPool+0) [0x40efc0] 0x7f6f5ea69dc5: libpthread.so.0(+0x7dc5) [0x7f6f5ea69dc5] 0x7f6f5e796c9d: libc.so.6(clone+0x6d) [0x7f6f5e796c9d]```\r\nThis makes it difficult to introduce it to running system (cache loss).","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/32/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/32/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/33","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/33/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/33/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/33/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/33","id":291752206,"node_id":"MDU6SXNzdWUyOTE3NTIyMDY=","number":33,"title":"libvmod-dynamic only uses 3 ips from 10: add tcp query support","user":{"login":"danielmotaleite","id":11890049,"node_id":"MDQ6VXNlcjExODkwMDQ5","avatar_url":"https://avatars.githubusercontent.com/u/11890049?v=4","gravatar_id":"","url":"https://api.github.com/users/danielmotaleite","html_url":"https://github.com/danielmotaleite","followers_url":"https://api.github.com/users/danielmotaleite/followers","following_url":"https://api.github.com/users/danielmotaleite/following{/other_user}","gists_url":"https://api.github.com/users/danielmotaleite/gists{/gist_id}","starred_url":"https://api.github.com/users/danielmotaleite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielmotaleite/subscriptions","organizations_url":"https://api.github.com/users/danielmotaleite/orgs","repos_url":"https://api.github.com/users/danielmotaleite/repos","events_url":"https://api.github.com/users/danielmotaleite/events{/privacy}","received_events_url":"https://api.github.com/users/danielmotaleite/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-01-25T23:28:19Z","updated_at":"2019-07-13T16:47:45Z","closed_at":"2018-01-26T02:17:48Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"I have a setup where i have multiple backends (10) and use consul to manage the available backend list. Today i noticed that only a few backends (usually 3) are used, but they are always changing, on every minute, as i set `TTL= 60s`\r\n\r\n```\r\n$ while sleep 60; do varnishadm -n $HOSTNAME.live backend.list | grep _p ; echo ; done \r\nvcl_7da98ec3-be47-4ef6-88f6-42c0208b12e0.alice_p(172.30.154.202) probe Healthy 5/5 Thu, 25 Jan 2018 23:00:06 GMT\r\nvcl_7da98ec3-be47-4ef6-88f6-42c0208b12e0.alice_p(172.30.243.214) probe Healthy 5/5 Thu, 25 Jan 2018 23:01:06 GMT\r\nvcl_7da98ec3-be47-4ef6-88f6-42c0208b12e0.alice_p(172.30.249.132) probe Healthy 5/5 Thu, 25 Jan 2018 23:01:06 GMT\r\n\r\nvcl_7da98ec3-be47-4ef6-88f6-42c0208b12e0.alice_p(172.30.243.214) probe Healthy 5/5 Thu, 25 Jan 2018 23:01:06 GMT\r\nvcl_7da98ec3-be47-4ef6-88f6-42c0208b12e0.alice_p(172.30.219.96) probe Healthy 5/5 Thu, 25 Jan 2018 23:02:06 GMT\r\nvcl_7da98ec3-be47-4ef6-88f6-42c0208b12e0.alice_p(172.30.150.186) probe Healthy 5/5 Thu, 25 Jan 2018 23:02:06 GMT\r\n\r\nvcl_7da98ec3-be47-4ef6-88f6-42c0208b12e0.alice_p(172.30.249.132) probe Healthy 5/5 Thu, 25 Jan 2018 23:03:06 GMT\r\nvcl_7da98ec3-be47-4ef6-88f6-42c0208b12e0.alice_p(172.30.251.37) probe Healthy 5/5 Thu, 25 Jan 2018 23:03:06 GMT\r\nvcl_7da98ec3-be47-4ef6-88f6-42c0208b12e0.alice_p(172.30.154.202) probe Healthy 5/5 Thu, 25 Jan 2018 23:03:06 GMT\r\n\r\nvcl_7da98ec3-be47-4ef6-88f6-42c0208b12e0.alice_p(172.30.251.37) probe Healthy 5/5 Thu, 25 Jan 2018 23:03:06 GMT\r\nvcl_7da98ec3-be47-4ef6-88f6-42c0208b12e0.alice_p(172.30.161.48) probe Healthy 5/5 Thu, 25 Jan 2018 23:04:06 GMT\r\nvcl_7da98ec3-be47-4ef6-88f6-42c0208b12e0.alice_p(172.30.209.195) probe Healthy 5/5 Thu, 25 Jan 2018 23:04:06 GMT\r\n```\r\n\r\nA normal udp query return 3 entries:\r\n```\r\n$ host alice-live-p.service.consul.\r\nalice-live-p.service.consul has address 172.30.209.195\r\nalice-live-p.service.consul has address 172.30.251.37\r\nalice-live-p.service.consul has address 172.30.161.48\r\n```\r\nbut using TCP query, we get the list of 10 IPs:\r\n```\r\n$ host -T alice-live-p.service.consul.\r\nalice-live-p.service.consul has address 172.30.251.37\r\nalice-live-p.service.consul has address 172.30.219.96\r\nalice-live-p.service.consul has address 172.30.150.186\r\nalice-live-p.service.consul has address 172.30.209.195\r\nalice-live-p.service.consul has address 172.30.133.54\r\nalice-live-p.service.consul has address 172.30.154.202\r\nalice-live-p.service.consul has address 172.30.161.48\r\nalice-live-p.service.consul has address 172.30.137.218\r\nalice-live-p.service.consul has address 172.30.249.132\r\nalice-live-p.service.consul has address 172.30.243.214\r\n```\r\n\r\nSo looks like the module is using UDP for the query... i think if there is support for TCP queries, it maybe would return the 10 IP list and use all the available backends\r\n\r\n","closed_by":{"login":"danielmotaleite","id":11890049,"node_id":"MDQ6VXNlcjExODkwMDQ5","avatar_url":"https://avatars.githubusercontent.com/u/11890049?v=4","gravatar_id":"","url":"https://api.github.com/users/danielmotaleite","html_url":"https://github.com/danielmotaleite","followers_url":"https://api.github.com/users/danielmotaleite/followers","following_url":"https://api.github.com/users/danielmotaleite/following{/other_user}","gists_url":"https://api.github.com/users/danielmotaleite/gists{/gist_id}","starred_url":"https://api.github.com/users/danielmotaleite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielmotaleite/subscriptions","organizations_url":"https://api.github.com/users/danielmotaleite/orgs","repos_url":"https://api.github.com/users/danielmotaleite/repos","events_url":"https://api.github.com/users/danielmotaleite/events{/privacy}","received_events_url":"https://api.github.com/users/danielmotaleite/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/33/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/33/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/35","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/35/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/35/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/35/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/35","id":305604786,"node_id":"MDU6SXNzdWUzMDU2MDQ3ODY=","number":35,"title":"Backend seems sick on first access","user":{"login":"ghost","id":10137,"node_id":"MDQ6VXNlcjEwMTM3","avatar_url":"https://avatars.githubusercontent.com/u/10137?v=4","gravatar_id":"","url":"https://api.github.com/users/ghost","html_url":"https://github.com/ghost","followers_url":"https://api.github.com/users/ghost/followers","following_url":"https://api.github.com/users/ghost/following{/other_user}","gists_url":"https://api.github.com/users/ghost/gists{/gist_id}","starred_url":"https://api.github.com/users/ghost/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ghost/subscriptions","organizations_url":"https://api.github.com/users/ghost/orgs","repos_url":"https://api.github.com/users/ghost/repos","events_url":"https://api.github.com/users/ghost/events{/privacy}","received_events_url":"https://api.github.com/users/ghost/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":17,"created_at":"2018-03-15T15:36:34Z","updated_at":"2018-04-17T09:58:02Z","closed_at":"2018-03-16T16:10:07Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi.\r\n\r\nI have Varnish 5.2.1 with vmod dynamic installed from Yum Repositories on CentOS7 Server, and i'm facing this situation: after a vcl reload the first call to a site server by vmod_dynamic director give me the mainenance page, like the backend was sick, bat the backend is up and running, so simply hitting F5 gave me access to the site.\r\n\r\nMaybe a problem with the first dns lookup? Or maybe i've made some misconfiguration?\r\n\r\nWhat other info do you need to help me with this problem?\r\n\r\nBest Regard","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/35/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/35/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/36","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/36/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/36/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/36/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/36","id":307665895,"node_id":"MDU6SXNzdWUzMDc2NjU4OTU=","number":36,"title":"Difficulty building against varnish 5.2.1 for xkey vmod","user":{"login":"hardik8585","id":32997161,"node_id":"MDQ6VXNlcjMyOTk3MTYx","avatar_url":"https://avatars.githubusercontent.com/u/32997161?v=4","gravatar_id":"","url":"https://api.github.com/users/hardik8585","html_url":"https://github.com/hardik8585","followers_url":"https://api.github.com/users/hardik8585/followers","following_url":"https://api.github.com/users/hardik8585/following{/other_user}","gists_url":"https://api.github.com/users/hardik8585/gists{/gist_id}","starred_url":"https://api.github.com/users/hardik8585/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hardik8585/subscriptions","organizations_url":"https://api.github.com/users/hardik8585/orgs","repos_url":"https://api.github.com/users/hardik8585/repos","events_url":"https://api.github.com/users/hardik8585/events{/privacy}","received_events_url":"https://api.github.com/users/hardik8585/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-03-22T14:25:40Z","updated_at":"2018-03-22T14:35:00Z","closed_at":"2018-03-22T14:35:00Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"./bootstrap\r\n+ mkdir -p m4\r\n+ aclocal -I m4 -I /usr/share/aclocal\r\n+ libtoolize --copy --force\r\nlibtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.\r\nlibtoolize: copying file `build-aux/ltmain.sh'\r\nlibtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.\r\nlibtoolize: copying file `m4/libtool.m4'\r\nlibtoolize: copying file `m4/ltoptions.m4'\r\nlibtoolize: copying file `m4/ltsugar.m4'\r\nlibtoolize: copying file `m4/ltversion.m4'\r\nlibtoolize: copying file `m4/lt~obsolete.m4'\r\n+ autoheader\r\n+ automake --add-missing --copy --foreign\r\nsrc/Makefile.am:24: error: 'vmod_LTLIBRARIES' is used but 'vmoddir' is undefined\r\nsrc/Makefile.am:51: warning: variable 'libvmod_header_la_SOURCES' is defined but no program or\r\nsrc/Makefile.am:51: library has 'libvmod_header_la' as canonical name (possible typo)\r\nsrc/Makefile.am:65: warning: variable 'nodist_libvmod_xkey_la_SOURCES' is defined but no program or\r\nsrc/Makefile.am:65: library has 'libvmod_xkey_la' as canonical name (possible typo)\r\nsrc/Makefile.am:61: warning: variable 'nodist_libvmod_vsthrottle_la_SOURCES' is defined but no program or\r\nsrc/Makefile.am:61: library has 'libvmod_vsthrottle_la' as canonical name (possible typo)\r\nsrc/Makefile.am:56: warning: variable 'libvmod_xkey_la_SOURCES' is defined but no program or\r\nsrc/Makefile.am:56: library has 'libvmod_xkey_la' as canonical name (possible typo)\r\nsrc/Makefile.am:64: warning: variable 'nodist_libvmod_var_la_SOURCES' is defined but no program or\r\nsrc/Makefile.am:64: library has 'libvmod_var_la' as canonical name (possible typo)\r\nsrc/Makefile.am:53: warning: variable 'libvmod_saintmode_la_SOURCES' is defined but no program or\r\nsrc/Makefile.am:53: library has 'libvmod_saintmode_la' as canonical name (possible typo)\r\nsrc/Makefile.am:58: warning: variable 'nodist_libvmod_bodyaccess_la_SOURCES' is defined but no program or\r\nsrc/Makefile.am:58: library has 'libvmod_bodyaccess_la' as canonical name (possible typo)\r\nsrc/Makefile.am:63: warning: variable 'nodist_libvmod_tcp_la_SOURCES' is defined but no program or\r\nsrc/Makefile.am:63: library has 'libvmod_tcp_la' as canonical name (possible typo)\r\nsrc/Makefile.am:59: warning: variable 'nodist_libvmod_cookie_la_SOURCES' is defined but no program or\r\nsrc/Makefile.am:59: library has 'libvmod_cookie_la' as canonical name (possible typo)\r\nsrc/Makefile.am:62: warning: variable 'nodist_libvmod_saintmode_la_SOURCES' is defined but no program or\r\nsrc/Makefile.am:62: library has 'libvmod_saintmode_la' as canonical name (possible typo)\r\nsrc/Makefile.am:50: warning: variable 'libvmod_cookie_la_SOURCES' is defined but no program or\r\nsrc/Makefile.am:50: library has 'libvmod_cookie_la' as canonical name (possible typo)\r\nsrc/Makefile.am:55: warning: variable 'libvmod_var_la_SOURCES' is defined but no program or\r\nsrc/Makefile.am:55: library has 'libvmod_var_la' as canonical name (possible typo)\r\nsrc/Makefile.am:83: warning: variable 'nodist_libvmod_softpurge_la_SOURCES' is defined but no program or\r\nsrc/Makefile.am:83: library has 'libvmod_softpurge_la' as canonical name (possible typo)\r\nsrc/Makefile.am:60: warning: variable 'nodist_libvmod_header_la_SOURCES' is defined but no program or\r\nsrc/Makefile.am:60: library has 'libvmod_header_la' as canonical name (possible typo)\r\nsrc/Makefile.am:52: warning: variable 'libvmod_vsthrottle_la_SOURCES' is defined but no program or\r\nsrc/Makefile.am:52: library has 'libvmod_vsthrottle_la' as canonical name (possible typo)\r\nsrc/Makefile.am:49: warning: variable 'libvmod_bodyaccess_la_SOURCES' is defined but no program or\r\nsrc/Makefile.am:49: library has 'libvmod_bodyaccess_la' as canonical name (possible typo)\r\nsrc/Makefile.am:54: warning: variable 'libvmod_tcp_la_SOURCES' is defined but no program or\r\nsrc/Makefile.am:54: library has 'libvmod_tcp_la' as canonical name (possible typo)\r\nsrc/Makefile.am:82: warning: variable 'libvmod_softpurge_la_SOURCES' is defined but no program or\r\nsrc/Makefile.am:82: library has 'libvmod_softpurge_la' as canonical name (possible typo)\r\n\r\n\r\nBecause of this error, its now generating configure file.","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/36/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/36/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/37","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/37/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/37/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/37/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/37","id":308541202,"node_id":"MDU6SXNzdWUzMDg1NDEyMDI=","number":37,"title":"ABI mismatch against Varnish 6.0 - RPM package needs a bump?","user":{"login":"slawekm","id":4246560,"node_id":"MDQ6VXNlcjQyNDY1NjA=","avatar_url":"https://avatars.githubusercontent.com/u/4246560?v=4","gravatar_id":"","url":"https://api.github.com/users/slawekm","html_url":"https://github.com/slawekm","followers_url":"https://api.github.com/users/slawekm/followers","following_url":"https://api.github.com/users/slawekm/following{/other_user}","gists_url":"https://api.github.com/users/slawekm/gists{/gist_id}","starred_url":"https://api.github.com/users/slawekm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slawekm/subscriptions","organizations_url":"https://api.github.com/users/slawekm/orgs","repos_url":"https://api.github.com/users/slawekm/repos","events_url":"https://api.github.com/users/slawekm/events{/privacy}","received_events_url":"https://api.github.com/users/slawekm/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false},"assignees":[{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false}],"milestone":null,"comments":7,"created_at":"2018-03-26T11:55:15Z","updated_at":"2018-04-02T09:44:10Z","closed_at":"2018-04-02T09:44:10Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi, \r\n\r\nI'm getting ABI mismatch error when running against Varnish 6.0:\r\n\r\n```\r\nbash-4.2# /usr/sbin/varnish_reload_vcl\r\nLoading vcl from /etc/varnish/default.vcl\r\nCurrent running config name is boot\r\nUsing new config name reload_2018-03-26T114607\r\nMessage from VCC-compiler:\r\nIncompatible VMOD dynamic\r\n\tFile name: /usr/lib64/varnish/vmods/libvmod_dynamic.so\r\n\tABI mismatch, expected , got \r\n('/etc/varnish/default.vcl' Line 60 Pos 8)\r\nimport dynamic;\r\n-------#######-\r\n\r\nRunning VCC-compiler failed, exited with 2\r\nVCL compilation failed\r\nCommand failed with error code 106\r\n```\r\n\r\n```\r\nbash-4.2# rpm -qi vmod-dynamic\r\nName : vmod-dynamic\r\nVersion : 0.3\r\nRelease : 12.el7\r\nSource RPM : vmod-dynamic-0.3-12.el7.src.rpm\r\nBuild Date : Fri Nov 24 17:17:58 2017\r\nBuild Host : 5f3d6e6b911d\r\n```\r\n\r\nWorks fine when I've compiled vmod from source.\r\n\r\nThanks.","closed_by":{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/37/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/37/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/38","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/38/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/38/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/38/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/38","id":358483593,"node_id":"MDU6SXNzdWUzNTg0ODM1OTM=","number":38,"title":"502 when cache beresp.ttl is exhausted ","user":{"login":"lloiacono","id":1889160,"node_id":"MDQ6VXNlcjE4ODkxNjA=","avatar_url":"https://avatars.githubusercontent.com/u/1889160?v=4","gravatar_id":"","url":"https://api.github.com/users/lloiacono","html_url":"https://github.com/lloiacono","followers_url":"https://api.github.com/users/lloiacono/followers","following_url":"https://api.github.com/users/lloiacono/following{/other_user}","gists_url":"https://api.github.com/users/lloiacono/gists{/gist_id}","starred_url":"https://api.github.com/users/lloiacono/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lloiacono/subscriptions","organizations_url":"https://api.github.com/users/lloiacono/orgs","repos_url":"https://api.github.com/users/lloiacono/repos","events_url":"https://api.github.com/users/lloiacono/events{/privacy}","received_events_url":"https://api.github.com/users/lloiacono/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2018-09-10T06:23:57Z","updated_at":"2018-10-11T06:48:08Z","closed_at":"2018-09-12T15:11:44Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"I'm using dynamic directors with rancher and am getting a 502 error once the TTL of my cache object expires, if I try again then it works properly. I can request any URL and I would get a 200, then the page is cache for 5s (I set the TTL to 5s for testing), then after 5s I request the same URL again and I get the 502, then I request the same URL once again and it works. If I repeat the whole process I get the same results over and over.\r\n\r\nError:\r\n> HTTP/1.0 502 Bad Gateway\r\nCache-Control: no-cache\r\nContent-Type: text/html\r\nX-Via: varnish-test\r\n\r\n

502 Bad Gateway

\r\nThe server returned an invalid or incomplete response.\r\n\r\n\r\nConfiguration: \r\n\r\nI have setup varnish with dynamic directors like this:\r\n\r\n```\r\nsub vcl_init {\r\n new www_dir = dynamic.director(\r\n port = 80,\r\n ttl = 5m\r\n );\r\n www_dir.debug(true);\r\n}\r\n```\r\n\r\nAnd added the director as backend in `vcl_recv` like this:\r\n\r\n`set req.backend_hint = www_dir.backend(app);`\r\n\r\n`app` is the name of my backend service in rancher. If I dig to `app` I get something like:\r\n\r\n```\r\napp. 1 IN A 10.42.166.171\r\napp. 1 IN A 10.42.215.78\r\n```\r\n\r\nAlso in `vcl_backend_response` I've this:\r\n\r\n`set beresp.ttl = 5s;`\r\n\r\nI set the cache TTL to 5s to debug this easily.\r\n\r\nOn the varnish instance if I run this `varnishlog -g raw -q '* ~ vmod-dynamic'`, after the 502 error I see this in the logs:\r\n\r\n`Log abandoned (vsl)`\r\n`Log reacquired`\r\n\r\n\r\n\r\n","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/38/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/38/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/39","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/39/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/39/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/39/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/39","id":358557823,"node_id":"MDU6SXNzdWUzNTg1NTc4MjM=","number":39,"title":"Not able to build master","user":{"login":"lloiacono","id":1889160,"node_id":"MDQ6VXNlcjE4ODkxNjA=","avatar_url":"https://avatars.githubusercontent.com/u/1889160?v=4","gravatar_id":"","url":"https://api.github.com/users/lloiacono","html_url":"https://github.com/lloiacono","followers_url":"https://api.github.com/users/lloiacono/followers","following_url":"https://api.github.com/users/lloiacono/following{/other_user}","gists_url":"https://api.github.com/users/lloiacono/gists{/gist_id}","starred_url":"https://api.github.com/users/lloiacono/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lloiacono/subscriptions","organizations_url":"https://api.github.com/users/lloiacono/orgs","repos_url":"https://api.github.com/users/lloiacono/repos","events_url":"https://api.github.com/users/lloiacono/events{/privacy}","received_events_url":"https://api.github.com/users/lloiacono/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-09-10T10:16:16Z","updated_at":"2018-09-10T10:24:48Z","closed_at":"2018-09-10T10:24:48Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"I was previously using the v 0.4 tag and it was working fine. Now switched to master and I get the following error:\r\n\r\n```\r\nMaking install in src\r\nmake[1]: Entering directory '/varnish-modules/libvmod-dynamic-master/src'\r\nCC vmod_dynamic.lo\r\nvmod_dynamic.c:105:33: error: array type has incomplete element type 'struct vdi_methods'\r\n static const struct vdi_methods vmod_dynamic_methods[1] = {{\r\n ^~~~~~~~~~~~~~~~~~~~\r\nvmod_dynamic.c:106:2: error: field name not in record or union initializer\r\n .magic = VDI_METHODS_MAGIC,\r\n ^\r\nvmod_dynamic.c:106:2: note: (near initialization for 'vmod_dynamic_methods')\r\nvmod_dynamic.c:106:11: error: 'VDI_METHODS_MAGIC' undeclared here (not in a function)\r\n .magic = VDI_METHODS_MAGIC,\r\n ^~~~~~~~~~~~~~~~~\r\nvmod_dynamic.c:107:2: error: field name not in record or union initializer\r\n .type = \"dynamic\",\r\n ^\r\nvmod_dynamic.c:107:2: note: (near initialization for 'vmod_dynamic_methods')\r\nvmod_dynamic.c:108:2: error: field name not in record or union initializer\r\n .healthy = dynamic_healthy,\r\n ^\r\nvmod_dynamic.c:108:2: note: (near initialization for 'vmod_dynamic_methods')\r\nvmod_dynamic.c:109:2: error: field name not in record or union initializer\r\n .resolve = dynamic_resolve\r\n ^\r\nvmod_dynamic.c:109:2: note: (near initialization for 'vmod_dynamic_methods')\r\nvmod_dynamic.c: In function 'dynamic_resolve':\r\nvmod_dynamic.c:151:5: error: too many arguments to function 'VRT_Healthy'\r\n !VRT_Healthy(ctx, next->be->dir, NULL));\r\n ^~~~~~~~~~~\r\nIn file included from /usr/include/varnish/cache/cache.h:45:0,\r\n from vmod_dynamic.c:45:\r\n/usr/include/varnish/vrt.h:419:5: note: declared here\r\n int VRT_Healthy(VRT_CTX, VCL_BACKEND);\r\n ^~~~~~~~~~~\r\nvmod_dynamic.c:156:7: error: too many arguments to function 'VRT_Healthy'\r\n !VRT_Healthy(ctx, next->be->dir, NULL))\r\n ^~~~~~~~~~~\r\nIn file included from /usr/include/varnish/cache/cache.h:45:0,\r\n from vmod_dynamic.c:45:\r\n/usr/include/varnish/vrt.h:419:5: note: declared here\r\n int VRT_Healthy(VRT_CTX, VCL_BACKEND);\r\n ^~~~~~~~~~~\r\nvmod_dynamic.c: In function 'dynamic_healthy':\r\nvmod_dynamic.c:184:12: error: too many arguments to function 'VRT_Healthy'\r\n retval = VRT_Healthy(ctx, r->be->dir, &c);\r\n ^~~~~~~~~~~\r\nIn file included from /usr/include/varnish/cache/cache.h:45:0,\r\n from vmod_dynamic.c:45:\r\n/usr/include/varnish/vrt.h:419:5: note: declared here\r\n int VRT_Healthy(VRT_CTX, VCL_BACKEND);\r\n ^~~~~~~~~~~\r\nvmod_dynamic.c: In function 'dynamic_del':\r\nvmod_dynamic.c:248:27: error: passing argument 2 of 'VRT_delete_backend' from incompatible pointer type [-Werror=incompatible-pointer-types]\r\n VRT_delete_backend(ctx, &b->dir);\r\n ^\r\nIn file included from /usr/include/varnish/cache/cache.h:45:0,\r\n from vmod_dynamic.c:45:\r\n/usr/include/varnish/vrt.h:411:6: note: expected 'struct director **' but argument is of type 'const struct director **'\r\n void VRT_delete_backend(VRT_CTX, struct director **);\r\n ^~~~~~~~~~~~~~~~~~\r\nvmod_dynamic.c: In function 'dynamic_get':\r\nvmod_dynamic.c:708:13: error: implicit declaration of function 'VRT_AddDirector' [-Werror=implicit-function-declaration]\r\n dom->dir = VRT_AddDirector(ctx, vmod_dynamic_methods, dom,\r\n ^~~~~~~~~~~~~~~\r\nAt top level:\r\nvmod_dynamic.c:105:33: error: 'vmod_dynamic_methods' defined but not used [-Werror=unused-variable]\r\n static const struct vdi_methods vmod_dynamic_methods[1] = {{\r\n ^~~~~~~~~~~~~~~~~~~~\r\n```\r\n\r\nMy Dockerfile is \r\n\r\n```\r\nFROM alpine:3.8\r\n\r\nRUN apk update \\\r\n && apk add --no-cache varnish=6.0.0-r1 \\\r\n && apk add git curl \\\r\n && git clone https://github.com/varnish/varnish-modules.git \\\r\n && apk add automake && apk add varnish-dev \\\r\n && apk add autoconf && apk add libtool \\\r\n && apk add py-docutils && apk add make \\\r\n && cd varnish-modules/ \\\r\n && ./bootstrap && ./configure && make && make install\r\n\r\n#\r\n# install libvmod-dynamic\r\n#\r\nENV LIBVMOD_DYNAMIC_VERSION=master\r\n\r\nRUN curl -sfL https://github.com/nigoroll/libvmod-dynamic/archive/${LIBVMOD_DYNAMIC_VERSION}.tar.gz \\\r\n -o libvmod-dynamic-${LIBVMOD_DYNAMIC_VERSION}.tar.gz && \\\r\n tar -xzf libvmod-dynamic-${LIBVMOD_DYNAMIC_VERSION}.tar.gz && \\\r\n cd libvmod-dynamic-${LIBVMOD_DYNAMIC_VERSION} && \\\r\n ./autogen.sh && \\\r\n ./configure && \\\r\n make install && \\\r\n cd .. && rm -rf libvmod-dynamic-${LIBVMOD_DYNAMIC_VERSION}.tar.gz \r\n\r\n```","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/39/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/39/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/40","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/40/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/40/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/40/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/40","id":367386874,"node_id":"MDU6SXNzdWUzNjczODY4NzQ=","number":40,"title":"Unable to compile on Debian Stretch","user":{"login":"AdrienBigot","id":12624309,"node_id":"MDQ6VXNlcjEyNjI0MzA5","avatar_url":"https://avatars.githubusercontent.com/u/12624309?v=4","gravatar_id":"","url":"https://api.github.com/users/AdrienBigot","html_url":"https://github.com/AdrienBigot","followers_url":"https://api.github.com/users/AdrienBigot/followers","following_url":"https://api.github.com/users/AdrienBigot/following{/other_user}","gists_url":"https://api.github.com/users/AdrienBigot/gists{/gist_id}","starred_url":"https://api.github.com/users/AdrienBigot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AdrienBigot/subscriptions","organizations_url":"https://api.github.com/users/AdrienBigot/orgs","repos_url":"https://api.github.com/users/AdrienBigot/repos","events_url":"https://api.github.com/users/AdrienBigot/events{/privacy}","received_events_url":"https://api.github.com/users/AdrienBigot/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804423,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjM=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/duplicate","name":"duplicate","color":"cccccc","default":true,"description":null}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-10-05T22:23:36Z","updated_at":"2018-10-10T05:21:28Z","closed_at":"2018-10-10T05:21:21Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hello,\r\n\r\nWhen trying to build in Debian Strech I encounter these errors :\r\n\r\nmake all-recursive\r\nmake[1]: Entering directory '/tmp/libvmod-dynamic'\r\nMaking all in src\r\nmake[2]: Entering directory '/tmp/libvmod-dynamic/src'\r\n CC vmod_dynamic.lo\r\nvmod_dynamic.c:105:33: error: array type has incomplete element type ‘struct vdi_methods’\r\n static const struct vdi_methods vmod_dynamic_methods[1] = {{\r\n ^~~~~~~~~~~~~~~~~~~~\r\nvmod_dynamic.c:106:2: error: field name not in record or union initializer\r\n .magic = VDI_METHODS_MAGIC,\r\n ^\r\nvmod_dynamic.c:106:2: note: (near initialization for ‘vmod_dynamic_methods’)\r\nvmod_dynamic.c:106:11: error: ‘VDI_METHODS_MAGIC’ undeclared here (not in a function)\r\n .magic = VDI_METHODS_MAGIC,\r\n ^~~~~~~~~~~~~~~~~\r\nvmod_dynamic.c:107:2: error: field name not in record or union initializer\r\n .type = \"dynamic\",\r\n ^\r\nvmod_dynamic.c:107:2: note: (near initialization for ‘vmod_dynamic_methods’)\r\nvmod_dynamic.c:108:2: error: field name not in record or union initializer\r\n .healthy = dynamic_healthy,\r\n ^\r\nvmod_dynamic.c:108:2: note: (near initialization for ‘vmod_dynamic_methods’)\r\nvmod_dynamic.c:109:2: error: field name not in record or union initializer\r\n .resolve = dynamic_resolve\r\n ^\r\nvmod_dynamic.c:109:2: note: (near initialization for ‘vmod_dynamic_methods’)\r\nvmod_dynamic.c: In function ‘dynamic_resolve’:\r\nvmod_dynamic.c:151:5: error: too many arguments to function ‘VRT_Healthy’\r\n !VRT_Healthy(ctx, next->be->dir, NULL));\r\n ^~~~~~~~~~~\r\nIn file included from /usr/include/varnish/cache/cache.h:45:0,\r\n from vmod_dynamic.c:45:\r\n/usr/include/varnish/vrt.h:420:5: note: declared here\r\n int VRT_Healthy(VRT_CTX, VCL_BACKEND);\r\n ^~~~~~~~~~~\r\nvmod_dynamic.c:156:7: error: too many arguments to function ‘VRT_Healthy’\r\n !VRT_Healthy(ctx, next->be->dir, NULL))\r\n ^~~~~~~~~~~\r\nIn file included from /usr/include/varnish/cache/cache.h:45:0,\r\n from vmod_dynamic.c:45:\r\n/usr/include/varnish/vrt.h:420:5: note: declared here\r\n int VRT_Healthy(VRT_CTX, VCL_BACKEND);\r\n ^~~~~~~~~~~\r\nvmod_dynamic.c: In function ‘dynamic_healthy’:\r\nvmod_dynamic.c:184:12: error: too many arguments to function ‘VRT_Healthy’\r\n retval = VRT_Healthy(ctx, r->be->dir, &c);\r\n ^~~~~~~~~~~\r\nIn file included from /usr/include/varnish/cache/cache.h:45:0,\r\n from vmod_dynamic.c:45:\r\n/usr/include/varnish/vrt.h:420:5: note: declared here\r\n int VRT_Healthy(VRT_CTX, VCL_BACKEND);\r\n ^~~~~~~~~~~\r\nvmod_dynamic.c: In function ‘dynamic_del’:\r\nvmod_dynamic.c:248:27: error: passing argument 2 of ‘VRT_delete_backend’ from incompatible pointer type [-Werror=incompatible-pointer-types]\r\n VRT_delete_backend(ctx, &b->dir);\r\n ^\r\nIn file included from /usr/include/varnish/cache/cache.h:45:0,\r\n from vmod_dynamic.c:45:\r\n/usr/include/varnish/vrt.h:412:6: note: expected ‘struct director **’ but argument is of type ‘const struct director **’\r\n void VRT_delete_backend(VRT_CTX, struct director **);\r\n ^~~~~~~~~~~~~~~~~~\r\nvmod_dynamic.c: In function ‘dynamic_free’:\r\nvmod_dynamic.c:546:2: error: implicit declaration of function ‘VRT_DelDirector’ [-Werror=implicit-function-declaration]\r\n VRT_DelDirector(&dom->dir);\r\n ^~~~~~~~~~~~~~~\r\nvmod_dynamic.c: In function ‘dynamic_get’:\r\nvmod_dynamic.c:710:13: error: implicit declaration of function ‘VRT_AddDirector’ [-Werror=implicit-function-declaration]\r\n dom->dir = VRT_AddDirector(ctx, vmod_dynamic_methods, dom,\r\n ^~~~~~~~~~~~~~~\r\nAt top level:\r\nvmod_dynamic.c:105:33: error: ‘vmod_dynamic_methods’ defined but not used [-Werror=unused-variable]\r\n static const struct vdi_methods vmod_dynamic_methods[1] = {{\r\n ^~~~~~~~~~~~~~~~~~~~\r\ncc1: all warnings being treated as errors\r\nMakefile:659: recipe for target 'vmod_dynamic.lo' failed\r\nmake[2]: *** [vmod_dynamic.lo] Error 1\r\nmake[2]: Leaving directory '/tmp/libvmod-dynamic/src'\r\nMakefile:492: recipe for target 'all-recursive' failed\r\nmake[1]: *** [all-recursive] Error 1\r\nmake[1]: Leaving directory '/tmp/libvmod-dynamic'\r\nMakefile:403: recipe for target 'all' failed\r\nmake: *** [all] Error 2\r\n\r\nThanks in advance.\r\n\r\nAdrien","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/40/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/40/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/41","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/41/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/41/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/41/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/41","id":368464148,"node_id":"MDU6SXNzdWUzNjg0NjQxNDg=","number":41,"title":"Can't install on Centos7 Varnish 6.0.1","user":{"login":"chuyenim","id":12079343,"node_id":"MDQ6VXNlcjEyMDc5MzQz","avatar_url":"https://avatars.githubusercontent.com/u/12079343?v=4","gravatar_id":"","url":"https://api.github.com/users/chuyenim","html_url":"https://github.com/chuyenim","followers_url":"https://api.github.com/users/chuyenim/followers","following_url":"https://api.github.com/users/chuyenim/following{/other_user}","gists_url":"https://api.github.com/users/chuyenim/gists{/gist_id}","starred_url":"https://api.github.com/users/chuyenim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chuyenim/subscriptions","organizations_url":"https://api.github.com/users/chuyenim/orgs","repos_url":"https://api.github.com/users/chuyenim/repos","events_url":"https://api.github.com/users/chuyenim/events{/privacy}","received_events_url":"https://api.github.com/users/chuyenim/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804423,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjM=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/duplicate","name":"duplicate","color":"cccccc","default":true,"description":null}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-10-10T02:00:20Z","updated_at":"2018-10-10T05:20:35Z","closed_at":"2018-10-10T05:19:20Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hello,\r\nI want to use this vmod on my system but when I install I got tons of errors messages:\r\nMy steps:\r\n-- Download libvmod-dynamic into directory ``/var/lib/varnish/vmods/``\r\n-- Unzip file\r\n-- ``./autogent.sh`` --> OK\r\n-- ``./configure`` --> OK\r\n-- ``make`` --> Errrors:\r\n\r\n [root@vultr libvmod-dynamic-master]# make\r\n make all-recursive\r\n make[1]: Entering directory `/var/lib/varnish/vmods/libvmod-dynamic-master'\r\n Making all in src\r\n make[2]: Entering directory `/var/lib/varnish/vmods/libvmod-dynamic-master/src'\r\n CC vmod_dynamic.lo\r\n vmod_dynamic.c:105:33: error: array type has incomplete element type\r\n static const struct vdi_methods vmod_dynamic_methods[1] = {{\r\n ^\r\n vmod_dynamic.c:106:2: error: field name not in record or union initializer\r\n .magic = VDI_METHODS_MAGIC,\r\n ^\r\n vmod_dynamic.c:106:2: error: (near initialization for ‘vmod_dynamic_methods’)\r\n vmod_dynamic.c:106:11: error: ‘VDI_METHODS_MAGIC’ undeclared here (not in a function)\r\n .magic = VDI_METHODS_MAGIC,\r\n ^\r\n vmod_dynamic.c:107:2: error: field name not in record or union initializer\r\n .type = \"dynamic\",\r\n ^\r\n vmod_dynamic.c:107:2: error: (near initialization for ‘vmod_dynamic_methods’)\r\n vmod_dynamic.c:108:2: error: field name not in record or union initializer\r\n .healthy = dynamic_healthy,\r\n ^\r\n vmod_dynamic.c:108:2: error: (near initialization for ‘vmod_dynamic_methods’)\r\n vmod_dynamic.c:109:2: error: field name not in record or union initializer\r\n .resolve = dynamic_resolve\r\n ^\r\n vmod_dynamic.c:109:2: error: (near initialization for ‘vmod_dynamic_methods’)\r\n vmod_dynamic.c: In function ‘dynamic_resolve’:\r\n vmod_dynamic.c:151:4: error: too many arguments to function ‘VRT_Healthy’\r\n !VRT_Healthy(ctx, next->be->dir, NULL));\r\n ^\r\n In file included from /usr/include/varnish/cache/cache.h:45:0,\r\n from vmod_dynamic.c:45:\r\n /usr/include/varnish/vrt.h:420:5: note: declared here\r\n int VRT_Healthy(VRT_CTX, VCL_BACKEND);\r\n ^\r\n vmod_dynamic.c:156:6: error: too many arguments to function ‘VRT_Healthy’\r\n !VRT_Healthy(ctx, next->be->dir, NULL))\r\n ^\r\n In file included from /usr/include/varnish/cache/cache.h:45:0,\r\n from vmod_dynamic.c:45:\r\n /usr/include/varnish/vrt.h:420:5: note: declared here\r\n int VRT_Healthy(VRT_CTX, VCL_BACKEND);\r\n ^\r\n vmod_dynamic.c: In function ‘dynamic_healthy’:\r\n vmod_dynamic.c:184:3: error: too many arguments to function ‘VRT_Healthy’\r\n retval = VRT_Healthy(ctx, r->be->dir, &c);\r\n ^\r\n In file included from /usr/include/varnish/cache/cache.h:45:0,\r\n from vmod_dynamic.c:45:\r\n /usr/include/varnish/vrt.h:420:5: note: declared here\r\n int VRT_Healthy(VRT_CTX, VCL_BACKEND);\r\n ^\r\n vmod_dynamic.c: In function ‘dynamic_del’:\r\n vmod_dynamic.c:248:3: error: passing argument 2 of ‘VRT_delete_backend’ from incompatible pointer type [-Werror]\r\n VRT_delete_backend(ctx, &b->dir);\r\n ^\r\n In file included from /usr/include/varnish/cache/cache.h:45:0,\r\n from vmod_dynamic.c:45:\r\n /usr/include/varnish/vrt.h:412:6: note: expected ‘struct director **’ but argument is of type ‘const struct director **’\r\n void VRT_delete_backend(VRT_CTX, struct director **);\r\n ^\r\n vmod_dynamic.c: In function ‘dynamic_free’:\r\n vmod_dynamic.c:546:2: error: implicit declaration of function ‘VRT_DelDirector’ [-Werror=implicit-function-declaration]\r\n VRT_DelDirector(&dom->dir);\r\n ^\r\n vmod_dynamic.c: In function ‘dynamic_get’:\r\n vmod_dynamic.c:710:2: error: implicit declaration of function ‘VRT_AddDirector’ [-Werror=implicit-function-declaration]\r\n dom->dir = VRT_AddDirector(ctx, vmod_dynamic_methods, dom,\r\n ^\r\n vmod_dynamic.c: At top level:\r\n vmod_dynamic.c:105:33: error: ‘vmod_dynamic_methods’ defined but not used [-Werror=unused-variable]\r\n static const struct vdi_methods vmod_dynamic_methods[1] = {{\r\n ^\r\n cc1: all warnings being treated as errors\r\n make[2]: *** [vmod_dynamic.lo] Error 1\r\n make[2]: Leaving directory `/var/lib/varnish/vmods/libvmod-dynamic-master/src'\r\n make[1]: *** [all-recursive] Error 1\r\n make[1]: Leaving directory `/var/lib/varnish/vmods/libvmod-dynamic-master'\r\n make: *** [all] Error 2\r\n\r\nSoftware: Varnish 6.0.1\r\nEnvironment: Centos 7\r\n\r\nPlease give me the helps or some suggestions. Thank you","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/41/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/41/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/42","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/42/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/42/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/42/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/42","id":388773285,"node_id":"MDU6SXNzdWUzODg3NzMyODU=","number":42,"title":"Feature request: SRV support for port finding","user":{"login":"danielmotaleite","id":11890049,"node_id":"MDQ6VXNlcjExODkwMDQ5","avatar_url":"https://avatars.githubusercontent.com/u/11890049?v=4","gravatar_id":"","url":"https://api.github.com/users/danielmotaleite","html_url":"https://github.com/danielmotaleite","followers_url":"https://api.github.com/users/danielmotaleite/followers","following_url":"https://api.github.com/users/danielmotaleite/following{/other_user}","gists_url":"https://api.github.com/users/danielmotaleite/gists{/gist_id}","starred_url":"https://api.github.com/users/danielmotaleite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielmotaleite/subscriptions","organizations_url":"https://api.github.com/users/danielmotaleite/orgs","repos_url":"https://api.github.com/users/danielmotaleite/repos","events_url":"https://api.github.com/users/danielmotaleite/events{/privacy}","received_events_url":"https://api.github.com/users/danielmotaleite/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2018-12-07T18:54:05Z","updated_at":"2019-07-13T16:39:47Z","closed_at":"2019-07-13T16:39:47Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Right now we can find the backend via DNS, but the port is required to be the same for all the backends.\r\n\r\nWith docker, we start to get more and more backends with dynamic ports and to keep using static ports we need some \"load-balancers\". It would be great if we could remove those and allow varnish to find the backends AND ports using DNS SRV entries. \r\nSRV DNS entries give us not only the host/IP for the service, but also the correct port for it.\r\nConsul service discovery do this automatically and gives great flexibility to deploy and manage services\r\n\r\nExample:\r\n$ host -t SRV consul.service.consul.internal.\r\nconsul.service.consul.internal has SRV record 1 2 8300 consul-a01.node.interxion-fra6.consul.internal.\r\nconsul.service.consul.internal has SRV record 1 3 8301 consul-b01.node.interxion-fra6.consul.internal.\r\nconsul.service.consul.internal has SRV record 2 1 8302 consul-a02.node.interxion-fra6.consul.internal.\r\n\r\n\r\nA varnish backend \"consul\" would setup 3 backends for each DNS:PORT\r\n\r\nBonus:\r\nSRV could also later use the priority (1, 1, 2 above) and then weight value (2,3 for priority 1 group, 1 for priority 2 group) to balance the load between nodes \r\n\r\nyes, i know that SRV is not as simple as simple A/CNAME DNS, but they are way more flexible and in a long run they can help a lot","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/42/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/42/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/43","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/43/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/43/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/43/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/43","id":388822767,"node_id":"MDU6SXNzdWUzODg4MjI3Njc=","number":43,"title":"Usage clarification","user":{"login":"absolutejam","id":6817942,"node_id":"MDQ6VXNlcjY4MTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/6817942?v=4","gravatar_id":"","url":"https://api.github.com/users/absolutejam","html_url":"https://github.com/absolutejam","followers_url":"https://api.github.com/users/absolutejam/followers","following_url":"https://api.github.com/users/absolutejam/following{/other_user}","gists_url":"https://api.github.com/users/absolutejam/gists{/gist_id}","starred_url":"https://api.github.com/users/absolutejam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/absolutejam/subscriptions","organizations_url":"https://api.github.com/users/absolutejam/orgs","repos_url":"https://api.github.com/users/absolutejam/repos","events_url":"https://api.github.com/users/absolutejam/events{/privacy}","received_events_url":"https://api.github.com/users/absolutejam/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804427,"node_id":"MDU6TGFiZWw0NDM4MDQ0Mjc=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/question","name":"question","color":"cc317c","default":true,"description":null}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2018-12-07T21:36:53Z","updated_at":"2018-12-10T13:54:13Z","closed_at":"2018-12-10T13:07:49Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hey!\r\n\r\nFirst of all, I want to apologise for posting this as I think it may be a bit outside the realm of what you expect in an issue, but I was hoping you could help clarify usage of the this director. Secondly, thanks for providing this, as all of my searches for similar functionality have been dead ends (Varnish 3, varnish-plus). I'm pretty new to Varnish as a whole, and looking to use it in a dynamic Kubernetes environment.\r\n\r\nBasically, I'm just trying to understand at what I need to facilitate the usage of this director and the limitations. As an overview, my current setup that I'm toying with is a layer of Varnish servers using the shard director to load-balance caching, and a backend 'content' layer (Nginx) for the actual content to be cached.\r\n\r\nFrom my understanding of the man page..\r\n - I set up the director in `sub vcl_init`\r\n - Then in `sub vcl_recv` I basically add any kind of routing logic (eg. based on `req.http.host`) *nothing out of the ordinary so far*\r\n - And then ultimately define `set req.backend_hint = content.backend(\"mybackend\");` which declares my (dns)resolved backend.\r\n\r\nDoes this mean that I cannot now leverage a load-balanced director (as the dynamic director must resolve a hostname), and in turn must use another load-balancing service for my content nodes (ideally. with a hostname that can be resolved by this director). This obviously contrasts from the current setup of my director declaring all 4 or so backends and load-balancing, vs. the dynamic director only being able to target a single, unless there's something like DNS RR in place, which would mean another service for my setup.\r\n\r\nThanks for your time!","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/43/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/43/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/44","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/44/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/44/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/44/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/44","id":395324483,"node_id":"MDU6SXNzdWUzOTUzMjQ0ODM=","number":44,"title":"Tests failing on Varnish 6.0.2","user":{"login":"philipseidel","id":2425213,"node_id":"MDQ6VXNlcjI0MjUyMTM=","avatar_url":"https://avatars.githubusercontent.com/u/2425213?v=4","gravatar_id":"","url":"https://api.github.com/users/philipseidel","html_url":"https://github.com/philipseidel","followers_url":"https://api.github.com/users/philipseidel/followers","following_url":"https://api.github.com/users/philipseidel/following{/other_user}","gists_url":"https://api.github.com/users/philipseidel/gists{/gist_id}","starred_url":"https://api.github.com/users/philipseidel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/philipseidel/subscriptions","organizations_url":"https://api.github.com/users/philipseidel/orgs","repos_url":"https://api.github.com/users/philipseidel/repos","events_url":"https://api.github.com/users/philipseidel/events{/privacy}","received_events_url":"https://api.github.com/users/philipseidel/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false},"assignees":[{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false}],"milestone":null,"comments":4,"created_at":"2019-01-02T17:44:19Z","updated_at":"2019-01-03T15:26:27Z","closed_at":"2019-01-03T15:26:27Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"I am trying to build the latest `libvmod-dynamic` module based on varnish 6.0.2 and tests 03 and 13 are failing. I am building from c48be899f1f9078b67daf406ba3188fa4ca1a5bd on the 6.0 branch.\r\n```\r\n# varnishd -V\r\nvarnishd (varnish-6.0.2 revision 0458b54db26cfbea79af45ca5c4767c7c2925a91)\r\nCopyright (c) 2006 Verdens Gang AS\r\nCopyright (c) 2006-2018 Varnish Software AS\r\n```\r\n[test-suite.log](https://github.com/nigoroll/libvmod-dynamic/files/2721431/test-suite.log)\r\n","closed_by":{"login":"slimhazard","id":6084911,"node_id":"MDQ6VXNlcjYwODQ5MTE=","avatar_url":"https://avatars.githubusercontent.com/u/6084911?v=4","gravatar_id":"","url":"https://api.github.com/users/slimhazard","html_url":"https://github.com/slimhazard","followers_url":"https://api.github.com/users/slimhazard/followers","following_url":"https://api.github.com/users/slimhazard/following{/other_user}","gists_url":"https://api.github.com/users/slimhazard/gists{/gist_id}","starred_url":"https://api.github.com/users/slimhazard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slimhazard/subscriptions","organizations_url":"https://api.github.com/users/slimhazard/orgs","repos_url":"https://api.github.com/users/slimhazard/repos","events_url":"https://api.github.com/users/slimhazard/events{/privacy}","received_events_url":"https://api.github.com/users/slimhazard/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/44/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/44/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/45","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/45/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/45/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/45/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/45","id":395938107,"node_id":"MDU6SXNzdWUzOTU5MzgxMDc=","number":45,"title":"Worker crashing when calling std.healthy on dynamic director","user":{"login":"b3k","id":903674,"node_id":"MDQ6VXNlcjkwMzY3NA==","avatar_url":"https://avatars.githubusercontent.com/u/903674?v=4","gravatar_id":"","url":"https://api.github.com/users/b3k","html_url":"https://github.com/b3k","followers_url":"https://api.github.com/users/b3k/followers","following_url":"https://api.github.com/users/b3k/following{/other_user}","gists_url":"https://api.github.com/users/b3k/gists{/gist_id}","starred_url":"https://api.github.com/users/b3k/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/b3k/subscriptions","organizations_url":"https://api.github.com/users/b3k/orgs","repos_url":"https://api.github.com/users/b3k/repos","events_url":"https://api.github.com/users/b3k/events{/privacy}","received_events_url":"https://api.github.com/users/b3k/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"assignees":[{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false}],"milestone":null,"comments":2,"created_at":"2019-01-04T14:09:35Z","updated_at":"2019-03-22T10:23:43Z","closed_at":"2019-03-22T10:23:43Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Hi,\r\n\r\nWe have problems with crashing worker, it works fine until cache is fresh, when it's stale then crash occures, looks like the problem is in vcl_hit():\r\n\r\n```vcl\r\nsub vcl_hit {\r\n if (obj.ttl >= 0s) {\r\n # If object is fresh everything works\r\n return (deliver);\r\n }\r\n # if object is not fresh it crash here:\r\n if (std.healthy(req.backend_hint)) {\r\n if (obj.ttl + 10s > 0s) {\r\n return (deliver);\r\n } else {\r\n return(miss);\r\n }\r\n } else {\r\n if (obj.ttl + obj.grace > 0s) {\r\n return (deliver);\r\n } else {\r\n return (miss);\r\n }\r\n }\r\n}\r\n```\r\n\r\npanic.show dump:\r\n```\r\nPanic at: Fri, 04 Jan 2019 13:55:23 GMT [301/1873]\r\nWrong turn at cache/cache_director.c:284: \r\nWrong admin health \r\nversion = varnish-6.0.2 revision 0458b54db26cfbea79af45ca5c4767c7c2925a91, vrt api = 7.0\r\nident = Linux,4.14.56+,x86_64,-junix,-smalloc,-sdefault,-hcritbit,epoll \r\nnow = 6044301.424466 (mono), 1546610123.991261 (real) \r\nBacktrace: \r\n 0x5555b6827e77: /usr/sbin/varnishd(+0x4be77) [0x5555b6827e77] \r\n 0x5555b688f9d0: /usr/sbin/varnishd(VAS_Fail+0x40) [0x5555b688f9d0] \r\n 0x5555b680d790: /usr/sbin/varnishd(VRT_Healthy+0) [0x5555b680d790] \r\n 0x5555b680d7c4: /usr/sbin/varnishd(VRT_Healthy+0x34) [0x5555b680d7c4] \r\n 0x7f1e2fc4dc47: vcl_new.1546610095.661100/vgc.so(VGC_function_vcl_hit+0x87) [0x7f1e2fc4dc47]\r\n 0x5555b683a505: /usr/sbin/varnishd(+0x5e505) [0x5555b683a505] \r\n 0x5555b683c4cd: /usr/sbin/varnishd(VCL_hit_method+0x5d) [0x5555b683c4cd] \r\n 0x5555b682be4e: /usr/sbin/varnishd(+0x4fe4e) [0x5555b682be4e] \r\n 0x5555b682d119: /usr/sbin/varnishd(CNT_Request+0xde9) [0x5555b682d119] \r\n 0x5555b68526fa: /usr/sbin/varnishd(+0x766fa) [0x5555b68526fa] \r\nthread = (cache-worker) \r\nthr.req = 0x7f1e2f23e020 { \r\n vxid = 27, transport = HTTP/1 { \r\n state = HTTP1::Proc \r\n } \r\n step = R_STP_LOOKUP, \r\n req_body = R_BODY_NONE,\r\n restarts = 0, esi_level = 0,\r\n sp = 0x7f1e2f097420 {\r\n fd = 21, vxid = 26,\r\n t_open = 1546610123.988345,\r\n t_idle = 1546610123.988345,\r\n ws = 0x7f1e2f097460 {\r\n id = \\\"ses\\\",\r\n {s, f, r, e} = {0x7f1e2f097498, +96, (nil), +352},\r\n },\r\n transport = HTTP/1 {\r\n state = HTTP1::Proc\r\n }\r\n client = 10.114.108.15 19332 0.0.0.0:80,\r\n },\r\n worker = 0x7f1e33978de0 {\r\n ws = 0x7f1e33978e88 {\r\n id = \\\"wrk\\\",\r\n {s, f, r, e} = {0x7f1e339783e0, +0, (nil), +2040},\r\n }, [259/1873]\r\n VCL::method = inside HIT,\r\n VCL::return = 0x0,\r\n VCL::methods = {RECV, HASH, HIT},\r\n },\r\n ws = 0x7f1e2f23e170 {\r\n id = \\\"req\\\",\r\n {s, f, r, e} = {0x7f1e2f2400a8, +53552, (nil), +57168},\r\n },\r\n http_conn = 0x7f1e2f240048 {\r\n fd = 21 (@0x7f1e2f097444),\r\n doclose = NULL,\r\n ws = 0x7f1e2f23e170 {\r\n [Already dumped, see above]\r\n },\r\n {rxbuf_b, rxbuf_e} = {0x7f1e2f2400a8, 0x7f1e2f2414fb},\r\n {pipeline_b, pipeline_e} = {(nil), (nil)},\r\n content_length = -1,\r\n body_status = none,\r\n first_byte_timeout = 0.000000,\r\n between_bytes_timeout = 0.000000,\r\n },\r\n...\r\n```","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/45/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/45/timeline","performed_via_github_app":null,"state_reason":"completed"},{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/46","repository_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic","labels_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/46/labels{/name}","comments_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/46/comments","events_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/46/events","html_url":"https://github.com/nigoroll/libvmod-dynamic/issues/46","id":423910933,"node_id":"MDU6SXNzdWU0MjM5MTA5MzM=","number":46,"title":"Sometimes vmod_dynamic stops refreshing DNS","user":{"login":"garadox","id":466469,"node_id":"MDQ6VXNlcjQ2NjQ2OQ==","avatar_url":"https://avatars.githubusercontent.com/u/466469?v=4","gravatar_id":"","url":"https://api.github.com/users/garadox","html_url":"https://github.com/garadox","followers_url":"https://api.github.com/users/garadox/followers","following_url":"https://api.github.com/users/garadox/following{/other_user}","gists_url":"https://api.github.com/users/garadox/gists{/gist_id}","starred_url":"https://api.github.com/users/garadox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garadox/subscriptions","organizations_url":"https://api.github.com/users/garadox/orgs","repos_url":"https://api.github.com/users/garadox/repos","events_url":"https://api.github.com/users/garadox/events{/privacy}","received_events_url":"https://api.github.com/users/garadox/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":443804426,"node_id":"MDU6TGFiZWw0NDM4MDQ0MjY=","url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/labels/invalid","name":"invalid","color":"e6e6e6","default":true,"description":null}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":10,"created_at":"2019-03-21T19:46:46Z","updated_at":"2019-03-29T15:19:53Z","closed_at":"2019-03-29T15:19:07Z","author_association":"NONE","active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Even using `varnishlog -g raw -q '* ~ vmod-dynamic'` to watch logs of the DNS refresh occurring, I haven't managed to isolate a repeatable scenario where DNS stops being refreshed.\r\n\r\nWe have docker containers running centos 7 and varnish 4.1.8, and over time some of those containers will stop outputting logs for vmod-dynamic and the backend list will become stale. Eventually if undetected, the backend list has no healthy entries and varnish starts returning 503's.\r\n\r\nWe have found that killing the varnish child process or using varnishadm to reload the existing vcl is enough to fix the dns lookup and everything is good again.\r\n\r\nOne thing I will call out is that our DNS ttl is set to 10 seconds, as we're running in kubernetes and pods can go away pretty quickly.\r\n\r\nExample VCL:\r\n\r\n```\r\nvcl 4.0;\r\n\r\n import std;\r\n import directors;\r\n import saintmode;\r\n import dynamic;\r\n import xkey;\r\n import statsd;\r\n import timers;\r\n import vsthrottle;\r\n import header;\r\n\r\n # Default backend definition.\r\n backend default {\r\n .host = \"0.0.0.0\";\r\n .port = \"80\";\r\n }\r\n\r\n probe default_probe {\r\n .url = \"/test\";\r\n .interval = 4s;\r\n .timeout = 1s;\r\n .window = 3;\r\n .threshold = 2;\r\n .initial = 2;\r\n }\r\n\r\n sub vcl_init {\r\n new default_dir = dynamic.director(\r\n port = \"5050\",\r\n probe = default_probe,\r\n ttl = 10s);\r\n\r\n statsd.server( \"127.0.0.1\", \"8126\" );\r\n }\r\n\r\n \r\n sub vcl_recv {\r\n if ( req.method == \"GET\" || req.method == \"HEAD\" ) {\r\n return(hash);\r\n }\r\n }\r\n\r\n sub vcl_deliver {\r\n if (obj.hits > 0) {\r\n set resp.http.X-CACHE = \"hit\";\r\n } else {\r\n set resp.http.X-CACHE = \"miss\";\r\n }\r\n return (deliver);\r\n }\r\n\r\n sub vcl_backend_response {\r\n set beresp.ttl = 2s;\r\n set beresp.grace = 20s;\r\n set beresp.keep = 2s;\r\n if ( beresp.status == 200 || beresp.status == 400 || beresp.status == 404 ) {\r\n # if s-maxage is not set then set some defaults\r\n set beresp.ttl = 120s;\r\n set beresp.grace = 2m;\r\n set beresp.keep = 0s;\r\n }\r\n }\r\n if (beresp.http.content-type ~ \"(text|json|xml|javascript)\" ) {\r\n set beresp.do_gzip = true;\r\n }\r\n }\r\n\r\n sub vcl_backend_fetch {\r\n set bereq.backend = default_dir.backend(\"example-service\");\r\n\r\n return (fetch);\r\n }\r\n\r\n sub vcl_backend_error {\r\n set beresp.http.Content-Type = \"text/html; charset=utf-8\";\r\n set beresp.http.Retry-After = \"5\";\r\n synthetic( {\"\r\n \r\n \r\n \"} + beresp.status + \" \" + beresp.reason + {\"\r\n \r\n \r\n

Error \"} + beresp.status + \" \" + beresp.reason + {\"

\r\n

\"} + beresp.reason + {\"

\r\n

Redsky TX:

\r\n

X-REQUEST-ID: \"} + bereq.http.X-REQUEST-ID + {\"

\r\n
\r\n

Redsky

\r\n \r\n \r\n \"} );\r\n return (deliver);\r\n }\r\n\r\n```","closed_by":{"login":"nigoroll","id":1528104,"node_id":"MDQ6VXNlcjE1MjgxMDQ=","avatar_url":"https://avatars.githubusercontent.com/u/1528104?v=4","gravatar_id":"","url":"https://api.github.com/users/nigoroll","html_url":"https://github.com/nigoroll","followers_url":"https://api.github.com/users/nigoroll/followers","following_url":"https://api.github.com/users/nigoroll/following{/other_user}","gists_url":"https://api.github.com/users/nigoroll/gists{/gist_id}","starred_url":"https://api.github.com/users/nigoroll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigoroll/subscriptions","organizations_url":"https://api.github.com/users/nigoroll/orgs","repos_url":"https://api.github.com/users/nigoroll/repos","events_url":"https://api.github.com/users/nigoroll/events{/privacy}","received_events_url":"https://api.github.com/users/nigoroll/received_events","type":"User","user_view_type":"public","site_admin":false},"reactions":{"url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/46/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nigoroll/libvmod-dynamic/issues/46/timeline","performed_via_github_app":null,"state_reason":"completed"}] \ No newline at end of file