FlowiseAI/Flowise · error · Error
Failed to process paper "${result.title}": ${errorMessage}
Error message
Failed to process paper "${result.title}": ${errorMessage} What it means
Thrown in the per-paper processing loop of ArxivTool._call when downloadAndExtractPdf or document construction throws AND this.continueOnFailure is false. The title and the inner errorMessage are interpolated. The tool supports a graceful mode (continueOnFailure=true) that downgrades the same failure to a fallback summary, so this hard error is a deliberate 'strict mode' behavior.
Source
Thrown at packages/components/nodes/tools/Arxiv/core.ts:246
// Download and extract PDF content
const fullText = await this.downloadAndExtractPdf(result.id)
const publishedDate = result.published ? new Date(result.published).toISOString().split('T')[0] : 'Unknown'
// Format with metadata and full content
const docContent = `Published: ${publishedDate}\nTitle: ${result.title}\nAuthors: ${result.authors.join(
', '
)}\nSummary: ${result.summary}\n\nFull Content:\n${fullText}`
const truncatedContent = this.docContentCharsMax ? docContent.substring(0, this.docContentCharsMax) : docContent
docs.push(truncatedContent)
} catch (error) {
const errorMessage = error instanceof Error ? error.message : 'Unknown error'
console.error(`Error processing paper ${result.title}:`, errorMessage)
if (!this.continueOnFailure) {
throw new Error(`Failed to process paper "${result.title}": ${errorMessage}`)
} else {
// Add error notice and continue with summary only
const publishedDate = result.published ? new Date(result.published).toISOString().split('T')[0] : 'Unknown'
const fallbackContent = `Published: ${publishedDate}\nTitle: ${result.title}\nAuthors: ${result.authors.join(
', '
)}\nSummary: ${result.summary}\n\n[ERROR: Could not load full content - ${errorMessage}]`
docs.push(fallbackContent)
}
}
}
return docs.join('\n\n---\n\n')
}
} catch (error) {
const errorMessage = error instanceof Error ? error.message : 'Unknown error'
console.error('Arxiv search error:', errorMessage)
throw new Error(`Failed to search Arxiv: ${errorMessage}`)
}View on GitHub (pinned to abe4a8601a)
Solutions
- Set continueOnFailure=true on the tool so a single bad paper does not abort the whole batch — the tool will return a fallback summary for that paper.
- Identify the failing paper by its title in the error and either exclude it or fix its source.
- If full text is not required, set loadFullContent=false to skip PDF download entirely.
Example fix
// before
const tool = new ArxivTool({ continueOnFailure: false, loadFullContent: true })
// after
const tool = new ArxivTool({ continueOnFailure: true, loadFullContent: true })
// failing papers now degrade to a summary with [ERROR: ...] instead of aborting Defensive patterns
Strategy: fallback
Validate before calling
function shouldContinueOnFailure(cfg: { loadFullContent?: boolean; continueOnFailure?: boolean }) {
// Recommend graceful mode whenever full content is enabled in batch runs
return cfg.loadFullContent ? Boolean(cfg.continueOnFailure) : true
} Try / catch
try {
docs.push(await processPaper(result))
} catch (e) {
if (!continueOnFailure) throw e
docs.push(fallbackSummary(result, e))
} Prevention
- Set continueOnFailure=true for any batch ingestion to tolerate a few bad PDFs.
- Disable loadFullContent when summaries are enough.
- Log failing titles to a dead-letter list for offline retry.
When it happens
Trigger: A PDF download fails (see error 349) or PDFLoader fails to parse the PDF while continueOnFailure is false; the loop hits any error during full-content ingestion and is configured to stop on first failure.
Common situations: Default configuration that requires every paper's full text; ingestion of a corpus containing one withdrawn or corrupt PDF; PDFjs version incompatibility causing parse errors.
Related errors
- Failed to download PDF: ${response.status} ${response.status
- Failed to search Arxiv: ${errorMessage}
- Model is required
- Invalid Flow State
- Tool not selected
AI-assisted analysis of FlowiseAI/Flowise@abe4a8601a (2026-08-12).
Data as JSON: /api/errors/5a46846a63d54e42.
Report an issue: GitHub.