toeverything/AFFiNE · error · Error
Failed to render page
Error message
Failed to render page
What it means
A render-result guard in the PDF worker's render(): after renderPage resolved, the produced bitmap was falsy, meaning the native render call returned no usable output for the requested page. It fires when a page render silently produces nothing (e.g. invalid page number or render backend failure) rather than throwing natively — the worker converts that into this explicit error before transferring to the main thread.
Source
Thrown at packages/frontend/core/src/modules/pdf/renderer/pdf.worker.ts:121
open({ data }: { data: ArrayBuffer }) {
this.binary$.next(new Uint8Array(data));
return this.docInfo$;
}
render(opts: RenderPageOpts) {
return this.doc$.pipe(
combineLatestWith(this.viewer$),
switchMap(([doc, viewer]) => {
if (!doc) {
throw new Error('Document not opened');
}
return from(this.renderPage(viewer, doc, opts));
}),
map(bitmap => {
if (!bitmap) {
throw new Error('Failed to render page');
}
return transfer({ ...opts, bitmap }, [bitmap]);
})
);
}
async renderPage(viewer: Viewer, doc: Document, opts: RenderPageOpts) {
const page = doc.page(opts.pageNum);
if (!page) return;
const scale = opts.scale ?? 1;
const width = Math.ceil(opts.width * scale);
const height = Math.ceil(opts.height * scale);
const bitmap = viewer.createBitmap(width, height, 0);
bitmap.fill(0, 0, width, height);
page.render(View on GitHub (pinned to b4c8548c09)
Solutions
- Retry rendering; check the PDF is not corrupt.
- Reduce render scale if the canvas allocation fails.
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown in the PDF worker render pipeline when renderPage produces no bitmap for the requested page, so nothing can be transferred back to the main thread.
Common situations: A PDF page fails to rasterize, often due to rendering limits or a problematic page. Try zooming out, reloading, or re-uploading the PDF.
AI-assisted analysis of toeverything/AFFiNE@b4c8548c09 (2026-08-18).
Data as JSON: /api/errors/4d6753b41c04ed01.
Report an issue: GitHub.