Bug #114750 hang bug in mysql NDB cluster
Submitted: 24 Apr 2024 2:41 Modified: 24 Apr 2024 11:32
Reporter: CunDi Fang Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S2 (Serious)
Version:8.0.35-cluster MySQL Cluster Community S OS:Any (20.04)
Assigned to: MySQL Verification Team CPU Architecture:Any

[24 Apr 2024 2:41] CunDi Fang
Description:
Hello, I found a hang bug in 8.0.35-cluster version of MYSQL cluster. 
The detail is as follow.

OS version and name:
Ubuntu 22.04.3 LTS (Jammy Jellyfish)
Linux eb1f47b08982 6.5.11-8-pve #1 SMP PREEMPT_DYNAMIC PMX 6.5.11-8 (2024-01-30T12:27Z) x86_64 x86_64 x86_64 GNU/Linux

PoC:
'''
select
  ref_6.column1 as c0
from
  (select
            ref_0.column1 as c0,
            ref_2.column4 as c1,
            ref_1.column1 as c2,
            ref_0.column1 as c3,
            ref_0.column4 as c4,
            ref_1.column1 as c5,
            ref_0.column2 as c6,
            ref_1.column1 as c7,
            ref_1.column1 as c8,
            ref_2.column7 as c9,
            (select GRANTEE from information_schema.APPLICABLE_ROLES limit 1 offset 66)
               as c10,
            ref_0.column10 as c11,
            ref_0.column8 as c12,
            subq_0.c3 as c13,
            98 as c14,
            ref_1.column1 as c15
          from
            mytest90.test9 as ref_0
              left join mytest90.test6 as ref_1
                inner join mytest90.test7 as ref_2
                on (((EXISTS (
                        select
                            ref_2.column7 as c0,
                            ref_2.column6 as c1,
                            ref_3.column1 as c2,
                            ref_2.column4 as c3,
                            ref_1.column1 as c4,
                            ref_1.column1 as c5,
                            ref_3.column1 as c6,
                            ref_2.column4 as c7,
                            ref_1.column1 as c8
                          from
                            mytest90.test6 as ref_3
                          where ref_3.column1 is NULL))
                      and (EXISTS (
                        select
                            ref_1.column1 as c0,
                            ref_1.column1 as c1,
                            (select ssl_version from sys.session_ssl_status limit 1 offset 1)
                               as c2,
                            ref_2.column2 as c3,
                            ref_1.column1 as c4
                          from
                            mytest90.test5 as ref_4
                          where ref_4.column2 is NULL
                          limit 63)))
                    or (true))
              on (ref_1.column1 is NULL),
            lateral (select
                  ref_5.column1 as c0,
                  ref_0.column5 as c1,
                  ref_5.column5 as c2,
                  ref_2.column7 as c3
                from
                  mytest90.test4 as ref_5
                where ref_0.column6 is NULL
                limit 66) as subq_0
          where ref_1.column1 is not NULL
          limit 80) as subq_1
      left join mytest90.test5 as ref_6
      on (false)
    right join mytest90.test8 as ref_7
    on (subq_1.c8 = ref_7.column5 )
where ref_7.column5 is NULL
limit 121;
'''

Architecture Information:
'''
[NDBD DEFAULT]
NoOfReplicas =2
DataMemory = 512M
IndexMemory = 64M

[NDB_MGMD]
NodeId=1
hostname =192.172.10.8
datadir =/var/lib/mysql-cluster

[NDBD]
NodeId =2
hostname =192.172.10.9
datadir =/usr/local/mysql-cluster/data
NodeGroup=0
[NDBD]
NodeId =3
hostname =192.172.10.10
datadir =/usr/local/mysql-cluster/data
NodeGroup=1
[NDBD]
NodeId =4
hostname =192.172.10.11
datadir =/usr/local/mysql-cluster/data
NodeGroup=0
[NDBD]
NodeId =5
hostname =192.172.10.12
datadir =/usr/local/mysql-cluster/data
NodeGroup=1

[mysqld]
NodeId =6
hostname =192.172.10.9
[mysqld]
NodeId =7
hostname =192.172.10.10
[mysqld]
NodeId =8
hostname =192.172.10.11
[mysqld]
NodeId =9
hostname =192.172.10.12
'''

Attempted and successfully reproduced!

How to repeat:
Simply execute that PoC to repeat it.

Suggested fix:
seems like a dead loop
[24 Apr 2024 11:32] MySQL Verification Team
Duplicate of Bug #114464