From 032ceb62c13547d4e5aec609ea92f0b7d94d4bde Mon Sep 17 00:00:00 2001 From: Steve Chavez Date: Mon, 13 Jul 2026 15:45:54 -0500 Subject: [PATCH] fix: admin server dies silently by upgrading warp * fix: admin server dies silently by upgrading warp Uses warp main branch https://github.com/yesodweb/wai/commit/ad041216b643f69a2a9c87cbf4c2988aa4633dd5 since there's no release yet. * amend: use warp 3.4.14 for 3522917 Use a release instead of a git commit * amend: update cabal index so cabal build succeeds * chore: pin jose-jwt to build on CI --- CHANGELOG.md | 4 +++ cabal.project.freeze | 2 +- nix/overlays/haskell-packages.nix | 55 +++++++++++++++++++++++++++++++ postgrest.cabal | 8 ++--- stack.yaml | 8 ++++- stack.yaml.lock | 50 +++++++++++++++++++++++++--- test/memory/memory-tests.sh | 6 ++-- 7 files changed, 120 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 19c2b3321..295f802af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. From versio ## Unreleased +### Fixed + +- Fix admin server dying silently by @Vlix, @mkleczek, @steve-chavez in #5012 + ## [14.14] - 2026-06-29 ### Fixed diff --git a/cabal.project.freeze b/cabal.project.freeze index 60d041545..3a6585aae 100644 --- a/cabal.project.freeze +++ b/cabal.project.freeze @@ -1 +1 @@ -index-state: hackage.haskell.org 2025-10-29T04:02:18Z +index-state: hackage.haskell.org 2026-07-11T17:34:10Z diff --git a/nix/overlays/haskell-packages.nix b/nix/overlays/haskell-packages.nix index 36feba764..87baa1279 100644 --- a/nix/overlays/haskell-packages.nix +++ b/nix/overlays/haskell-packages.nix @@ -70,6 +70,61 @@ let } { }; + http2 = + prev.callHackageDirect + { + pkg = "http2"; + ver = "5.4.0"; + sha256 = "sha256-PeEWVd61bQ8G7LvfLeXklzXqNJFaAjE2ecRMWJZESPE="; + } + { }; + + http-semantics = + prev.callHackageDirect + { + pkg = "http-semantics"; + ver = "0.4.0"; + sha256 = "sha256-rh0z51EKvsu5rQd5n2z3fSRjjEObouNZSBPO9NFYOF0="; + } + { }; + + jose-jwt = + prev.callHackageDirect + { + pkg = "jose-jwt"; + ver = "0.9.6"; + sha256 = "sha256-FhBz5wzyNrDvmjHWOeNAHuVMyJUVSlm+DeQQuITSjaI="; + } + { }; + + time-manager = + prev.callHackageDirect + { + pkg = "time-manager"; + ver = "0.2.4"; + sha256 = "sha256-sAt/331YLQ2IU3z90aKYSq1nxoazv87irsuJp7ZG3pw="; + } + { }; + + network-run = + prev.callHackageDirect + { + pkg = "network-run"; + ver = "0.5.0"; + sha256 = "sha256-vbXh+CzxDsGApjqHxCYf/ijpZtUCApFbkcF5gyN0THU="; + } + { }; + + warp = + lib.dontCheck + (prev.callHackageDirect + { + pkg = "warp"; + ver = "3.4.14"; + sha256 = "sha256-RnoOUlC6dOP0sK/tYAJCX1oLzVFG1GILUY+yVbmvW8Y="; + } + { }); + # Downgrade hasql and related packages while we are still on GHC 9.4 for the static build. hasql = lib.dontCheck (lib.doJailbreak prev.hasql_1_6_4_4); hasql-dynamic-statements = lib.dontCheck prev.hasql-dynamic-statements_0_3_1_5; diff --git a/postgrest.cabal b/postgrest.cabal index ef42bcff6..968b6d469 100644 --- a/postgrest.cabal +++ b/postgrest.cabal @@ -120,7 +120,7 @@ library , http-client >= 0.7.19 && < 0.8 , http-types >= 0.12.2 && < 0.13 , insert-ordered-containers >= 0.2.2 && < 0.3 - , jose-jwt >= 0.9.6 && < 0.11 + , jose-jwt >= 0.9.6 && < 0.10 , lens >= 4.14 && < 5.4 , lens-aeson >= 1.0.1 && < 1.3 , mtl >= 2.2.2 && < 2.4 @@ -152,7 +152,7 @@ library -- for unix sockets; this is tested in test/io/test_io.py. See -- https://github.com/kazu-yamamoto/logger/commit/3a71ca70afdbb93d4ecf0083eeba1fbbbcab3fc3 , wai-logger >= 2.4.0 - , warp >= 3.3.19 && < 3.5 + , warp >= 3.4.14 && < 3.5 , stm >= 2.5 && < 3 , stm-hamt >= 1.2 && < 2 , focus >= 1.0 && < 2 @@ -273,7 +273,7 @@ test-suite spec , hspec-wai >= 0.10 && < 0.12 , hspec-wai-json >= 0.10 && < 0.12 , http-types >= 0.12.3 && < 0.13 - , jose-jwt >= 0.9.6 && < 0.11 + , jose-jwt >= 0.9.6 && < 0.10 , lens >= 4.14 && < 5.4 , lens-aeson >= 1.0.1 && < 1.3 , monad-control >= 1.0.1 && < 1.1 @@ -316,7 +316,7 @@ test-suite observability , hspec-wai >= 0.10 && < 0.12 , hspec-wai-json >= 0.10 && < 0.12 , http-types >= 0.12.3 && < 0.13 - , jose-jwt >= 0.9.6 && < 0.11 + , jose-jwt >= 0.9.6 && < 0.10 , postgrest , prometheus-client >= 1.1.1 && < 1.2.0 , protolude >= 0.3.1 && < 0.4 diff --git a/stack.yaml b/stack.yaml index f6db01a22..85b4be31c 100644 --- a/stack.yaml +++ b/stack.yaml @@ -9,9 +9,15 @@ nix: pure: false extra-deps: + - auto-update-0.2.6 - configurator-pg-0.2.11 - fuzzyset-0.2.4 - hasql-pool-1.0.1 - - jose-jwt-0.10.0 + - http-semantics-0.4.0 + - http2-5.4.0 + - jose-jwt-0.9.6 + - network-control-0.1.7 - postgresql-libpq-0.10.1.0 - streaming-commons-0.2.3.1 + - time-manager-0.3.2 + - warp-3.4.14 diff --git a/stack.yaml.lock b/stack.yaml.lock index b3d989f1d..69285e99e 100644 --- a/stack.yaml.lock +++ b/stack.yaml.lock @@ -4,6 +4,13 @@ # https://docs.haskellstack.org/en/stable/topics/lock_files packages: +- completed: + hackage: auto-update-0.2.6@sha256:4adf0d523c8b8fbd53f32b79f115d5f304da7e1a2b35b66625497add8e9abbb5,1670 + pantry-tree: + sha256: ce58248c2d6d83cf0dfcfe0aec20c238b279e70926f49108a38fe6917dc0c532 + size: 1105 + original: + hackage: auto-update-0.2.6 - completed: hackage: configurator-pg-0.2.11@sha256:de0c56386591e85159436b0af04a8f15a4f4e156354e99709676c2c2ee959505,2850 pantry-tree: @@ -26,12 +33,33 @@ packages: original: hackage: hasql-pool-1.0.1 - completed: - hackage: jose-jwt-0.10.0@sha256:6ed175a01c721e317ceea15eb251a81de145c03711a977517935633a5cdec1d4,3546 + hackage: http-semantics-0.4.0@sha256:da8a98d542b2032cc12590847179577b0208a52bb3b9aa9a07c08d27d2a1714c,1513 pantry-tree: - sha256: 58649e68e2d1adb47d8ed8741bd27ac23a2f19e3ee62bc28a68ac8642b3e0858 - size: 1231 + sha256: d0e08875907c0fbff71813747fd93ce7bfd4e3d4a6b979df5c137430a9130f1d + size: 1188 original: - hackage: jose-jwt-0.10.0 + hackage: http-semantics-0.4.0 +- completed: + hackage: http2-5.4.0@sha256:1e9f6f5f32bfb3176136f35e041aa279bc456e81d4674ddaaeaa7c0d091be0c7,10624 + pantry-tree: + sha256: 5c89815392d85d854efe75cf2279f58ff9f5e4b8fc1f83c55de93191edd128da + size: 44864 + original: + hackage: http2-5.4.0 +- completed: + hackage: jose-jwt-0.9.6@sha256:cc234805da58fc75bc4c11af3db2dabf920f2c7d5d8b9a2b73bdb7c024b8d087,3557 + pantry-tree: + sha256: 0bcaa403f0d6f3f7ad993d4d9e5d8f3dfd7e88c4e5e64b0219d7a1a03cb31e31 + size: 1288 + original: + hackage: jose-jwt-0.9.6 +- completed: + hackage: network-control-0.1.7@sha256:bfe3318c5cf6573dd585b126ec1197eae291a9a6df178006bf19da5c8aa14d68,1255 + pantry-tree: + sha256: 6deb24c404f6e592be1f391f04c97f66169f97cacb0dd37403a6aa1e781846ef + size: 619 + original: + hackage: network-control-0.1.7 - completed: hackage: postgresql-libpq-0.10.1.0@sha256:6b580c9d5068e78eecc13e655b2885c8e79cdacfca513c5d1e5a6b9dc61d9758,3166 pantry-tree: @@ -46,6 +74,20 @@ packages: size: 2374 original: hackage: streaming-commons-0.2.3.1 +- completed: + hackage: time-manager-0.3.2@sha256:74c16026c8592802d8a1cd9510c0223dad247b2a9ca791fa0153d243b56cc09e,1290 + pantry-tree: + sha256: f282e2630df833732bde29944d4b0ac0d86399bcce80c1a3d523c2a5651b9e49 + size: 461 + original: + hackage: time-manager-0.3.2 +- completed: + hackage: warp-3.4.14@sha256:66b82af637f79ae4d39f7373b39491067f6d059b2581cb4caf18760f1d82e686,10066 + pantry-tree: + sha256: 6db2e6d37acebd24d4e73d506481a4a2e0c53b35099756131a3852c8c8b84b45 + size: 4175 + original: + hackage: warp-3.4.14 snapshots: - completed: sha256: 238fa745b64f91184f9aa518fe04bdde6552533d169b0da5256670df83a0f1a9 diff --git a/test/memory/memory-tests.sh b/test/memory/memory-tests.sh index ffb6fd629..8d3288797 100755 --- a/test/memory/memory-tests.sh +++ b/test/memory/memory-tests.sh @@ -110,9 +110,9 @@ jsonKeyTest "10M" "POST" "/rpc/leak?columns=blob" "32M" jsonKeyTest "10M" "POST" "/leak?columns=blob" "32M" jsonKeyTest "10M" "PATCH" "/leak?id=eq.1&columns=blob" "50M" -jsonKeyTest "50M" "POST" "/rpc/leak?columns=blob" "73M" -jsonKeyTest "50M" "POST" "/leak?columns=blob" "73M" -jsonKeyTest "50M" "PATCH" "/leak?id=eq.1&columns=blob" "73M" +jsonKeyTest "50M" "POST" "/rpc/leak?columns=blob" "77M" +jsonKeyTest "50M" "POST" "/leak?columns=blob" "77M" +jsonKeyTest "50M" "PATCH" "/leak?id=eq.1&columns=blob" "77M" postJsonArrayTest "1000" "/perf_articles?columns=id,body" "21M" postJsonArrayTest "10000" "/perf_articles?columns=id,body" "22M"