Skip to content

Fix scheduler crash after broadcasting run mode = skip#6940

Merged
MetRonnie merged 2 commits intocylc:8.5.xfrom
MetRonnie:crash
Aug 26, 2025
Merged

Fix scheduler crash after broadcasting run mode = skip#6940
MetRonnie merged 2 commits intocylc:8.5.xfrom
MetRonnie:crash

Conversation

@MetRonnie
Copy link
Copy Markdown
Member

@MetRonnie MetRonnie commented Aug 26, 2025

Bug

[scheduling]
    [[graph]]
        R1 = foo
[runtime]
    [[foo]]
        script = false
        execution time limit = PT1M
  1. Play the workflow and wait for foo to fail
  2. Broadcast run mode = skip to 1/root
  3. Trigger foo
  4. Scheduler crashes
Traceback (most recent call last):
  File "~/cylc-flow/cylc/flow/scheduler.py", line 703, in run_scheduler
    await self._main_loop()
  File "~/cylc-flow/cylc/flow/scheduler.py", line 1654, in _main_loop
    self.release_tasks_to_run()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "~/cylc-flow/cylc/flow/scheduler.py", line 1374, in release_tasks_to_run
    return self.start_job_submission(pre_prep_tasks)
            ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "~/cylc-flow/cylc/flow/scheduler.py", line 1391, in start_job_submission
    submitted = self.submit_task_jobs(itasks)
  File "~/cylc-flow/cylc/flow/scheduler.py", line 1418, in submit_task_jobs
    return self.task_job_mgr.submit_task_jobs(itasks, self.get_run_mode())
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/cylc-flow/cylc/flow/task_job_mgr.py", line 289, in submit_task_jobs
    itasks, submitted_nonlive_tasks = self.submit_nonlive_task_jobs(
                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        itasks, run_mode
        ^^^^^^^^^^^^^^^^
    )
    ^
  File "~/cylc-flow/cylc/flow/task_job_mgr.py", line 1108, in submit_nonlive_task_jobs
    if submit_func and submit_func(self, itask, rtconfig, now):
                        ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/cylc-flow/cylc/flow/run_modes/skip.py", line 97, in submit_task_job
    task_job_mgr.task_events_mgr.process_message(itask, INFO, output)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
  File "~/cylc-flow/cylc/flow/task_events_mgr.py", line 754, in process_message
    self._process_message_started(itask, event_time, forced)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/cylc-flow/cylc/flow/task_events_mgr.py", line 1400, in _process_message_started
    self._reset_job_timers(itask)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
  File "~/cylc-flow/cylc/flow/task_events_mgr.py", line 1881, in _reset_job_timers
    delays = self.process_execution_polling_intervals(
        execution_polling_intervals,
        time_limit,
        time_limit_polling_intervals
    )
  File "~/cylc-flow/cylc/flow/task_events_mgr.py", line 1975, in process_execution_polling_intervals
    if len(time_limit_polling_intervals) == 1:
        ~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: object of type 'NoneType' has no len()

Check List

  • I have read CONTRIBUTING.md and added my name as a Code Contributor.
  • Contains logically grouped changes (else tidy your branch by rebase).
  • Does not contain off-topic changes (use other PRs for other changes).
  • No dependency changes
  • Tests are included
  • Changelog entry included if this is a change that can affect users
  • Docs PR not needed
  • If this is a bug fix, PR should be raised against the relevant ?.?.x branch.

@MetRonnie MetRonnie added this to the 8.5.2 milestone Aug 26, 2025
@MetRonnie MetRonnie requested a review from wxtim August 26, 2025 14:34
@MetRonnie MetRonnie self-assigned this Aug 26, 2025
@MetRonnie MetRonnie added the bug Something is wrong :( label Aug 26, 2025
@MetRonnie MetRonnie merged commit 6954221 into cylc:8.5.x Aug 26, 2025
28 checks passed
@MetRonnie MetRonnie deleted the crash branch August 26, 2025 16:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something is wrong :( small

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants