TISUnion / PrimeBackup

A powerful backup plugin for MCDR, an advanced backup solution for your Minecraft world
https://tisunion.github.io/PrimeBackup/
GNU Lesser General Public License v3.0
76 stars 6 forks source link

[TaskExecutor/ERROR]: Error invoking listener EventListener[plugin=prime_backup@1.7.4,priority=1000,callback=<function on_load at 0x7459a0b17ec0>] Traceback (most recent call last): #37

Closed mcxiaochenn closed 1 month ago

mcxiaochenn commented 2 months ago

[MCDR] [18:56:50] [TaskExecutor/ERROR]: Error invoking listener EventListener[plugin=prime_backup@1.7.4,priority=1000,callback=<function on_load at 0x7459a0b17ec0>] Traceback (most recent call last): File "plugins/PrimeBackup-v1.7.4.pyz/prime_backup/config/config_common.py", line 12, in _validate_crontab_str CronTrigger.from_crontab(value) File "/usr/local/lib/python3.12/dist-packages/apscheduler/triggers/cron/init.py", line 103, in from_crontab return cls(minute=values[0], hour=values[1], day=values[2], month=values[3], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/dist-packages/apscheduler/triggers/cron/init.py", line 59, in init self.timezone = get_localzone() ^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/dist-packages/tzlocal/unix.py", line 219, in get_localzone _cache_tz = _get_localzone() ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/dist-packages/tzlocal/unix.py", line 180, in _get_localzone tzname = _get_localzone_name(_root) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/dist-packages/tzlocal/unix.py", line 159, in _get_localzone_name raise zoneinfo.ZoneInfoNotFoundError(message) zoneinfo._common.ZoneInfoNotFoundError: 'Multiple conflicting time zone configurations found:\n/etc/timezone: Etc/UTC\n/etc/localtime is a symlink to: Asia/Shanghai\nFix the configuration, or set the time zone in a TZ environment variable.\n'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/local/lib/python3.12/dist-packages/mcdreforged/plugin/plugin_manager.py", line 727, in trigger_listener listener.execute(listener.plugin.server_interface, args) File "/usr/local/lib/python3.12/dist-packages/mcdreforged/plugin/plugin_event.py", line 106, in execute return self.callback(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "plugins/PrimeBackup-v1.7.4.pyz/prime_backup/mcdr/mcdr_entrypoint.py", line 44, in on_load config = server.load_config_simple(target_class=Config, failure_policy='raise') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/dist-packages/mcdreforged/plugin/si/plugin_server_interface.py", line 307, in load_config_simple result_config = target_class.deserialize(read_data, missing_callback=set_imperfect, redundancy_callback=set_imperfect) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "plugins/PrimeBackup-v1.7.4.pyz/prime_backup/config/config.py", line 82, in deserialize return super().deserialize(data, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/dist-packages/mcdreforged/utils/serializer.py", line 447, in deserialize return deserialize(data, cls, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/dist-packages/mcdreforged/utils/serializer.py", line 297, in deserialize set_result_attr(attr_name, deserialize(data[attr_name], attr_type, kwargs)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/dist-packages/mcdreforged/utils/serializer.py", line 297, in deserialize set_result_attr(attr_name, deserialize(data[attr_name], attr_type, kwargs)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/dist-packages/mcdreforged/utils/serializer.py", line 297, in deserialize set_result_attr(attr_name, deserialize(data[attr_name], attr_type, kwargs)) File "/usr/local/lib/python3.12/dist-packages/mcdreforged/utils/serializer.py", line 290, in set_result_attr result.validate_attribute(attrname, attrvalue) File "plugins/PrimeBackup-v1.7.4.pyz/prime_backup/config/config_common.py", line 25, in validate_attribute _validate_crontab_str(attr_value) File "plugins/PrimeBackup-v1.7.4.pyz/prime_backup/config/config_common.py", line 14, in _validate_crontab_str raise ValueError('bad crontab string {!r}: {}'.format(value, e)) ValueError: bad crontab string '0 7 *': 'Multiple conflicting time zone configurations found:\n/etc/timezone: Etc/UTC\n/etc/localtime is a symlink to: Asia/Shanghai\nFix the configuration, or set the time zone in a TZ environment variable.\n'

Fallen-Breath commented 2 months ago

As it's shown in the error output, the timezone setting in your runtime environment is configured wrongly:

Multiple conflicting time zone configurations found:
/etc/timezone: Etc/UTC
/etc/localtime is a symlink to: Asia/Shanghai
Fix the configuration, or set the time zone in a TZ environment variable.

resulting in the tzlocal lib required by Prime Backup gets broken

This is your environment issue, and is unrelated to Prime Backup. Please fix it yourself

see also: https://github.com/regebro/tzlocal/issues/122