Manual imports crash when PHP set_time_limit() is disabled
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 76/100
Direzione di ricerca
Inizia in includes/admin/feedzy-rss-feeds-import.php, in Feedzy_Rss_Feeds_Import::run_job_logic() intorno alla riga 1952, dove il percorso di importazione manuale chiama set_time_limit() prima di recuperare il feed. Leggi tests/test-import.php ed esegui phpunit tests/test-import.php in un ambiente di test WordPress; l’issue indica che i test non sono stati eseguiti perché PHP non era disponibile localmente. Il lavoro è completato quando un’importazione manuale non si interrompe più se la funzione è disabilitata e la suite di test esistente viene superata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
Feedzy 5.2.15 recorded two manual-import crashes with Call to undefined function set_time_limit(). An import on a host that restricts execution-time changes is expected to proceed within the host's existing limits rather than terminate while attempting to extend them. Instead, the import request aborts before feed items are processed, preventing that run from importing posts.
Customer context
- Product / area: Feedzy RSS Feeds, manual feed-to-post import.
- Version: 5.2.15.
- Environment: WordPress and PHP versions not provided. PHP function restrictions are inferred from the undefined native-function error; server configuration was not supplied.
- Integration / third party: Not provided.
- Reported error / symptom: Two captured occurrences of
Error: Call to undefined function set_time_limit(). - Impact: The affected import requests terminated. The deactivation submission contained no written feedback and does not establish that the crash caused deactivation.
Reproduction notes
- In a test WordPress installation, activate Feedzy 5.2.15 and configure a valid feed-to-post import.
- Run PHP 8.x with
set_time_limitlisted indisable_functions. - Trigger the import's manual run.
- Check for
Call to undefined function set_time_limit()and an aborted import request.
These are source-derived reproduction steps, not a completed local reproduction. Supplied telemetry records two failures through run_now() → run_job() → run_job_logic(); the original job settings were not provided.
Diagnosis
Conclusion
The affected release contains an unconditional call to an unavailable PHP native function on the exact manual-import path identified by telemetry. This confirms a host-compatibility defect rather than merely inferring one from uninstall feedback. The host's precise restriction mechanism remains unknown. The call is unchanged in v5.2.14 and v5.2.15, so there is no evidence of a new 5.2.15 regression.
Where this likely occurs
includes/admin/feedzy-rss-feeds-import.php, lines 1277–1295 —Feedzy_Rss_Feeds_Import::ajax()dispatches the authorizedrun_nowaction.includes/admin/feedzy-rss-feeds-import.php, lines 1457–1503 —Feedzy_Rss_Feeds_Import::run_now()obtains the authorized import and callsrun_job()without an exception handler around that call.includes/admin/feedzy-rss-feeds-import.php, lines 1753–1768 —Feedzy_Rss_Feeds_Import::run_job()delegates torun_job_logic()with logger-context cleanup infinally, not error recovery.includes/admin/feedzy-rss-feeds-import.php, lines 1944–1964 —Feedzy_Rss_Feeds_Import::run_job_logic()callsset_time_limit()at line 1952 without an availability check, beforeget_job_feed(). Verified at tag v5.2.15 and current HEAD24a0aa4; v5.2.14 contains the same call. Blame attributes this expression to21f40005from 2022.includes/feedzy-rss-feeds.php, lines 235–246 —Feedzy_Rss_Feeds::define_admin_hooks()instantiates the import engine and registers its cron and AJAX callbacks.
Engineering notes
set_time_limit() is a PHP native function, not a plugin-defined symbol resolved through Composer or the product autoloader. The official PHP configuration reference confirms that disabling a function removes its definition starting with PHP 8.0: https://www.php.net/manual/en/ini.core.php#ini.disable-functions. That documented configuration explains how the inspected call can produce the supplied error; the site's PHP version and disable_functions value are not available. The execution-time extension is unconditional despite its comment mentioning optional rewriting services, and its return value is not consumed.
The Pro sibling was checked for an alternate implementation: no run_job_logic() override was found. In the Pro repository, includes/admin/feedzy-rss-feeds-pro-admin.php, lines 1500–1504 — Feedzy_Rss_Feeds_Pro_Admin::feedzy_modify_feed_config() contains only a commented-out set_time_limit(0) expression. The failing implementation belongs to the free repository.
Test coverage status
tests/test-import.php, lines 29–51 — Test_Feedzy_Import::test_import_stops_when_feed_url_filter_returns_error() invokes run_job_logic() but does not simulate an unavailable execution-time function. No relevant disabled-function coverage was found during inspection of the free tests or the targeted Pro test search. Tests were not executed because the local PHP executable is unavailable.
What to verify or explore next
- Reproduce the manual import on PHP 8.x with
disable_functions=set_time_limit, then compare with the same job when that function is available. - Run
phpunit tests/test-import.phpin an established WordPress test environment under both PHP configurations. - Verify the scheduled-import outcome under the same restriction; its exception handling differs from the reported manual path.
Unknowns / follow-up
The host configuration, PHP/WordPress versions, Pro activation status, and import configuration were not supplied. No full local runtime reproduction was performed. Existing-issue searches for set_time_limit, undefined-function errors, and time-limit failures found no matching issue.
Confidence
Confidence: 97/100
The telemetry location and manual-import call chain match the unconditional call in tagged source, and PHP's documented disabled-function behavior explains the exact error. Host configuration and a local runtime reproduction remain unavailable.
Source: automated uninstall feedback — feedzy-rss-feeds, 2026-11-08
Generated by bug-report-triage (ID: bug-report-triage_6af1538ee180b3.20433153)
- Lingua principale
- PHP
- Stelle
- 120
- Fork
- 28
- Merge medio
- 1g 10h
- PR unite (30g)
- 21
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Codeinwp/feedzy-rss-feeds
-
3rd-part-compatibilities bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Codeinwp/feedzy-rss-feeds#1360 ·
I maintainer di solito rispondono entro 1 giorno
-
Feedzy DocsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 61/100
Codeinwp/feedzy-rss-feeds#816 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
customer report feature-request-triage
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
Codeinwp/feedzy-rss-feeds#1381 ·
I maintainer di solito rispondono entro 1 giorno
-
feature-request-triage
Difficoltà 4/5 3-5 giorni Idoneità per principianti 50/100
Codeinwp/feedzy-rss-feeds#1342 ·
I maintainer di solito rispondono entro 1 giorno
-
bug bug-report bug-report-triage
Difficoltà 4/5 3-5 giorni Idoneità per principianti 68/100
Codeinwp/feedzy-rss-feeds#1323 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Codeinwp/feedzy-rss-feeds
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
sync-en
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 4 giorni
-
developer experience good first issue integrations task
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
az-digital/az_quickstart#6267 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 89/100
backdrop-contrib/commerce#65 ·