signalwire / freeswitch

FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a versatile software implementation that runs on any commodity hardware. From a Raspberry PI to a multi-core server, FreeSWITCH can unlock the telecommunications potential of any device.
https://freeswitch.com/#getting-started
Other
3.61k stars 1.43k forks source link

[ERR] switch_time.c:1385 Timezone 'Europe/London' not found! #1686

Open MartinJPaterson opened 2 years ago

MartinJPaterson commented 2 years ago

Describe the bug Multiple occurrences of the log line: [ERR] switch_time.c:1385 Timezone 'Europe/London' not found!

To Reproduce It just happens. But looking at other log lines around the error, an XML reload is happening at the same time as some dialplan activity related to time (e.g. <condition year="2022" mon="8" mday="29" break="never">) ...

Expected behavior No scary errors! I have not verified whether the dialplan activity at the same time is doing the wrong thing because of these errors.

Package version or git hash

Trace logs Provide freeswitch logs w/ DEBUG and UUID logging enabled

250ebbab-b1d4-4150-89dc-dbca0c24d7c3 Dialplan: sofia/cloudcalling-in-prof/07xxxxxxxxx@178.248.33.114 parsing [time_ranges->xxxxxxxxx] continue=false
2022-06-08 10:47:27.688093 59.97% [ERR] switch_time.c:1385 Timezone 'Europe/London' not found!
250ebbab-b1d4-4150-89dc-dbca0c24d7c3 Dialplan: sofia/cloudcalling-in-prof/07xxxxxxxxx@178.248.33.114 Regex (FAIL) [xxxxxxxxx] destination_number(xxxxxxxxx) =~ /xxxxxxxxx/ break=on-false
250ebbab-b1d4-4150-89dc-dbca0c24d7c3 Dialplan: sofia/cloudcalling-in-prof/07xxxxxxxxx@178.248.33.114 parsing [time_ranges->xxxxxxxxx] continue=false
2022-06-08 10:47:27.688093 59.97% [ERR] switch_time.c:1385 Timezone 'Europe/London' not found!
250ebbab-b1d4-4150-89dc-dbca0c24d7c3 Dialplan: sofia/cloudcalling-in-prof/07xxxxxxxxx@178.248.33.114 Regex (FAIL) [xxxxxxxxx] destination_number(xxxxxxxxx) =~ /xxxxxxxxx/ break=on-false
250ebbab-b1d4-4150-89dc-dbca0c24d7c3 Dialplan: sofia/cloudcalling-in-prof/07xxxxxxxxx@178.248.33.114 parsing [time_ranges->xxxxxxxxx] continue=false

From the FreeSWITCH mailing list archive there is some more information: https://lists.freeswitch.org/pipermail/freeswitch-users/2015-March/111623.html, unfortunately the attachment in one of the emails with the start of a fix is not preserved.

dragos-oancea commented 2 years ago

It must be a side-effect of Brexit. ;)

Joke aside, do you have the file autoload_configs/timezones.conf.xml ? the 'Europe/London' timezone should be in it.

<zone name="Europe/London" value="GMT0BST,M3.5.0/1,M10.5.0" />
MartinJPaterson commented 2 years ago

If this were the only thing broken by Brexit, then that wouldn't be so bad!

Yes, I do have that file, and it does contain what you pasted above. The error certainly doesn't happen every time through a dialplan - a few times a week on a 4000 calls/day system.

I suspect (based on the comments in the mailing list post), that the timezone list is unloaded for a brief period during the xml reload. If something else happens to query it at that point, then you get this error.