Skip to content

hitting redirect count exceeded fetch error in edge runtime server action #3091

@pieh

Description

@pieh

We are failing this test https://github.com/vercel/next.js/blob/1b5f518a6fbb6f6481f3bfcd31c13d4be072202a/test/e2e/app-dir/server-actions-redirect-middleware-rewrite/server-actions-redirect-middleware-rewrite.test.ts#L21-L32 due to hitting following error in lambda https://github.com/nodejs/undici/blob/89f9a524cf5e811d1b5ada90715224838d9f3794/lib/web/fetch/index.js#L1241-L1244

Note: above cause for error is not quickly apparent as it's hidden, but after adding some extra debug logs to https://github.com/vercel/next.js/blob/1b5f518a6fbb6f6481f3bfcd31c13d4be072202a/packages/next/src/server/web/sandbox/context.ts#L395 (in particular err.cause) the error like like so:

// underlying cause and target of the fetch
Sep 2, 10:13:29 AM: 58f55b68 INFO   cause {
  cause: Error: redirect count exceeded
      at ignore-listed frames,
  input: URL {
    href: 'https://68b6a6f24ffca6449dd6d6c8--pieh-next-minimal-demo.netlify.app/redirect?_rsc',
    origin: 'https://68b6a6f24ffca6449dd6d6c8--pieh-next-minimal-demo.netlify.app',
    protocol: 'https:',
    username: '',
    password: '',
    host: '68b6a6f24ffca6449dd6d6c8--pieh-next-minimal-demo.netlify.app',
    hostname: '68b6a6f24ffca6449dd6d6c8--pieh-next-minimal-demo.netlify.app',
    port: '',
    pathname: '/redirect',
    search: '?_rsc',
    searchParams: URLSearchParams { '_rsc' => '' },
    hash: ''
  },
  init: {
    method: 'GET',
    headers: HeadersList {
      cookies: null,
      [Symbol(headers map)]: [Map],
      [Symbol(headers map sorted)]: [Array]
    },
    next: { internal: 1, fetchType: 'origin', fetchIdx: 1 },
    body: undefined,
    signal: undefined
  }
}
// error below is what normally is logged
Sep 2, 10:13:29 AM: 58f55b68 ERROR  failed to get redirect response Error: fetch failed
    at context.fetch (/var/task/node_modules/next/dist/server/web/sandbox/context.js:321:60)
    at /var/task/.next/server/app/server-action/edge/page.js:17:26528
    at P (/var/task/.next/server/app/server-action/edge/page.js:17:31987)
    at /var/task/.next/server/app/server-action/edge/page.js:17:34344
    at /var/task/.next/server/app/server-action/edge/page.js:14:70255
    at e.with (/var/task/.next/server/app/server-action/edge/page.js:1:105170)
    at i.with (/var/task/.next/server/app/server-action/edge/page.js:1:99417)
    at i.startActiveSpan (/var/task/.next/server/app/server-action/edge/page.js:1:114380)
    at e.startActiveSpan (/var/task/.next/server/app/server-action/edge/page.js:1:114914)
    at /var/task/.next/server/app/server-action/edge/page.js:14:69776 {
  
}

This needs further debugging to understand what exactly is happening

Data

The following is parsed automatically by the Next.js repo e2e test report generator.

test: app-dir - server-actions-redirect-middleware-rewrite.test should redirect correctly in edge runtime with middleware rewrite
reason: hitting redirect count exceeded fetch error in edge runtime server action

Metadata

Metadata

Assignees

No one assigned

    Labels

    Next.js e2e test failureErrors identified through the Next.js repo e2e tests

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions