Persistent SIGSEGV

https://www.ladderly.io/ in prod and preview environments is erroring with 500 internal server error,
Vercel Logs mention SIGSEGV and otherwise I do not see useful logs

i cannot reproduce the error locally. it began after merging and deploying this PR:

note that I tried rolling back to various older stable builds and it didn’t help. once SIGSEGV was observed, it has persisted. I tried redeploying with a fresh cache to no avail.

it’s not out of memory

I noticed some 200s in logs from user agent vercel-screenshot/1.0 so I tracked down the build with 200s and tried to promote to production (dpl_G14VEV5rnmjz5ScHeGECaM8Kyfg6)

When I try to promote it, it rebuilds instead of promoting the stable deployment literal and the rebuild contains the same SIGSEGV issue.

$ npx vercel alias set dpl_G14VEV5rnmjz5ScHeGECaM8Kyfg6 ladderly.io
Vercel CLI 41.1.4

Assigning alias ladderly.io to deployment ladderly-3-bcuyo4k9u-john-vandiviers-projects.vercel.app
Success! https://ladderly.io now points to https://ladderly-3-bcuyo4k9u-john-vandiviers-projects.vercel.app [2s]


this alias reassignment worked functionally as a rollback so at least i can go to sleep now and try to figure out what’s going on tmmrw

I asked ChatGPT:

I aliased my deployment successfully as a pseudo rollback. Will Vercel expire this old deployment over time, or is it safe as long as assigned?

answer below (good news) and link here:
Your aliased deployment will remain active indefinitely as long as it is assigned to a domain (ladderly.io). However, there are a few things to consider:


:white_check_mark: Vercel Keeps Aliased Deployments Active

  • Vercel does not automatically delete a deployment that is actively assigned to an alias.
  • As long as ladderly.io is pointed to your deployment (dpl_G14VEV5rnmjz5ScHeGECaM8Kyfg6), Vercel treats it as a production deployment and keeps it live.

There’s some sort of dep change that obtained without respect to my package-lock.json

I can repro the remote issue locally by rm -rf node_modules and npm i && npm rebuild then build is fine but when I npm run start and view the UI, I see the 500 client side issue

I don’t see a local SIGSEGV on Windows, but I do see a Prisma err

ehrm nvm npx prisma generate resolves the error and everything is fine locally. i’m on a stable rollback branch though let me try to go to tip of tree, and I’ll also try incorporating the above more explicitly into vercel build


vercel build settings currently

local build config is being ignored as i try to build and deploy to preview from local:

npm run vercel:local-build

ladderly-io@0.1.2 vercel:local-build
vercel build --local-config vercel.json

Vercel CLI 41.1.4
? No Project Settings found locally. Run vercel pull for retrieving them? no
Canceled. No Project Settings retrieved.
johnvandivier@Johns-MacBook-Air ladderly-io % npm run vercel:local-build

ladderly-io@0.1.2 vercel:local-build
vercel build --local-config vercel.json

Vercel CLI 41.1.4
? No Project Settings found locally. Run vercel pull for retrieving them? yes

Downloading preview Environment Variables for john-vandiviers-projects/ladderly-3
:white_check_mark: Created .vercel/.env.preview.local file [134ms]

Downloading project settings
:white_check_mark: Downloaded project settings to ~/workspace/ladderly-3/ladderly-io/.vercel/project.json [0ms]
WARN! Due to builds existing in your configuration file, the Build and Development Settings defined in your Project Settings will not apply. Learn More: Error List
:white_check_mark: Build Completed in .vercel/output [10ms]
johnvandivier@Johns-MacBook-Air ladderly-io % npm run vercel:deploy-preview-from-local

ladderly-io@0.1.2 vercel:deploy-preview-from-local
vercel deploy --prebuilt --local-config ./vercel.json

Vercel CLI 41.1.4
Error: The provided path “~/workspace/ladderly-3/ladderly-io/ladderly-io” does not exist. To change your Project Settings, go to Login – Vercel


local vercel.json:

{
  "version": 2,
  "builds": [
    {
      "src": "package.json",
      "use": "@vercel/next"
    }
  ],
  "buildCommand": "npm run build",
  "installCommand": "npm run vercel:install",
  "outputDirectory": ".vercel/output",
  "rootDirectory": "../banana",
  "env": {
    "NODE_ENV__COMMENT": "NODE_ENV=production doesn't auto-deploy to prod env",
    "NODE_ENV": "production"
  }
}

from package.json btw…


    "vercel:install": "npm install && npm rebuild argon2 --build-from-source && npm run postinstall",
    "vercel:local-build": "vercel build --local-config vercel.json",
    "vercel:deploy-preview-from-local": "vercel deploy --prebuilt --local-config vercel.json",
    "postinstall": "prisma generate",

trying a node force downgrade at chore: use sharp by Vandivier · Pull Request #406 · Vandivier/ladderly-3 · GitHub

(although, this app has worked for months on node22 and node-argon2 hasn’t changed recently)

⨯ Error: No native build was found for platform=linux arch=x64 runtime=node abi=115 uv=1 libc=glibc node=20.18.0
loaded from: /var/task/ladderly-io/node_modules/argon2

at load.resolve.load.path (/var/task/ladderly-io/node_modules/node-gyp-build/node-gyp-build.js:60:9)
at load (/var/task/ladderly-io/node_modules/node-gyp-build/node-gyp-build.js:22:30)
at Object.<anonymous> (/var/task/ladderly-io/node_modules/argon2/argon2.cjs:7:32)
at Module._compile (node:internal/modules/cjs/loader:1469:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1548:10)
at Module.load (node:internal/modules/cjs/loader:1288:32)
at Module._load (node:internal/modules/cjs/loader:1104:12)
at /opt/rust/nodejs.js:2:12071
at Function.ur (/opt/rust/nodejs.js:2:12445)
at e.<computed>.Se._load (/opt/rust/nodejs.js:2:12041) {

page: ‘/’
}

Did something change vercel side so that argon2 can’t work even building from binary now…?

force downgrading to "argon2": "0.31.2", fixed things

1 Like

Hey, John! Appreciate you taking the time to share your debugging steps and what worked for you. If you have any specific feedback, let us know! I’d love to share this with the team internally.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.