Comment 15 for bug 1877504

Revision history for this message
Paul Harrison (mythtv-paulh) wrote : Re: new version of libmysqlclient21 8.0.20-0ubuntu0.20.04.1 causes mythtv-set, mythbackend and mythfrontend to segfault on exit.

I've done a little more debugging. Hopefully this output from a gdb session helps.

The segfault occurs here because in this case cs->coll is NULL
https://github.com/mysql/mysql-server/blob/8.0/mysys/charset.cc#L925

I don't know where the latin2_general_nopad_ci character set is coming from since I don't see any reference to it in the upstream MySQL sources on GitHub but I could be looking at the wrong sources.

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff793823f in charset_uninit () at ./mysys/charset.cc:925
925 ./mysys/charset.cc: No such file or directory.
(gdb) bt
#0 0x00007ffff793823f in charset_uninit () at ./mysys/charset.cc:925
#1 0x00007ffff793d753 in my_end (infoflag=infoflag@entry=0) at ./mysys/my_init.cc:200
#2 0x00007ffff78db173 in mysql_server_end () at ./libmysql/libmysql.cc:202
#3 0x0000555555555513 in main ()
(gdb) print cs
$1 = (CHARSET_INFO *) 0x5555555a3e00
(gdb) print cs->coll
$2 = (MY_COLLATION_HANDLER *) 0x0
(gdb) print cs->csname
$3 = 0x5555555a3ef0 "latin2"
(gdb) print cs->name
$4 = 0x5555555a3ef8 "latin2_general_nopad_ci"
(gdb) print cs->comment
$5 = 0x5555555a3ed0 "ISO 8859-2 Central European"
(gdb) print cs->number
$6 = 1033
(gdb) print cs->state
$7 = 49
(gdb) print cs->primary_number
$8 = 0
(gdb) print cs->binary_number
$9 = 0
(gdb) print cs->ctype
$10 = (const uchar *) 0x0
(gdb) print cs->to_lower
$11 = (const uchar *) 0x0
(gdb) print cs->to_upper
$12 = (const uchar *) 0x0
(gdb) print cs->cset
$13 = (MY_CHARSET_HANDLER *) 0x0