Bug #100416 UTC - mysqld got signal 11
Submitted: 4 Aug 2020 1:53 Modified: 10 Aug 2020 12:19
Reporter: zhuang kang Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:8.0.19 OS:Red Hat (7.6)
Assigned to: CPU Architecture:x86

[4 Aug 2020 1:53] zhuang kang
Description:
/usr/local/mysql/bin/mysqld(SortingIterator::DoSort(QEP_TAB*)+0xa5) [0xe12925]
/usr/local/mysql/bin/mysqld(SortingIterator::Init()+0x22) [0xe12a32]
2020-07-31T17:30:27.157288+08:00 0 [Warning] [MY-011302] [Server] Plugin mysqlx reported: 'Failed at SSL configuration: "SSL context is not usable without certificate and private key"'
2020-07-31T17:30:27.162180+08:00 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/tmp/mysqlx.sock' bind-address: '::' port: 33060
10:41:48 UTC - mysqld got signal 11 ;
Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
Thread pointer: 0x7f128ddc1000
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 7f127a5a2d40 thread_stack 0x40000
/usr/local/mysql/bin/mysqld(my_print_stacktrace(unsigned char const*, unsigned long)+0x2e) [0x1f1b71e]
/usr/local/mysql/bin/mysqld(handle_fatal_signal+0x323) [0xfcfac3]
/lib64/libpthread.so.0(+0xf5d0) [0x7f14ca0f25d0]
/usr/local/mysql/bin/mysqld(actual_key_parts(KEY const*)+0xa) [0xef55ca]
/usr/local/mysql/bin/mysqld(calculate_key_len(TABLE*, unsigned int, unsigned long)+0x28) [0x10da428]
/usr/local/mysql/bin/mysqld(handler::ha_index_read_map(unsigned char*, unsigned char const*, unsigned long, ha_rkey_function)+0x261) [0x10dac51]

How to repeat:
/usr/local/mysql/bin/mysqld(SortingIterator::DoSort(QEP_TAB*)+0xa5) [0xe12925]
/usr/local/mysql/bin/mysqld(SortingIterator::Init()+0x22) [0xe12a32]
2020-07-31T17:30:27.157288+08:00 0 [Warning] [MY-011302] [Server] Plugin mysqlx reported: 'Failed at SSL configuration: "SSL context is not usable without certificate and private key"'
2020-07-31T17:30:27.162180+08:00 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/tmp/mysqlx.sock' bind-address: '::' port: 33060
10:41:48 UTC - mysqld got signal 11 ;
Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
Thread pointer: 0x7f128ddc1000
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 7f127a5a2d40 thread_stack 0x40000
/usr/local/mysql/bin/mysqld(my_print_stacktrace(unsigned char const*, unsigned long)+0x2e) [0x1f1b71e]
/usr/local/mysql/bin/mysqld(handle_fatal_signal+0x323) [0xfcfac3]
/lib64/libpthread.so.0(+0xf5d0) [0x7f14ca0f25d0]
/usr/local/mysql/bin/mysqld(actual_key_parts(KEY const*)+0xa) [0xef55ca]
/usr/local/mysql/bin/mysqld(calculate_key_len(TABLE*, unsigned int, unsigned long)+0x28) [0x10da428]
/usr/local/mysql/bin/mysqld(handler::ha_index_read_map(unsigned char*, unsigned char const*, unsigned long, ha_rkey_function)+0x261) [0x10dac51]

