Action Scheduler async queue crashes on WordPress 5.3 with `wpdb::db_server_info()` error
メンテナーはふだん 1 日以内に返信
@girishpanchal30 がすでに取り組んでいます。
2026年8月12日 から。
評価
この issue はまだ評価されていません。
説明
Summary
Visualizer's background Action Scheduler queue can terminate with an uncaught Call to undefined method wpdb::db_server_info() error during an AJAX request on WordPress 5.3.
Expected behavior: Scheduled actions are claimed and processed without a fatal error on supported WordPress environments.
Actual behavior: The async queue runner reaches the database claim path and throws before processing the batch.
Impact: Automatic background processing is interrupted for the affected site and request.
Customer context
- Product / area: Visualizer background auto-sync / bundled Action Scheduler
- Version: 4.0.7
- Environment: WordPress 5.3.21, PHP 7.4.33
- Integration / third party: Bundled
woocommerce/action-scheduler3.9.3 - Reported error / symptom:
Error: Call to undefined method wpdb::db_server_info()during an AJAX queue-runner request - Impact: 14 telemetry occurrences across one distinct site between 2026-07-31 20:01 UTC and 23:35 UTC.
Reproduction notes
- Install Visualizer
4.0.7on WordPress5.3.21with PHP7.4.33. - Trigger the Action Scheduler async queue runner through its AJAX request path.
- When
ActionScheduler_DBStore::claim_actions()checks database locking support, the reported production run throwsCall to undefined method wpdb::db_server_info().
Reproduction is supported by the production stack trace; no local runtime reproduction was performed because the bundled vendor/ directory is absent from this checkout.
Diagnosis
Conclusion
Production telemetry provides a direct stack trace from Visualizer's bundled Action Scheduler path: ActionScheduler_DBStore::db_supports_skip_locked() throws because it calls wpdb::db_server_info() on WordPress 5.3.21. The Visualizer 4.0.7 release locks Action Scheduler 3.9.3, and an inspected copy of that exact dependency version contains the unconditional call. This is a confirmed compatibility defect in the shipped dependency path, not Themeisle SDK code.
Where this likely occurs
vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php—ActionScheduler_DBStore::db_supports_skip_locked()lines 1038-1042 in the inspected Action Scheduler 3.9.3 copy; it obtains$wpdb->db_version()and then unconditionally calls$wpdb->db_server_info(). Telemetry identifies the equivalent bundled Visualizer file at line 1041.composer.lock— Action Scheduler package record lines 181-221 locks version3.9.3at referencec58cdbab17651303d406cd3b22cf9d75c71c986c;v4.0.7contains the same lock entry.index.php— Visualizer bootstrap lines 148-157 loadsvendor/autoload.phpand the bundled Action Scheduler entry point when present.classes/Visualizer/Plugin.php—Visualizer_Plugin::VERSIONline 31 identifies the checked release as4.0.7.- Git commit
bc14d4b8acebefc167ef51601a4898fb302d0b71introduced the Action Scheduler dependency and bootstrap under “Replace WP-Cron with Action Scheduler for reliable auto-sync”; the telemetry is from the laterv4.0.7tag.
Engineering notes
- The error occurs while
ActionScheduler_DBStore::claim_actions()evaluates whetherSKIP LOCKEDis supported, before the queue batch is processed. - The reported request context is AJAX and the stack continues through
ActionScheduler_AsyncRequest_QueueRunner, matching Visualizer's bundled async dependency loading path. - WordPress core source was not present in the inspected workspace, so the absence of
wpdb::db_server_info()on WordPress 5.3.21 is established by the production exception rather than a local core-source check. - The telemetry names no Themeisle SDK frame and explicitly marks the crash as outside SDK code.
Test coverage status
tests/test-schedule.php covers Visualizer scheduled/background import behavior, including an unauthenticated background invocation, but does not exercise Action Scheduler queue claiming or the db_supports_skip_locked() compatibility branch. No relevant Action Scheduler compatibility coverage was found during inspection.
What to verify or explore next
- Reproduce the async queue-runner request with Visualizer 4.0.7, WordPress 5.3.x, and the bundled dependency.
- Check the Action Scheduler version range supported by Visualizer's released WordPress compatibility policy.
- Run the existing scheduler test suite and a queue-claim integration scenario against WordPress 5.3.x and currently supported WordPress versions.
Unknowns / follow-up
- Telemetry covers one site, so the prevalence across other WordPress 5.3 installations is unknown.
- The customer site's database engine and version were not included in the crash report.
Confidence
Confidence: 98/100
Production telemetry records 14 AJAX crashes in Visualizer 4.0.7 on WordPress 5.3.21, and the release locks the stack frame's Action Scheduler 3.9.3 dependency whose inspected db_supports_skip_locked() implementation directly calls the unavailable wpdb::db_server_info() method.
Crash telemetry
| Occurrences | 14 |
| Distinct sites | 1 |
| First seen | 2026-07-31 20:01 UTC |
| Last seen | 2026-07-31 23:35 UTC |
| Crash location | product:vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php:1041 |
| Request context | ajax |
| Inside Themeisle SDK | no |
| Product versions | 4.0.7 |
| WP versions | 5.3.21 |
| PHP versions | 7.4.33 |
| SDK versions | 3.3.57 |
Source: automated crash report — visualizer, fingerprint 28da1fdfc9908565fa3b3beaadc83288
Generated by bug-report-triage (ID: bug-report-triage_6a6d8b7c4b6548.22981080)
- 主要言語
- PHP
- スター
- 108
- フォーク
- 29
- 平均マージ
- 1日 5時間
- マージ済み PR(30日)
- 8
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Codeinwp/visualizer のほかの issue
-
feature-request-triage
難易度 4/5 3〜5日 初心者へのやさしさ 64/100
Codeinwp/visualizer#1388 ·
メンテナーはふだん 1 日以内に返信
-
`visualizer_schedule_refresh_db` remains missing after Visualizer reactivation対応中かも @Alexia-Soare が 6 日前に担当しました。 オープンbug-report bug-report-triage customer report
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
Codeinwp/visualizer#1384 · コメント 4 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Action Scheduler queue cleanup fatals with "Unidentified action" after concurrent deletion対応中かも @Alexia-Soare が 10 日前に担当しました。 オープンbug-report bug-report-triage
Codeinwp/visualizer#1369 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Add a Default value for font settings再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 25/100
Codeinwp/visualizer#1111 ·
メンテナーはふだん 1 日以内に返信
-
customer report doc-needed new feature
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
Codeinwp/visualizer#1058 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
Codeinwp/visualizer の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
Automattic/static-site-importer#1879 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
521xueweihan/HelloGitHub#3790 ·
-
[Bug] Feed date, title and author too long to fit inside article box on smaller screens, mobileオープンBug (unconfirmed) Good first issue 1️⃣ help wanted UI :art:
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
FreshRSS/FreshRSS#9360 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信