Dashboard

⚠️ Error & Missing Content Reports

Monitor system exceptions, external API failures, and missing media resource reports to ensure smooth bot operations.

Total Reports
82
🔴 Pending Issues
79
✅ Resolved
3
# Phone Error Type Report Details Status Created At Actions
1 9979412610 NO_CONTENT_AVAILABLE
Blank Poster 'Diamond Club 2nd Month' (ID: 2) does not have an image file or URL.
Resolved 11 Jun 2026, 12:07 PM
2 917896561921 SYSTEM_ERROR
Exception: database is locked Traceback: Traceback (most recent call last): File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 105, in _execute return self.cursor.execute(sql, params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/backends/sqlite3/base.py", line 354, in execute return super().execute(query, params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ sqlite3.OperationalError: database is locked The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/app/api/webhook_processor.py", line 651, in _worker_logic user_state, _ = UserStateManagement.objects.update_or_create( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/models/manager.py", line 87, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/models/query.py", line 1009, in update_or_create obj.save(using=self.db, update_fields=update_fields) File "/app/core/models.py", line 128, in save super().save(*args, **kwargs) File "/usr/local/lib/python3.12/site-packages/django/db/models/base.py", line 892, in save self.save_base( File "/usr/local/lib/python3.12/site-packages/django/db/models/base.py", line 998, in save_base updated = self._save_table( ^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/models/base.py", line 1130, in _save_table updated = self._do_update( ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/models/base.py", line 1195, in _do_update return filtered._update(values) > 0 ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/models/query.py", line 1278, in _update return query.get_compiler(self.db).execute_sql(CURSOR) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/compiler.py", line 2003, in execute_sql cursor = super().execute_sql(result_type) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/compiler.py", line 1574, in execute_sql cursor.execute(sql, params) File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 79, in execute return self._execute_with_wrappers( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 92, in _execute_with_wrappers return executor(sql, params, many, context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 100, in _execute with self.db.wrap_database_errors: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/utils.py", line 91, in __exit__ raise dj_exc_value.with_traceback(traceback) from exc_value File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 105, in _execute return self.cursor.execute(sql, params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/backends/sqlite3/base.py", line 354, in execute return super().execute(query, params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ django.db.utils.OperationalError: database is locked
Fix: Why Did This Happen? Because SQLite is a file-based database, it locks the entire database file during writes. Since the WABA bot uses custom background threads to handle messages asynchronously (e.g., _worker_logic), multiple concurrent database write operations caused SQLite to lock up. Additionally, because Django does not automatically clean up database connections for custom background threads, dangling open database connections were holding onto locks on the SQLite file indefinitely. How I Fixed It: Dangling Connection Cleanup: Updated the background thread worker logic in api/webhook_processor.py to wrap execution inside a finally block that explicitly closes all open database connections when the thread finishes: python finally: from django.db import connections connections.close_all() Increased SQLite Timeout: Adjusted the configuration in myrecharge/settings.py to raise the SQLite busy timeout to 30 seconds (up from the default of 5 seconds) to allow concurrent threads to wait rather than raising immediate locking errors. Server Restart: Restarted the application service container so the new timeout settings and thread connection cleanups are active.
Resolved 09 Jun 2026, 03:15 PM
3 9979412610 NO_CONTENT_AVAILABLE
No plan rank knowledge material entry found for Rank: SILVER DIRECTOR, Language: ENGLISH.
Fix: PDF ADDED FOR SILVER DIRECTOR
Resolved 09 Jun 2026, 01:03 PM