Suggested fix:
/usr/local/mysql/bin/mysqld(SortingIterator::DoSort(QEP_TAB*)+0xa5) [0xe12925]
/usr/local/mysql/bin/mysqld(SortingIterator::Init()+0x22) [0xe12a32]
2020-07-31T17:30:27.157288+08:00 0 [Warning] [MY-011302] [Server] Plugin mysqlx reported: 'Failed at SSL configuration: "SSL context is not usable without certificate and private key"'
2020-07-31T17:30:27.162180+08:00 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/tmp/mysqlx.sock' bind-address: '::' port: 33060
10:41:48 UTC - mysqld got signal 11 ;
Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
Thread pointer: 0x7f128ddc1000
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 7f127a5a2d40 thread_stack 0x40000
/usr/local/mysql/bin/mysqld(my_print_stacktrace(unsigned char const*, unsigned long)+0x2e) [0x1f1b71e]
/usr/local/mysql/bin/mysqld(handle_fatal_signal+0x323) [0xfcfac3]
/lib64/libpthread.so.0(+0xf5d0) [0x7f14ca0f25d0]
/usr/local/mysql/bin/mysqld(actual_key_parts(KEY const*)+0xa) [0xef55ca]
/usr/local/mysql/bin/mysqld(calculate_key_len(TABLE*, unsigned int, unsigned long)+0x28) [0x10da428]
/usr/local/mysql/bin/mysqld(handler::ha_index_read_map(unsigned char*, unsigned char const*, unsigned long, ha_rkey_function)+0x261) [0x10dac51]
[4 Aug 2020 12:51] MySQL Verification Team
Hello Mr. kang,

Thank you for your bug report.

We have to inform you that this is a forum for bugs that are reported with fully repeatable test cases.

Hence, we are waiting that you provide us with a proper test case, for the last release available, which is 8.0.21.

A repeatable test case consists of the number of SQL statements (and possibly some configuration variables) that always leads to the problem that is reported.

Since we do not yet see that you have provided us with such a test case, we are now waiting that you provide us with one.
[5 Aug 2020 1:19] zhuang kang
The SQL statements below:
select
        b.PROC_INST_ID_ as processInstanceId, def.ID_ as processDefinitionId,def.NAME_ as processDefinitionName,
        def.KEY_ as processDefinitionKey,
        case when var12.TEXT_ is not null then concat(concat(def.NAME_,'_'),var12.TEXT_)
        else case when var13.TEXT_ is not null then concat(concat(def.NAME_,'_'),var13.TEXT_)
        else case when var8.TEXT_ is not null then concat(concat(def.NAME_,'_'),SUBSTR(var8.TEXT_, INSTR(var8.TEXT_, '_') + 1, LENGTH(var8.TEXT_) - INSTR(var8.TEXT_, '_')))
        else def.NAME_ end end end as name,
        a.ID_ as nowTaskId,a.NAME_ as nowTaskName,
        case when b.DELETE_REASON_ is not null then '4' else case when var5.TEXT_ is not null then var5.TEXT_ else case
        when b.END_TIME_ is null then '0' else '1' end end end as processStatus,
        var1.TEXT_ as sequence,
        b.START_USER_ID_ as startUser_id,
        date_format(b.START_TIME_,'%Y-%m-%d %H:%i') as startTime,
        date_format(b.END_TIME_,'%Y-%m-%d %H:%i') as endTime,
        date_format(a.START_TIME_,'%Y-%m-%d %H:%i') as updateTime,
        case when b.END_TIME_ is null then a.ASSIGNEE_ else '' end as assignee_id,
        var2.TEXT_ as change_level,
        case when (select c1.NAME_ from act_hi_taskinst c1 where c1.ID_ = (select min(c2.ID_) from act_hi_taskinst c2
        where c2.PROC_INST_ID_ = b.PROC_INST_ID_))= a.NAME_
        then 1 else 0 end as isFristTask,
        case var3.TEXT_ when 'true' then 1 else 0 end as topSecret,
        case when b.DELETE_REASON_ is not null then b.DELETE_REASON_ else var4.TEXT_ end as process_remark,
        var6.TEXT_ as prescription_start, var7.TEXT_ as prescription_end,var9.TEXT_ as scsjsblevel,var10.TEXT_ as
        wtlevel,var11.TEXT_ as prescription_difference,
        SUBSTR(var8.TEXT_, INSTR(var8.TEXT_, '_') + 1, LENGTH(var8.TEXT_) - INSTR(var8.TEXT_, '_')) AS cmdbAppName
        from act_hi_taskinst a
        left join act_hi_procinst b
        on a.PROC_INST_ID_ = b.PROC_INST_ID_
        left join act_re_procdef def
        on def.ID_ = b.PROC_DEF_ID_
        left join ACT_HI_VARINST var1
        on a.PROC_INST_ID_=var1.PROC_INST_ID_ and var1.NAME_='process_sequence'
        left join ACT_HI_VARINST var2
        on a.PROC_INST_ID_=var2.PROC_INST_ID_ and var2.NAME_='change_level'
        left join ACT_HI_VARINST var3
        on a.PROC_INST_ID_=var3.PROC_INST_ID_ and var3.NAME_='topSecret'
        left join ACT_HI_VARINST var4
        on a.PROC_INST_ID_=var4.PROC_INST_ID_ and var4.NAME_='process_remark'
        left join ACT_HI_VARINST var5
        on a.ID_=var5.TASK_ID_ and var5.NAME_='myTaskStatus'
        left join ACT_HI_VARINST var6
        on a.PROC_INST_ID_=var6.PROC_INST_ID_ and var6.NAME_='prescription_start'
        left join ACT_HI_VARINST var7
        on a.PROC_INST_ID_=var7.PROC_INST_ID_ and var7.NAME_='prescription_end'
        left join ACT_HI_VARINST var8
        on a.PROC_INST_ID_=var8.PROC_INST_ID_ and var8.NAME_='cmdbAppInfo'
        left join ACT_HI_VARINST var9
        on a.PROC_INST_ID_=var9.PROC_INST_ID_ and var9.NAME_='scsjsblevel'
        left join ACT_HI_VARINST var10
        on a.PROC_INST_ID_=var10.PROC_INST_ID_ and var10.NAME_='wtlevel'
        left join ACT_HI_VARINST var11
        on a.PROC_INST_ID_=var11.PROC_INST_ID_ and var11.NAME_='prescription_difference'
        left join ACT_HI_VARINST var12
        on a.PROC_INST_ID_=var12.PROC_INST_ID_ and var12.NAME_='name'
        left join ACT_HI_VARINST var13
        on a.PROC_INST_ID_=var13.PROC_INST_ID_ and var13.NAME_='title'
        where 1=1
        and a.END_TIME_ is null and b.END_TIME_ is null
        and exists( select * from ACT_HI_VARINST var where var.PROC_INST_ID_ = b.PROC_INST_ID_
            and var.NAME_ ='process_sequence'
            and var.TEXT_ like '%ICT%')
