VICIdial Error: Report Timeout — Cause & Fix

Error Summary

Error Message

Report Timeout

Severity

Warning

Component

Database

What Causes This Error

A VICIdial report is timing out before completing. Reports that query large datasets (call logs, agent performance, or list status) can exceed MySQL or PHP execution time limits. Caused by missing database indexes, slow MySQL configuration, report date range too large, or server resource exhaustion during peak usage.

How to Fix It

  1. 1
    Narrow the report date range to reduce query scope
  2. 2
    Check MySQL slow query log: sudo tail -50 /var/log/mysql/mysql-slow.log
  3. 3
    Verify MySQL indexes exist on vicidial_log: SHOW INDEX FROM vicidial_log
  4. 4
    Add missing index if needed: CREATE INDEX idx_call_date ON vicidial_log (call_date, campaign_id)
  5. 5
    Increase PHP max_execution_time in php.ini: max_execution_time = 120
  6. 6
    Increase MySQL wait_timeout: SET GLOBAL wait_timeout = 120
  7. 7
    Run resource-intensive reports during off-peak hours
  8. 8
    Check server memory and CPU during report execution: top

How to Prevent It

Schedule large reports for off-peak hours (overnight). Maintain MySQL indexes — check quarterly. Implement report archiving for historical data to keep active tables lean. Monitor query performance after VICIdial upgrades which sometimes add unindexed columns.

Warning Time Synchronization Error Web Critical Database Connection Lost Database Critical VICIdial Process Not Running Web

Still Stuck?

ViciStack's free 30-day support plan includes unlimited live VICIdial troubleshooting. If you can't resolve this error with the steps above, our engineers will connect to your system and fix it directly — no support tickets, no hourly billing.

Get Free VICIdial Support →

Frequently Asked Questions

What causes the VICIdial "Report Timeout" error?
A VICIdial report is timing out before completing. Reports that query large datasets (call logs, agent performance, or list status) can exceed MySQL or PHP execution time limits. Caused by missing database indexes, slow MySQL configuration, report date range too large, or server resource exhaustion during peak usage.
How do I fix the VICIdial "Report Timeout" error?
Narrow the report date range to reduce query scope Then: Check MySQL slow query log: sudo tail -50 /var/log/mysql/mysql-slow.log Then: Verify MySQL indexes exist on vicidial_log: SHOW INDEX FROM vicidial_log Then: Add missing index if needed: CREATE INDEX idx_call_date ON vicidial_log (call_date, campaign_id) Then: Increase PHP max_execution_time in php.ini: max_execution_time = 120 Then: Increase MySQL wait_timeout: SET GLOBAL wait_timeout = 120 Then: Run resource-intensive reports during off-peak hours Then: Check server memory and CPU during report execution: top
How can I prevent the "Report Timeout" error in VICIdial?
Schedule large reports for off-peak hours (overnight). Maintain MySQL indexes — check quarterly. Implement report archiving for historical data to keep active tables lean. Monitor query performance after VICIdial upgrades which sometimes add unindexed columns.