Windows desktop build intermittently fails with STATUS_DLL_INIT_FAILED (0xC0000142) in parallel vp tasks #47

Description

@eddy-curly

Summary

pnpm dist:desktop:win:x64 intermittently fails on Windows during stage 1 of 5 ("Building desktop/server/web artifacts"). The @t3tools/desktop#build task exits with -1073741502 = 0xC0000142 = STATUS_DLL_INIT_FAILED, which is a Windows process startup failure, not an error raised by our code.

Re-running the identical command with no changes succeeded, so this is a flake rather than a reproducible defect.

Observed

vp run: 0/3 cache hit (0%), 1 failed.
[1] @t3tools/web#build: vp build OK
[2] t3#build: node scripts/cli.ts build OK
[3] @t3tools/desktop#build: node scripts/build-preview-annotation-css.mjs FAILED (exit code: -1073741502)

The web and server bundles both built fine; only the third parallel task died.

Evidence it is environmental, not a code bug

  • node scripts/build-preview-annotation-css.mjs run standalone from apps/desktop exits 0.
  • The script is not new — it predates the current sync (last touched by 2fa37ec1, 3d9e8dea, dd739c88).
  • An immediate retry of the same pnpm dist:desktop:win:x64 completed successfully end-to-end (~18 min) and produced a valid NSIS artifact.
  • 0xC0000142 on Windows typically indicates DLL initialisation failing at process start, commonly under desktop-heap/session resource pressure when several processes are spawned concurrently.

Environment

  • Windows 11 Pro 10.0.26200
  • node 24.15.0, pnpm 11.10.0
  • Three vp build tasks running in parallel, with cache disabled for all three

Why it matters beyond the flake itself

The failure mode is quiet in a way that can cause real damage downstream. A failed build leaves no new artifact in release/. Any tooling that then picks "the newest release/*.exe" silently selects a stale installer from a previous build. Because the fork's package version does not bump between syncs (0.0.31 -> 0.0.31), reinstalling that stale artifact reports the same FileVersion before and after, and is indistinguishable from a successful update unless the file timestamp is checked.

So a transient build flake can turn into a silent downgrade/no-op reinstall that reports success.

Suggested fix

  1. Retry transient process-spawn failures (0xC0000142 and the related 0xC0000005/-1073741819 family) a small number of times before failing the task, or serialise the desktop task rather than running all three concurrently.
  2. Translate these numeric exit codes into a readable diagnostic. exit code: -1073741502 gives no indication that this is a Windows resource condition and not a build error, which sends people debugging the wrong thing.

Test case needed

A regression test cannot reliably reproduce 0xC0000142 itself, so the test should target the contract around it rather than the flake:

  • Build-failure contract: given a stage that exits non-zero, assert build-desktop-artifact.ts produces no artifact in release/ and propagates a non-zero exit — i.e. a failed build can never leave a partially-written or stale-looking artifact behind. This is the behaviour that makes the flake dangerous.
  • Artifact-freshness contract: assert that any consumer selecting an installer refuses one not strictly newer than what is already installed, and verifies success by on-disk timestamp/size change rather than by version string. Simulate with fixtures: stale artifact, equal-timestamp artifact, fresh artifact.
  • Exit-code mapping: unit-test that known Windows fatal status codes map to human-readable messages, so a recurrence is diagnosed from the log rather than from a bare negative integer.

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

      , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
       blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
      }
      } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
      })();
      (function(){
      try {
      var __m = "github.com";
      var __re = new RegExp('^' + "github\\.com" + '
      
      Skip to content

      Windows desktop build intermittently fails with STATUS_DLL_INIT_FAILED (0xC0000142) in parallel vp tasks #47

      Description

      @eddy-curly

      Summary

      pnpm dist:desktop:win:x64 intermittently fails on Windows during stage 1 of 5 ("Building desktop/server/web artifacts"). The @t3tools/desktop#build task exits with -1073741502 = 0xC0000142 = STATUS_DLL_INIT_FAILED, which is a Windows process startup failure, not an error raised by our code.

      Re-running the identical command with no changes succeeded, so this is a flake rather than a reproducible defect.

      Observed

      vp run: 0/3 cache hit (0%), 1 failed.
      [1] @t3tools/web#build: vp build OK
      [2] t3#build: node scripts/cli.ts build OK
      [3] @t3tools/desktop#build: node scripts/build-preview-annotation-css.mjs FAILED (exit code: -1073741502)
      

      The web and server bundles both built fine; only the third parallel task died.

      Evidence it is environmental, not a code bug

      • node scripts/build-preview-annotation-css.mjs run standalone from apps/desktop exits 0.
      • The script is not new — it predates the current sync (last touched by 2fa37ec1, 3d9e8dea, dd739c88).
      • An immediate retry of the same pnpm dist:desktop:win:x64 completed successfully end-to-end (~18 min) and produced a valid NSIS artifact.
      • 0xC0000142 on Windows typically indicates DLL initialisation failing at process start, commonly under desktop-heap/session resource pressure when several processes are spawned concurrently.

      Environment

      • Windows 11 Pro 10.0.26200
      • node 24.15.0, pnpm 11.10.0
      • Three vp build tasks running in parallel, with cache disabled for all three

      Why it matters beyond the flake itself

      The failure mode is quiet in a way that can cause real damage downstream. A failed build leaves no new artifact in release/. Any tooling that then picks "the newest release/*.exe" silently selects a stale installer from a previous build. Because the fork's package version does not bump between syncs (0.0.31 -> 0.0.31), reinstalling that stale artifact reports the same FileVersion before and after, and is indistinguishable from a successful update unless the file timestamp is checked.

      So a transient build flake can turn into a silent downgrade/no-op reinstall that reports success.

      Suggested fix

      1. Retry transient process-spawn failures (0xC0000142 and the related 0xC0000005/-1073741819 family) a small number of times before failing the task, or serialise the desktop task rather than running all three concurrently.
      2. Translate these numeric exit codes into a readable diagnostic. exit code: -1073741502 gives no indication that this is a Windows resource condition and not a build error, which sends people debugging the wrong thing.

      Test case needed

      A regression test cannot reliably reproduce 0xC0000142 itself, so the test should target the contract around it rather than the flake:

      • Build-failure contract: given a stage that exits non-zero, assert build-desktop-artifact.ts produces no artifact in release/ and propagates a non-zero exit — i.e. a failed build can never leave a partially-written or stale-looking artifact behind. This is the behaviour that makes the flake dangerous.
      • Artifact-freshness contract: assert that any consumer selecting an installer refuses one not strictly newer than what is already installed, and verifies success by on-disk timestamp/size change rather than by version string. Simulate with fixtures: stale artifact, equal-timestamp artifact, fresh artifact.
      • Exit-code mapping: unit-test that known Windows fatal status codes map to human-readable messages, so a recurrence is diagnosed from the log rather than from a bare negative integer.

      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

          , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
          Skip to content

          Windows desktop build intermittently fails with STATUS_DLL_INIT_FAILED (0xC0000142) in parallel vp tasks #47

          Description

          @eddy-curly

          Summary

          pnpm dist:desktop:win:x64 intermittently fails on Windows during stage 1 of 5 ("Building desktop/server/web artifacts"). The @t3tools/desktop#build task exits with -1073741502 = 0xC0000142 = STATUS_DLL_INIT_FAILED, which is a Windows process startup failure, not an error raised by our code.

          Re-running the identical command with no changes succeeded, so this is a flake rather than a reproducible defect.

          Observed

          vp run: 0/3 cache hit (0%), 1 failed.
          [1] @t3tools/web#build: vp build OK
          [2] t3#build: node scripts/cli.ts build OK
          [3] @t3tools/desktop#build: node scripts/build-preview-annotation-css.mjs FAILED (exit code: -1073741502)
          

          The web and server bundles both built fine; only the third parallel task died.

          Evidence it is environmental, not a code bug

          • node scripts/build-preview-annotation-css.mjs run standalone from apps/desktop exits 0.
          • The script is not new — it predates the current sync (last touched by 2fa37ec1, 3d9e8dea, dd739c88).
          • An immediate retry of the same pnpm dist:desktop:win:x64 completed successfully end-to-end (~18 min) and produced a valid NSIS artifact.
          • 0xC0000142 on Windows typically indicates DLL initialisation failing at process start, commonly under desktop-heap/session resource pressure when several processes are spawned concurrently.

          Environment

          • Windows 11 Pro 10.0.26200
          • node 24.15.0, pnpm 11.10.0
          • Three vp build tasks running in parallel, with cache disabled for all three

          Why it matters beyond the flake itself

          The failure mode is quiet in a way that can cause real damage downstream. A failed build leaves no new artifact in release/. Any tooling that then picks "the newest release/*.exe" silently selects a stale installer from a previous build. Because the fork's package version does not bump between syncs (0.0.31 -> 0.0.31), reinstalling that stale artifact reports the same FileVersion before and after, and is indistinguishable from a successful update unless the file timestamp is checked.

          So a transient build flake can turn into a silent downgrade/no-op reinstall that reports success.

          Suggested fix

          1. Retry transient process-spawn failures (0xC0000142 and the related 0xC0000005/-1073741819 family) a small number of times before failing the task, or serialise the desktop task rather than running all three concurrently.
          2. Translate these numeric exit codes into a readable diagnostic. exit code: -1073741502 gives no indication that this is a Windows resource condition and not a build error, which sends people debugging the wrong thing.

          Test case needed

          A regression test cannot reliably reproduce 0xC0000142 itself, so the test should target the contract around it rather than the flake:

          • Build-failure contract: given a stage that exits non-zero, assert build-desktop-artifact.ts produces no artifact in release/ and propagates a non-zero exit — i.e. a failed build can never leave a partially-written or stale-looking artifact behind. This is the behaviour that makes the flake dangerous.
          • Artifact-freshness contract: assert that any consumer selecting an installer refuses one not strictly newer than what is already installed, and verifies success by on-disk timestamp/size change rather than by version string. Simulate with fixtures: stale artifact, equal-timestamp artifact, fresh artifact.
          • Exit-code mapping: unit-test that known Windows fatal status codes map to human-readable messages, so a recurrence is diagnosed from the log rather than from a bare negative integer.

          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

              , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
              Skip to content

              Windows desktop build intermittently fails with STATUS_DLL_INIT_FAILED (0xC0000142) in parallel vp tasks #47

              Description

              @eddy-curly

              Summary

              pnpm dist:desktop:win:x64 intermittently fails on Windows during stage 1 of 5 ("Building desktop/server/web artifacts"). The @t3tools/desktop#build task exits with -1073741502 = 0xC0000142 = STATUS_DLL_INIT_FAILED, which is a Windows process startup failure, not an error raised by our code.

              Re-running the identical command with no changes succeeded, so this is a flake rather than a reproducible defect.

              Observed

              vp run: 0/3 cache hit (0%), 1 failed.
              [1] @t3tools/web#build: vp build OK
              [2] t3#build: node scripts/cli.ts build OK
              [3] @t3tools/desktop#build: node scripts/build-preview-annotation-css.mjs FAILED (exit code: -1073741502)
              

              The web and server bundles both built fine; only the third parallel task died.

              Evidence it is environmental, not a code bug

              • node scripts/build-preview-annotation-css.mjs run standalone from apps/desktop exits 0.
              • The script is not new — it predates the current sync (last touched by 2fa37ec1, 3d9e8dea, dd739c88).
              • An immediate retry of the same pnpm dist:desktop:win:x64 completed successfully end-to-end (~18 min) and produced a valid NSIS artifact.
              • 0xC0000142 on Windows typically indicates DLL initialisation failing at process start, commonly under desktop-heap/session resource pressure when several processes are spawned concurrently.

              Environment

              • Windows 11 Pro 10.0.26200
              • node 24.15.0, pnpm 11.10.0
              • Three vp build tasks running in parallel, with cache disabled for all three

              Why it matters beyond the flake itself

              The failure mode is quiet in a way that can cause real damage downstream. A failed build leaves no new artifact in release/. Any tooling that then picks "the newest release/*.exe" silently selects a stale installer from a previous build. Because the fork's package version does not bump between syncs (0.0.31 -> 0.0.31), reinstalling that stale artifact reports the same FileVersion before and after, and is indistinguishable from a successful update unless the file timestamp is checked.

              So a transient build flake can turn into a silent downgrade/no-op reinstall that reports success.

              Suggested fix

              1. Retry transient process-spawn failures (0xC0000142 and the related 0xC0000005/-1073741819 family) a small number of times before failing the task, or serialise the desktop task rather than running all three concurrently.
              2. Translate these numeric exit codes into a readable diagnostic. exit code: -1073741502 gives no indication that this is a Windows resource condition and not a build error, which sends people debugging the wrong thing.

              Test case needed

              A regression test cannot reliably reproduce 0xC0000142 itself, so the test should target the contract around it rather than the flake:

              • Build-failure contract: given a stage that exits non-zero, assert build-desktop-artifact.ts produces no artifact in release/ and propagates a non-zero exit — i.e. a failed build can never leave a partially-written or stale-looking artifact behind. This is the behaviour that makes the flake dangerous.
              • Artifact-freshness contract: assert that any consumer selecting an installer refuses one not strictly newer than what is already installed, and verifies success by on-disk timestamp/size change rather than by version string. Simulate with fixtures: stale artifact, equal-timestamp artifact, fresh artifact.
              • Exit-code mapping: unit-test that known Windows fatal status codes map to human-readable messages, so a recurrence is diagnosed from the log rather than from a bare negative integer.

              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

                  , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
                  Skip to content

                  Windows desktop build intermittently fails with STATUS_DLL_INIT_FAILED (0xC0000142) in parallel vp tasks #47

                  Description

                  @eddy-curly

                  Summary

                  pnpm dist:desktop:win:x64 intermittently fails on Windows during stage 1 of 5 ("Building desktop/server/web artifacts"). The @t3tools/desktop#build task exits with -1073741502 = 0xC0000142 = STATUS_DLL_INIT_FAILED, which is a Windows process startup failure, not an error raised by our code.

                  Re-running the identical command with no changes succeeded, so this is a flake rather than a reproducible defect.

                  Observed

                  vp run: 0/3 cache hit (0%), 1 failed.
                  [1] @t3tools/web#build: vp build OK
                  [2] t3#build: node scripts/cli.ts build OK
                  [3] @t3tools/desktop#build: node scripts/build-preview-annotation-css.mjs FAILED (exit code: -1073741502)
                  

                  The web and server bundles both built fine; only the third parallel task died.

                  Evidence it is environmental, not a code bug

                  • node scripts/build-preview-annotation-css.mjs run standalone from apps/desktop exits 0.
                  • The script is not new — it predates the current sync (last touched by 2fa37ec1, 3d9e8dea, dd739c88).
                  • An immediate retry of the same pnpm dist:desktop:win:x64 completed successfully end-to-end (~18 min) and produced a valid NSIS artifact.
                  • 0xC0000142 on Windows typically indicates DLL initialisation failing at process start, commonly under desktop-heap/session resource pressure when several processes are spawned concurrently.

                  Environment

                  • Windows 11 Pro 10.0.26200
                  • node 24.15.0, pnpm 11.10.0
                  • Three vp build tasks running in parallel, with cache disabled for all three

                  Why it matters beyond the flake itself

                  The failure mode is quiet in a way that can cause real damage downstream. A failed build leaves no new artifact in release/. Any tooling that then picks "the newest release/*.exe" silently selects a stale installer from a previous build. Because the fork's package version does not bump between syncs (0.0.31 -> 0.0.31), reinstalling that stale artifact reports the same FileVersion before and after, and is indistinguishable from a successful update unless the file timestamp is checked.

                  So a transient build flake can turn into a silent downgrade/no-op reinstall that reports success.

                  Suggested fix

                  1. Retry transient process-spawn failures (0xC0000142 and the related 0xC0000005/-1073741819 family) a small number of times before failing the task, or serialise the desktop task rather than running all three concurrently.
                  2. Translate these numeric exit codes into a readable diagnostic. exit code: -1073741502 gives no indication that this is a Windows resource condition and not a build error, which sends people debugging the wrong thing.

                  Test case needed

                  A regression test cannot reliably reproduce 0xC0000142 itself, so the test should target the contract around it rather than the flake:

                  • Build-failure contract: given a stage that exits non-zero, assert build-desktop-artifact.ts produces no artifact in release/ and propagates a non-zero exit — i.e. a failed build can never leave a partially-written or stale-looking artifact behind. This is the behaviour that makes the flake dangerous.
                  • Artifact-freshness contract: assert that any consumer selecting an installer refuses one not strictly newer than what is already installed, and verifies success by on-disk timestamp/size change rather than by version string. Simulate with fixtures: stale artifact, equal-timestamp artifact, fresh artifact.
                  • Exit-code mapping: unit-test that known Windows fatal status codes map to human-readable messages, so a recurrence is diagnosed from the log rather than from a bare negative integer.

                  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

                      , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
                      Skip to content

                      Windows desktop build intermittently fails with STATUS_DLL_INIT_FAILED (0xC0000142) in parallel vp tasks #47

                      Description

                      @eddy-curly

                      Summary

                      pnpm dist:desktop:win:x64 intermittently fails on Windows during stage 1 of 5 ("Building desktop/server/web artifacts"). The @t3tools/desktop#build task exits with -1073741502 = 0xC0000142 = STATUS_DLL_INIT_FAILED, which is a Windows process startup failure, not an error raised by our code.

                      Re-running the identical command with no changes succeeded, so this is a flake rather than a reproducible defect.

                      Observed

                      vp run: 0/3 cache hit (0%), 1 failed.
                      [1] @t3tools/web#build: vp build OK
                      [2] t3#build: node scripts/cli.ts build OK
                      [3] @t3tools/desktop#build: node scripts/build-preview-annotation-css.mjs FAILED (exit code: -1073741502)
                      

                      The web and server bundles both built fine; only the third parallel task died.

                      Evidence it is environmental, not a code bug

                      • node scripts/build-preview-annotation-css.mjs run standalone from apps/desktop exits 0.
                      • The script is not new — it predates the current sync (last touched by 2fa37ec1, 3d9e8dea, dd739c88).
                      • An immediate retry of the same pnpm dist:desktop:win:x64 completed successfully end-to-end (~18 min) and produced a valid NSIS artifact.
                      • 0xC0000142 on Windows typically indicates DLL initialisation failing at process start, commonly under desktop-heap/session resource pressure when several processes are spawned concurrently.

                      Environment

                      • Windows 11 Pro 10.0.26200
                      • node 24.15.0, pnpm 11.10.0
                      • Three vp build tasks running in parallel, with cache disabled for all three

                      Why it matters beyond the flake itself

                      The failure mode is quiet in a way that can cause real damage downstream. A failed build leaves no new artifact in release/. Any tooling that then picks "the newest release/*.exe" silently selects a stale installer from a previous build. Because the fork's package version does not bump between syncs (0.0.31 -> 0.0.31), reinstalling that stale artifact reports the same FileVersion before and after, and is indistinguishable from a successful update unless the file timestamp is checked.

                      So a transient build flake can turn into a silent downgrade/no-op reinstall that reports success.

                      Suggested fix

                      1. Retry transient process-spawn failures (0xC0000142 and the related 0xC0000005/-1073741819 family) a small number of times before failing the task, or serialise the desktop task rather than running all three concurrently.
                      2. Translate these numeric exit codes into a readable diagnostic. exit code: -1073741502 gives no indication that this is a Windows resource condition and not a build error, which sends people debugging the wrong thing.

                      Test case needed

                      A regression test cannot reliably reproduce 0xC0000142 itself, so the test should target the contract around it rather than the flake:

                      • Build-failure contract: given a stage that exits non-zero, assert build-desktop-artifact.ts produces no artifact in release/ and propagates a non-zero exit — i.e. a failed build can never leave a partially-written or stale-looking artifact behind. This is the behaviour that makes the flake dangerous.
                      • Artifact-freshness contract: assert that any consumer selecting an installer refuses one not strictly newer than what is already installed, and verifies success by on-disk timestamp/size change rather than by version string. Simulate with fixtures: stale artifact, equal-timestamp artifact, fresh artifact.
                      • Exit-code mapping: unit-test that known Windows fatal status codes map to human-readable messages, so a recurrence is diagnosed from the log rather than from a bare negative integer.

                      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

                          , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
                          Skip to content

                          Windows desktop build intermittently fails with STATUS_DLL_INIT_FAILED (0xC0000142) in parallel vp tasks #47

                          Description

                          @eddy-curly

                          Summary

                          pnpm dist:desktop:win:x64 intermittently fails on Windows during stage 1 of 5 ("Building desktop/server/web artifacts"). The @t3tools/desktop#build task exits with -1073741502 = 0xC0000142 = STATUS_DLL_INIT_FAILED, which is a Windows process startup failure, not an error raised by our code.

                          Re-running the identical command with no changes succeeded, so this is a flake rather than a reproducible defect.

                          Observed

                          vp run: 0/3 cache hit (0%), 1 failed.
                          [1] @t3tools/web#build: vp build OK
                          [2] t3#build: node scripts/cli.ts build OK
                          [3] @t3tools/desktop#build: node scripts/build-preview-annotation-css.mjs FAILED (exit code: -1073741502)
                          

                          The web and server bundles both built fine; only the third parallel task died.

                          Evidence it is environmental, not a code bug

                          • node scripts/build-preview-annotation-css.mjs run standalone from apps/desktop exits 0.
                          • The script is not new — it predates the current sync (last touched by 2fa37ec1, 3d9e8dea, dd739c88).
                          • An immediate retry of the same pnpm dist:desktop:win:x64 completed successfully end-to-end (~18 min) and produced a valid NSIS artifact.
                          • 0xC0000142 on Windows typically indicates DLL initialisation failing at process start, commonly under desktop-heap/session resource pressure when several processes are spawned concurrently.

                          Environment

                          • Windows 11 Pro 10.0.26200
                          • node 24.15.0, pnpm 11.10.0
                          • Three vp build tasks running in parallel, with cache disabled for all three

                          Why it matters beyond the flake itself

                          The failure mode is quiet in a way that can cause real damage downstream. A failed build leaves no new artifact in release/. Any tooling that then picks "the newest release/*.exe" silently selects a stale installer from a previous build. Because the fork's package version does not bump between syncs (0.0.31 -> 0.0.31), reinstalling that stale artifact reports the same FileVersion before and after, and is indistinguishable from a successful update unless the file timestamp is checked.

                          So a transient build flake can turn into a silent downgrade/no-op reinstall that reports success.

                          Suggested fix

                          1. Retry transient process-spawn failures (0xC0000142 and the related 0xC0000005/-1073741819 family) a small number of times before failing the task, or serialise the desktop task rather than running all three concurrently.
                          2. Translate these numeric exit codes into a readable diagnostic. exit code: -1073741502 gives no indication that this is a Windows resource condition and not a build error, which sends people debugging the wrong thing.

                          Test case needed

                          A regression test cannot reliably reproduce 0xC0000142 itself, so the test should target the contract around it rather than the flake:

                          • Build-failure contract: given a stage that exits non-zero, assert build-desktop-artifact.ts produces no artifact in release/ and propagates a non-zero exit — i.e. a failed build can never leave a partially-written or stale-looking artifact behind. This is the behaviour that makes the flake dangerous.
                          • Artifact-freshness contract: assert that any consumer selecting an installer refuses one not strictly newer than what is already installed, and verifies success by on-disk timestamp/size change rather than by version string. Simulate with fixtures: stale artifact, equal-timestamp artifact, fresh artifact.
                          • Exit-code mapping: unit-test that known Windows fatal status codes map to human-readable messages, so a recurrence is diagnosed from the log rather than from a bare negative integer.

                          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

                              , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
                              Skip to content

                              Windows desktop build intermittently fails with STATUS_DLL_INIT_FAILED (0xC0000142) in parallel vp tasks #47

                              Description

                              @eddy-curly

                              Summary

                              pnpm dist:desktop:win:x64 intermittently fails on Windows during stage 1 of 5 ("Building desktop/server/web artifacts"). The @t3tools/desktop#build task exits with -1073741502 = 0xC0000142 = STATUS_DLL_INIT_FAILED, which is a Windows process startup failure, not an error raised by our code.

                              Re-running the identical command with no changes succeeded, so this is a flake rather than a reproducible defect.

                              Observed

                              vp run: 0/3 cache hit (0%), 1 failed.
                              [1] @t3tools/web#build: vp build OK
                              [2] t3#build: node scripts/cli.ts build OK
                              [3] @t3tools/desktop#build: node scripts/build-preview-annotation-css.mjs FAILED (exit code: -1073741502)
                              

                              The web and server bundles both built fine; only the third parallel task died.

                              Evidence it is environmental, not a code bug

                              • node scripts/build-preview-annotation-css.mjs run standalone from apps/desktop exits 0.
                              • The script is not new — it predates the current sync (last touched by 2fa37ec1, 3d9e8dea, dd739c88).
                              • An immediate retry of the same pnpm dist:desktop:win:x64 completed successfully end-to-end (~18 min) and produced a valid NSIS artifact.
                              • 0xC0000142 on Windows typically indicates DLL initialisation failing at process start, commonly under desktop-heap/session resource pressure when several processes are spawned concurrently.

                              Environment

                              • Windows 11 Pro 10.0.26200
                              • node 24.15.0, pnpm 11.10.0
                              • Three vp build tasks running in parallel, with cache disabled for all three

                              Why it matters beyond the flake itself

                              The failure mode is quiet in a way that can cause real damage downstream. A failed build leaves no new artifact in release/. Any tooling that then picks "the newest release/*.exe" silently selects a stale installer from a previous build. Because the fork's package version does not bump between syncs (0.0.31 -> 0.0.31), reinstalling that stale artifact reports the same FileVersion before and after, and is indistinguishable from a successful update unless the file timestamp is checked.

                              So a transient build flake can turn into a silent downgrade/no-op reinstall that reports success.

                              Suggested fix

                              1. Retry transient process-spawn failures (0xC0000142 and the related 0xC0000005/-1073741819 family) a small number of times before failing the task, or serialise the desktop task rather than running all three concurrently.
                              2. Translate these numeric exit codes into a readable diagnostic. exit code: -1073741502 gives no indication that this is a Windows resource condition and not a build error, which sends people debugging the wrong thing.

                              Test case needed

                              A regression test cannot reliably reproduce 0xC0000142 itself, so the test should target the contract around it rather than the flake:

                              • Build-failure contract: given a stage that exits non-zero, assert build-desktop-artifact.ts produces no artifact in release/ and propagates a non-zero exit — i.e. a failed build can never leave a partially-written or stale-looking artifact behind. This is the behaviour that makes the flake dangerous.
                              • Artifact-freshness contract: assert that any consumer selecting an installer refuses one not strictly newer than what is already installed, and verifies success by on-disk timestamp/size change rather than by version string. Simulate with fixtures: stale artifact, equal-timestamp artifact, fresh artifact.
                              • Exit-code mapping: unit-test that known Windows fatal status codes map to human-readable messages, so a recurrence is diagnosed from the log rather than from a bare negative integer.

                              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