and b.DELETE_REASON_ is null
and exists(
            SELECT * FROM ACT_RU_IDENTITYLINK I WHERE I.TASK_ID_= a.ID_
            AND a.ASSIGNEE_ IS NULL and a.END_TIME_ is null
            AND I.TYPE_ = 'candidate'
            AND I.GROUP_ID_ IN( SELECT GROUP_ID FROM itsm_user_group WHERE USER_ID = '2020051910000235' )
            )order by a.START_TIME_ desc
limit 0, 12;
and then set  optimizer_switch='duplicateweedout=off',the instance don't restart,the problem is solved.
[5 Aug 2020 12:37] MySQL Verification Team
Hi Mr. kang,

Thank you for your feedback.

We have two questions.

What happens when you do not use that optimiser switch ???

Also, does mysql-8.0.21 has the same problem or not ???

We must know whether our latest release has that behaviour or not. We can not hunt for bugs that are fixed already.
[9 Aug 2020 11:23] liguang lu
hi zhuang kang

can you provide your table struct?
[10 Aug 2020 12:19] MySQL Verification Team
In order to verify your report as a bug, we need data for all the tables in that query, so that we can repeat the behaviour with the latest 8.0 release.
[18 Feb 2021 13:27] MySQL Verification Team
Hi Mr. kang,

It turns out that the bug you reported is a duplicate of an internally verified and fixed bug.  Hence, all you need to do is to upgrade MySQL server.
[15 Jun 2021 14:18] Ahmed atef
i have the smae issue on mysql 8.23