Skip to content

Start tunnel in nexjts instrumentation.ts will encounter a RangeError: Maximum call stack size exceeded #30

@shiny

Description

@shiny

I placed the example code into instrumentation.ts

import { Tunnel } from "cloudflared";

console.log("Cloudflared Tunnel Example.");
main();

async function main() {
  // run: cloudflared tunnel --hello-world
  const tunnel = Tunnel.quick();

  // show the url
  const url = new Promise((resolve) => tunnel.once("url", resolve));
  console.log("LINK:", await url);

  // wait for connection to be established
  const conn = new Promise((resolve) => tunnel.once("connected", resolve));
  console.log("CONN:", await conn);

  // stop the tunnel after 15 seconds
  setTimeout(tunnel.stop, 15_000);

  tunnel.on("exit", (code) => {
    console.log("tunnel process exited with code", code);
  });
}

Encounter an error below

$ next dev --turbopack
▲ Next.js 15.0.3 (Turbopack)

✓ Starting...
✓ Compiled in 283ms
Cloudflared Tunnel Example.
RangeError: Maximum call stack size exceeded
at Tunnel.emit (node_modules/cloudflared/lib/tunnel.js:112:17)
at Tunnel. (node_modules/cloudflared/lib/tunnel.js:78:11)
at Tunnel.emit (node_modules/cloudflared/lib/tunnel.js:112:17)
at Tunnel. (node_modules/cloudflared/lib/tunnel.js:78:11)
at Tunnel.emit (node_modules/cloudflared/lib/tunnel.js:112:17)
at Tunnel. (node_modules/cloudflared/lib/tunnel.js:78:11)
at Tunnel.emit (node_modules/cloudflared/lib/tunnel.js:112:17)
at Tunnel. (node_modules/cloudflared/lib/tunnel.js:78:11)
at Tunnel.emit (node_modules/cloudflared/lib/tunnel.js:112:17)
at Tunnel. (node_modules/cloudflared/lib/tunnel.js:78:11)
at Tunnel.emit (node_modules/cloudflared/lib/tunnel.js:112:17)
at Tunnel. (node_modules/cloudflared/lib/tunnel.js:78:11)
at Tunnel.emit (node_modules/cloudflared/lib/tunnel.js:112:17)
at Tunnel. (node_modules/cloudflared/lib/tunnel.js:78:11)
at Tunnel.emit (node_modules/cloudflared/lib/tunnel.js:112:17)
at Tunnel. (node_modules/cloudflared/lib/tunnel.js:78:11)
at Tunnel.emit (node_modules/cloudflared/lib/tunnel.js:112:17)
at Tunnel. (node_modules/cloudflared/lib/tunnel.js:78:11)
at Tunnel.emit (node_modules/cloudflared/lib/tunnel.js:112:17)
at Tunnel. (node_modules/cloudflared/lib/tunnel.js:78:11)
at Tunnel.emit (node_modules/cloudflared/lib/tunnel.js:112:17)
at Tunnel. (node_modules/cloudflared/lib/tunnel.js:78:11)
at Tunnel.emit (node_modules/cloudflared/lib/tunnel.js:112:17)
at Tunnel. (node_modules/cloudflared/lib/tunnel.js:78:11)
at Tunnel.emit (node_modules/cloudflared/lib/tunnel.js:112:17)
at Tunnel. (node_modules/cloudflared/lib/tunnel.js:78:11)
at Tunnel.emit (node_modules/cloudflared/lib/tunnel.js:112:17)
at Tunnel. (node_modules/cloudflared/lib/tunnel.js:78:11)
at Tunnel.emit (node_modules/cloudflared/lib/tunnel.js:112:17)
at Tunnel. (node_modules/cloudflared/lib/tunnel.js:78:11)
at Tunnel.emit (node_modules/cloudflared/lib/tunnel.js:112:17)
at Tunnel. (node_modules/cloudflared/lib/tunnel.js:78:11)
at Tunnel.emit (node_modules/cloudflared/lib/tunnel.js:112:17)
110 | }
111 | emit(event, ...args) {

112 | return super.emit(event, ...args);
| ^
113 | }
114 | /**
115 | * Create a quick tunnel without a Cloudflare account.
✓ Ready in 989ms
^C

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions