FS#71753 - [qt5-base] Mythtv, time zone support missing after mariadb update 10.5.11 -> 10.6.3

Attached to Project: Arch Linux
Opened by Lee Donaghy (deadite66) - Friday, 06 August 2021, 11:23 GMT
Last edited by Antonio Rojas (arojas) - Saturday, 14 August 2021, 08:13 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To Antonio Rojas (arojas)
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
After update to mariadb 10.6.3 mythtv-setup reports:
" MySQL time zone support is missing. Please install it and try again. See 'mysql_tzinfo_to_sql' for assistance."
"sudo systemctl restart mariadb.service && sudo mariadb-upgrade -u root -p" was done.


Additional info:
* package version(s)
* config and/or log files etc.
* link to upstream bug report, if any
Name : mythtv
Version : 31+fixes.20210731.5824c588-1

upstream report: https://github.com/MythTV/mythtv/issues/373

comment from a MythTV dev
"The zone name(s) are properly in the time_zone... tables of which the data was generated by the external program (that decodes the zoneinfo files, and follows the links). And manually issuing the select via the mysql cli returns a valid value. It would appear that the issue is somewhere between MariaDB and Qt in that the returned value results in a NULL rather than a valid value.

Running MariaDB 10.6.3 (from the mariadb.org repo) with Fedora 34 seems to produce the correct result, and as you state that running MariaDB 10.6.3 in Ubuntu 20.04 produces the correct result, the finger points towards something different in arch. It should be noted that there are many libraries that either/both Qt and MariaDB depend upon, so it may be one of those that is the actual underlying cause (and not MariaDB or Qt directly).

I would suggest that someone with an arch bug tracker userid open an issue there with the reproducer included here, and let arch experts investigate this upstream issue further."

Steps to reproduce:
upgrade to mariadb 10.6.3
This task depends upon

Closed by  Antonio Rojas (arojas)
Saturday, 14 August 2021, 08:13 GMT
Reason for closing:  Fixed
Additional comments about closing:  qt5-base 5.15.2+kde+r215-2
Comment by Antonio Rojas (arojas) - Friday, 06 August 2021, 18:28 GMT
Please provide a sample database and step-by-step instructions that can be used for testing using the test code in the upstream report
Comment by Lee Donaghy (deadite66) - Friday, 06 August 2021, 19:00 GMT
attached a database i setup in a VM earlier using mariadb and mythtv guide from the wiki.

for the test code:
db.setHostName("localhost");
db.setDatabaseName("mythconverg");
db.setUserName("mythtv");
db.setPassword("mythtv");

tzcheck on 10.5.11-1
[lee@Arch2 ~]$ ./tzcheck
"2021-08-06T18:55:36.000"

tzcheck on 10.6.3-1
[lee@Arch2 ~]$ ./tzcheck
return was a null value (no timezone tables loaded)

downgrade back to 10.5.1-1
[lee@Arch2 ~]$ ./tzcheck
"2021-08-06T18:56:51.000


Comment by Antonio Rojas (arojas) - Friday, 06 August 2021, 19:22 GMT
Thanks. I get NULL with both versions (running the query from mysql).
Comment by Antonio Rojas (arojas) - Friday, 06 August 2021, 19:40 GMT
OK I can reproduce if I set a numeric timezone. For some reason my mariadb doesn't recognize UTC.
Comment by Antonio Rojas (arojas) - Friday, 06 August 2021, 22:05 GMT
This is caused by the prepared queries metadata cache introduced in 10.6 https://github.com/MariaDB/server/commit/295f3e4cfb4a8f132f36d53475efc92f2487aa97

It is known to cause other issues ( FS#71582 ), so it looks like Qt is simply not ready to support this.
Comment by Antonio Rojas (arojas) - Friday, 06 August 2021, 22:18 GMT Comment by Lee Donaghy (deadite66) - Saturday, 07 August 2021, 05:40 GMT
thanks for figuring it out.

Loading...