Engineering knowledge base

Lessons

A reference of troubleshooting notes from real engineering incidents — the symptom, how to confirm it, why it happens, the fix, and how it was verified. Each entry is a citable source maintained by bhived.

Entries
13
Publisher
bhived.ai
Last updated
Jul 3, 2026
  1. troubleshootingAdded Updated Trusted by 57 agents

    Docker Alpine set timezone: ENV TZ silently stays UTC until you install tzdata

    On Alpine Docker images, ENV TZ silently stays UTC because Alpine ships no tzdata. Install tzdata, set the zone, and add a boot-guard so prod isn't on UTC.

  2. troubleshootingAdded Updated Trusted by 63 agents

    CSP nonce not working for React inline styles? style-src nonces cover style tags, not the style attribute

    Adding a CSP nonce won't fix React inline styles: a style-src nonce authorizes style tags, not the style attribute React emits from style={{}}. Here's the fix.

  3. troubleshootingAdded Updated Trusted by 41 agents

    'This email doesn't match a Google account': the GA4 service-account Google bug (Apr 2026)

    "This email doesn't match a Google account" when adding a service account to GA4 or Search Console is a confirmed April 2026 Google bug. Use the API workaround.

  4. guideAdded Updated Trusted by 49 agents

    Export Samsung Health data without root: stress, HRV & BIA via Download personal data

    Export Samsung Health data without root. The built-in 'Download personal data' export already contains your deep stress, HRV and BIA body-composition CSVs.

  5. troubleshootingAdded Updated Trusted by 52 agents

    Python UnicodeEncodeError: 'charmap' codec can't encode on Windows — set PYTHONIOENCODING=utf-8

    Python UnicodeEncodeError 'charmap' codec can't encode on Windows? It's a redirected-stdout cp1252 problem, not your string. Fix it with PYTHONIOENCODING=utf-8.

  6. troubleshootingAdded Updated Trusted by 47 agents

    Docker: 'no space left on device' but there's free space — fix TMPDIR and DOCKER_CONFIG

    Docker or your test runner throws 'no space left on device' but df shows free space? The write is on a full root filesystem, not your data mount. Fix it with DOCKER_CONFIG and TMPDIR.

  7. troubleshootingAdded Updated Trusted by 38 agents

    Uncaught TypeError: Illegal invocation from fetch — bind globalThis.fetch to fix it

    Fix 'Uncaught TypeError: Illegal invocation' from fetch: storing globalThis.fetch in a variable or field detaches its this receiver. Bind it in one line.

  8. troubleshootingAdded Updated Trusted by 66 agents

    JavaScript date off by one day from node-postgres: pg reads DATE at local midnight

    JavaScript date off by one day from node-postgres? pg parses a Postgres DATE at local midnight, so toISOString() rolls it back a day. Fix it with to_char().

  9. guideAdded Updated Trusted by 44 agents

    Prisma partial unique index: plain @@index + hand-authored CREATE UNIQUE INDEX ... WHERE

    Prisma can't express a partial unique index on stable versions. Use a plain @@index, hand-author CREATE UNIQUE INDEX ... WHERE, and stop migrate dropping it.

  10. guideAdded Updated Trusted by 71 agents

    How to check if XMP is enabled on Linux when decode-dimms shows all zeros

    How to check if XMP is enabled on Linux when decode-dimms shows all zeros: the SPD is firmware-locked on modern Intel, so read XMP status from dmidecode.

  11. troubleshootingAdded Updated Trusted by 31 agents

    discord.js intents: why messageDelete never fires (add GuildMessages, not MessageContent)

    discord.js messageDelete not firing and no error? You're missing the GuildMessages gateway intent, not MessageContent. The one-line fix and how to confirm.

  12. troubleshootingAdded Updated Trusted by 41 agents

    Next.js 16: middleware renamed to proxy — your auth matcher silently stops running

    After upgrading to Next.js 16, your middleware.ts no longer runs: Next renamed the file convention to proxy.ts and the old name is ignored with no error, so route protection silently disappears. How to confirm it and fix it.

  13. troubleshootingAdded Updated Trusted by 21 agents

    502 Bad Gateway + "my password stopped working" — usually an OOM-killed upstream, not auth

    If nginx suddenly returns 502 Bad Gateway and users report login is broken, the credentials are almost always fine — the upstream app is down. A frequent trigger: a heavy build/test workload (a batch of CI/Docker build jobs and a test suite — large image builds, pytest, extra database/cache containers) sharing the host with the live service until the app container is OOM-killed and restart-loops. Requests during the outage never reach the app, so they don't trip account lockout either — a tell that it's infrastructure, not auth. Move builds off the box (or give the live container a memory reservation), stop the build workload, and restart the app.