If the DAG is scheduled on Feb 29th, it will never be executed automatically on the scheduled date.

Traceback (most recent call last):
File "/usr/local/bin/airflow", line 8, in <module>
sys.exit(main())
File "/usr/local/lib/python3.8/site-packages/airflow/__main__.py", line 57, in main
args.func(args)
File "/usr/local/lib/python3.8/site-packages/airflow/cli/cli_config.py", line 49, in command
return func(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/airflow/utils/cli.py", line 114, in wrapper
return f(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/airflow/utils/providers_configuration_loader.py", line 55, in wrapped_function
return func(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/airflow/cli/commands/dag_command.py", line 164, in dag_trigger
message = api_client.trigger_dag(
File "/usr/local/lib/python3.8/site-packages/airflow/api/client/local_client.py", line 34, in trigger_dag
dag_run = trigger_dag.trigger_dag(
File "/usr/local/lib/python3.8/site-packages/airflow/api/common/trigger_dag.py", line 125, in trigger_dag
triggers = _trigger_dag(
File "/usr/local/lib/python3.8/site-packages/airflow/api/common/trigger_dag.py", line 74, in _trigger_dag
data_interval = dag.timetable.infer_manual_data_interval(run_after=logical_date)
File "/usr/local/lib/python3.8/site-packages/airflow/timetables/interval.py", line 166, in infer_manual_data_interval
end = self._align_to_prev(run_after)
File "/usr/local/lib/python3.8/site-packages/airflow/timetables/_cron.py", line 141, in _align_to_prev
prev_time = self._get_prev(current)
File "/usr/local/lib/python3.8/site-packages/airflow/timetables/_cron.py", line 118, in _get_prev
scheduled = cron.get_prev(datetime.datetime)
File "/usr/local/lib/python3.8/site-packages/croniter/croniter.py", line 129, in get_prev
return self._get_next(ret_type or self._ret_type, is_prev=True)
File "/usr/local/lib/python3.8/site-packages/croniter/croniter.py", line 205, in _get_next
result = self._calc(self.cur, expanded,
File "/usr/local/lib/python3.8/site-packages/croniter/croniter.py", line 463, in _calc
raise CroniterBadDateError("failed to find prev date")
Apache Airflow version
2.8.3
If "Other Airflow 2 version" selected, which one?
No response
What happened?
If the DAG is scheduled on Feb 29th, it will never be executed automatically on the scheduled date.

What you think should happen instead?
A new DAG run should be created and scheduled on Feb 29th
How to reproduce
schedule_interval = "0 0 29 2 *"
dag = DAG(dag_name,
default_args={},
schedule_interval=schedule_interval,
sla_miss_callback=None,
max_active_runs=1,
concurrency=20
)
Operating System
Linux
Versions of Apache Airflow Providers
2.8.3
Deployment
Official Apache Airflow Helm Chart
Deployment details
No response
Anything else?
This is the log when I tried to force scheduling
Are you willing to submit PR?
Code of Conduct