Foundry376/Mailspring · error

Thumbnail generation webcontents crashed (reason: ${details.

Error message

Thumbnail generation webcontents crashed (reason: ${details.reason}).

What it means

Warning from the quickpreview capture window's render-process-gone handler: the hidden BrowserWindow used to render attachment thumbnails crashed (reason from Electron, e.g. OOM or GPU crash). The in-flight thumbnail is abandoned; queued items may stall since the capture never completes.

Source

Thrown at app/src/quickpreview/index.ts:350

      preload: path.join(filesRoot, 'preload.js'),
      nodeIntegration: false,
      contextIsolation: true,
      partition: QuickPreviewPartition,
    },
  });

  // Apply Content Security Policy to the quickpreview partition only
  win.webContents.session.webRequest.onHeadersReceived((details, callback) => {
    callback({
      responseHeaders: {
        ...details.responseHeaders,
        'Content-Security-Policy': [QuickPreviewCSP],
      },
    });
  });

  win.webContents.on('render-process-gone', (event, details) => {
    console.warn(`Thumbnail generation webcontents crashed (reason: ${details.reason}).`);
    if (captureWindow === win) captureWindow = null;
    win.destroy();
  });
  win.once('closed', () => {
    if (captureWindow === win) captureWindow = null;
  });
  return win;
}

async function _generateNextCrossplatformPreview() {
  if (captureQueue.length === 0) {
    // Don't tear down the window if a generation is already in progress — that
    // invocation will schedule the next call to _generateNextCrossplatformPreview
    // once it finishes, which will then reach this branch and clean up properly.
    if (!captureWindowInUse) {
      if (captureWindow && !captureWindow.isDestroyed()) {
        captureWindow.destroy();
      } else {

View on GitHub (pinned to 648c685d60)

Solutions

  1. Let the queue retry — subsequent previews get a fresh window
  2. Disable GPU acceleration for the capture window if crashes recur (reason 'gpu-process-crashed')
  3. Regenerate the thumbnail on demand when the user re-opens the preview
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at app/src/quickpreview/index.ts:350 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of Foundry376/Mailspring@648c685d60 (2026-09-03). Data as JSON: /api/errors/4764d44efa92712e. Report an issue: GitHub.