Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-18479

Assertion `join->best_read < double(1.79769313486231570815e+308L)' or server crashes in JOIN::fix_all_splittings_in_plan after EXPLAIN

Details

    Description

      Please run the test with --repeat=N --force-restart, test is sporadic on debug version. Repeatable with MyIsam/Innodb on 5.5-10.4

      CREATE TABLE t1 (id int auto_increment primary key, uid int NOT NULL, gp_id int NOT NULL, r int NOT NULL) ;
      INSERT INTO `t1`(uid,gp_id,r)  VALUES (1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,1,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,2,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,3,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,4,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,5,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,6,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,7,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,8,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,9,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,10,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1),(1,11,1);
       
      CREATE TABLE t2 (id int) ;
      INSERT INTO t2 VALUES (1);
       
      explain SELECT 1 FROM t2 JOIN
      (SELECT t2.id
        FROM t2
        JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id
        JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id
        JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id
        JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id
        JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id
        JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id
        JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id
         )   gp_1 ON gp_1.id=t2.id
      JOIN
      (SELECT t2.id
        FROM t2
        JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id
        JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id
        JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id
        JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id
        JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id
        JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id
        JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id
        )   gp_2 ON gp_2.id=t2.id
      JOIN
      (SELECT t2.id
        FROM t2
        JOIN t1 p1 ON p1.r=1 AND p1.uid=t2.id
        JOIN t1 p3 ON p3.r=3 AND p3.uid=t2.id
        JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id
        JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id
        JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id
        JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id
        JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id
        JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id
        JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id
        ) gp_3 ON gp_3.id=t2.id
      JOIN
      (SELECT t2.id
        FROM t2
        JOIN t1 p1 ON p1.r=1 AND p1.uid=t2.id
        JOIN t1 p3 ON p3.r=3 AND p3.uid=t2.id
        JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id
        JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id
        JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id
        JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id
        JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id
        JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id
        JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id
        )   gp_4 ON gp_4.id=t2.id
      JOIN
      (SELECT t2.id
        FROM t2
        JOIN t1 p1 ON p1.r=1 AND p1.uid=t2.id
        JOIN t1 p3 ON p3.r=3 AND p3.uid=t2.id
        JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id
        JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id
        JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id
        JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id
        JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id
        JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id
        JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id
        )   gp_5 ON gp_5.id=t2.id
      JOIN
      (SELECT t2.id
        FROM t2
        JOIN t1 p1 ON p1.r=1 AND p1.uid=t2.id
        JOIN t1 p3 ON p3.r=3 AND p3.uid=t2.id
        JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id
        JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id
        JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id
        JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id
        JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id
        JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id
        JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id
        )   gp_6 ON gp_6.id=t2.id
      JOIN
      (SELECT t2.id
        FROM t2
        JOIN t1 p1 ON p1.r=1 AND p1.uid=t2.id
        JOIN t1 p3 ON p3.r=3 AND p3.uid=t2.id
        JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id
        JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id
        JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id
        JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id
        JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id
        JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id
        JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id
        WHERE p1.gp_id=7)   gp_7 ON gp_7.id=t2.id
      JOIN
      (SELECT t2.id
        FROM t2
        JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id
        JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id
        JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id
        JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id
        JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id
        JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id
        JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id
        )   gp_8 ON gp_8.id=t2.id
      JOIN
      (SELECT t2.id
        FROM t2
        JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id
        JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id
        JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id
        JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id
        JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id
        JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id
        JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id
        )   gp_9 ON gp_9.id=t2.id
      JOIN
      (SELECT t2.id
        FROM t2
        JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id
        JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id
        JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id
        JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id
        JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id
        JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id
        JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id
        )   gp_14 ON gp_14.id=t2.id
      JOIN
      (SELECT t2.id
        FROM t2
        JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id
        JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id
        JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id
        JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id
        JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id
        JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id
        JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id
        )   gp_15 ON gp_15.id=t2.id
      JOIN
      (SELECT t2.id
        FROM t2
        JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id
        JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id
        JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id
        JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id
        JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id
        JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id
        JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id
        )  gp_16 ON gp_16.id=t2.id
      JOIN
      (SELECT t2.id
        FROM t2
          JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id
          JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id
       
          JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id
          JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id
          JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id
          JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id
          )gp_17 ON gp_17.id=t2.id
      JOIN
      (SELECT t2.id
        FROM t2
        JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id
        JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id
        JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id
        JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id
        JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id
        JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id
        JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id
        )gp_18 ON gp_18.id=t2.id
      JOIN
      (SELECT t2.id
       FROM t2
       JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id
       JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id
       JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id
       JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id
       JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id
       JOIN t1 p9 ON p9.r=9 AND p9.uid=t2.id
       JOIN t1 p10 ON p10.r=10 AND p10.uid=t2.id
       )gp_19 ON gp_19.id=t2.id
      JOIN
      (SELECT t2.id
       FROM t2
       JOIN t1 p4 ON p4.r=4 AND p4.uid=t2.id
       JOIN t1 p5 ON p5.r=5 AND p5.uid=t2.id
       JOIN t1 p6 ON p6.r=6 AND p6.uid=t2.id
       JOIN t1 p7 ON p7.r=7 AND p7.uid=t2.id
       JOIN t1 p8 ON p8.r=8 AND p8.uid=t2.id
       ) gp_20 ON gp_20.id=t2.id ;
       
      DROP TABLE  t1, t2;
      

      5.5 9034e5e18e756eb8d

       /5.5/sql/sql_select.cc:6666: bool greedy_search(JOIN*, table_map, uint, uint): Assertion `join->best_read < double(1.79769313486231570815e+308L)' failed.
      190205 12:32:59 [ERROR] mysqld got signal 6 ;
       
      /usr/lib/x86_64-linux-gnu/libasan.so.2(+0x4a077)[0x7fea06315077]
      row/row0row.c:235(row_build)[0x14e2448]
      sql/sql_insert.cc:396(check_update_fields(THD*, TABLE_LIST*, List<Item>&, List<Item>&, bool, unsigned long long*))[0xa2fa07]
      /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7fea05a6b390]
      linux/raise.c:54(__GI_raise)[0x7fea04e36428]
      stdlib/abort.c:91(__GI_abort)[0x7fea04e3802a]
      assert/assert.c:92(__assert_fail_base)[0x7fea04e2ebd7]
      /lib/x86_64-linux-gnu/libc.so.6(+0x2dc82)[0x7fea04e2ec82]
      /5.5/sql/mysqld(_Z11choose_planP4JOINy+0xc72)[0x70594b]
      /5.5/sql/mysqld(_ZN4JOIN8optimizeEv+0x72d0)[0x7610f0]
      /5.5/sql/mysqld(_Z12mysql_selectP3THDPPP4ItemP10TABLE_LISTjR4ListIS1_ES2_jP8st_orderSB_S2_SB_yP13select_resultP18st_select_lex_unitP13st_select_lex+0x1bad)[0x76808c]
      /5.5/sql/mysqld(_Z19mysql_explain_unionP3THDP18st_select_lex_unitP13select_result+0x4b5)[0x7693db]
      /5.5/sql/mysqld[0x66a9b9]
      /5.5/sql/mysqld(_Z21mysql_execute_commandP3THD+0x16b5)[0x680967]
      /5.5/sql/mysqld(_Z11mysql_parseP3THDPcjP12Parser_state+0x3e9)[0x692640]
      /5.5/sql/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcj+0x19e2)[0x695a3d]
      /5.5/sql/mysqld(_Z10do_commandP3THD+0x695)[0x699b1b]
      /5.5/sql/mysqld(_Z24do_handle_one_connectionP3THD+0x34d)[0x8cbd08]
      /5.5/sql/mysqld(handle_one_connection+0xdc)[0x8cbf81]
      myisam/rt_mbr.c:502(rtree_overlapping_area)[0x1439774]
      /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7fea05a616ba]
      x86_64/clone.S:111(clone)[0x7fea04f0841d]
      

      on Non-Debug versions:

      10.3 7293ce0ee81f05b1ec3ac9dd

      Thread 1 (Thread 0x7f1b907f9700 (LWP 25102)):
      #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:62
      #1  0x000055fe9e3207da in my_write_core (sig=sig@entry=11) at /10.3/mysys/stacktrace.c:481
      #2  0x000055fe9de705b5 in handle_fatal_signal (sig=11) at /10.3/sql/signal_handler.cc:305
      #3  <signal handler called>
      #4  JOIN::fix_all_splittings_in_plan (this=this@entry=0x7f1b3c155878) at /10.3/sql/opt_split.cc:1146
      #5  0x000055fe9dcfda8b in JOIN::optimize_inner (this=this@entry=0x7f1b3c155878) at /10.3/sql/sql_select.cc:1905
      #6  0x000055fe9dcfdd3f in JOIN::optimize (this=this@entry=0x7f1b3c155878) at /10.3/sql/sql_select.cc:1451
      #7  0x000055fe9dcffcb4 in mysql_select (thd=thd@entry=0x7f1b3c0009a8, tables=0x7f1b3c0142a0, wild_num=<optimized out>, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748612, result=0x7f1b3c155240, unit=0x7f1b3c0046a0, select_lex=0x7f1b3c004e10) at /10.3/sql/sql_select.cc:4225
      #8  0x000055fe9dcfffc5 in mysql_explain_union (thd=thd@entry=0x7f1b3c0009a8, unit=unit@entry=0x7f1b3c0046a0, result=result@entry=0x7f1b3c155240) at /10.3/sql/sql_select.cc:25873
      #9  0x000055fe9dbd64b6 in execute_sqlcom_select (thd=thd@entry=0x7f1b3c0009a8, all_tables=<optimized out>) at /10.3/sql/sql_parse.cc:6490
      #10 0x000055fe9dcb1f13 in mysql_execute_command (thd=thd@entry=0x7f1b3c0009a8) at /10.3/sql/sql_parse.cc:3772
      #11 0x000055fe9dcb4149 in mysql_parse (thd=thd@entry=0x7f1b3c0009a8, rawbuf=<optimized out>, length=5470, parser_state=parser_state@entry=0x7f1b907f84b0, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /10.3/sql/sql_parse.cc:8095
      #12 0x000055fe9dcb69e8 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x7f1b3c0009a8, packet=packet@entry=0x7f1b3c009329 "", packet_length=packet_length@entry=5471, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /10.3/sql/sql_parse.cc:1854
      #13 0x000055fe9dcb7490 in do_command (thd=0x7f1b3c0009a8) at /10.3/sql/sql_parse.cc:1396
      #14 0x000055fe9dd7c5a4 in do_handle_one_connection (connect=connect@entry=0x55fea0f04418) at /10.3/sql/sql_connect.cc:1403
      #15 0x000055fe9dd7c724 in handle_one_connection (arg=arg@entry=0x55fea0f04418) at /10.3/sql/sql_connect.cc:1309
      #16 0x000055fe9e2de8b4 in pfs_spawn_thread (arg=0x55fea0f28f78) at /10.3/storage/perfschema/pfs.cc:1862
      #17 0x00007f1b97d256ba in start_thread (arg=0x7f1b907f9700) at pthread_create.c:333
      #18 0x00007f1b971ba41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
      
      

      Attachments

        Issue Links

          Activity

            alice Alice Sherepa added a comment -

            The same test as reported, but not EXPLAIN SELECT, just SELECT ...: server crashes on 10.2-10.4:

            mysqld: /git/10.2/sql/sql_select.cc:7510: bool greedy_search(JOIN*, table_map, uint, uint, uint): Assertion `join->best_read < double(1.79769313486231570815e+308L)' failed.
            190517 10:31:00 [ERROR] mysqld got signal 6 ;
             
            sql/sql_select.cc:7512(greedy_search(JOIN*, unsigned long long, unsigned int, unsigned int, unsigned int))[0x55c5184446f3]
            sql/sql_select.cc:7080(choose_plan(JOIN*, unsigned long long))[0x55c518442ab0]
            sql/sql_select.cc:4570(make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*))[0x55c518431771]
            sql/sql_select.cc:1583(JOIN::optimize_inner())[0x55c518415a6e]
            sql/sql_select.cc:1116(JOIN::optimize())[0x55c51841126d]
            sql/sql_select.cc:3806(mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x55c51842a7d5]
            sql/sql_select.cc:376(handle_select(THD*, LEX*, select_result*, unsigned long))[0x55c51840a0b5]
            sql/sql_parse.cc:6486(execute_sqlcom_select(THD*, TABLE_LIST*))[0x55c518391b51]
            sql/sql_parse.cc:3534(mysql_execute_command(THD*))[0x55c51837ef46]
            sql/sql_parse.cc:8020(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55c51839a2b5]
            sql/sql_parse.cc:1835(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x55c51837593f]
            sql/sql_parse.cc:1387(do_command(THD*))[0x55c518372abc]
            sql/sql_connect.cc:1335(do_handle_one_connection(CONNECT*))[0x55c51869c108]
            sql/sql_connect.cc:1242(handle_one_connection)[0x55c51869bb10]
            perfschema/pfs.cc:1864(pfs_spawn_thread)[0x55c519848f0a]
            /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7fe022da56ba]
            x86_64/clone.S:111(clone)[0x7fe02223a41d]
            

            10.4 d448cfc92a47b9afb, non-debug

            190517 10:47:45 [ERROR] mysqld got signal 11 ;
             
            sql/opt_split.cc:1148(JOIN::fix_all_splittings_in_plan())[0x55eafc126d10]
            sql/sql_select.cc:2208(JOIN::optimize_inner())[0x55eafc02cae1]
            sql/sql_select.cc:1563(JOIN::optimize())[0x55eafc02d273]
            sql/sql_select.cc:4589(mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x55eafc02dd8e]
            sql/sql_select.cc:424(handle_select(THD*, LEX*, select_result*, unsigned long))[0x55eafc02e79e]
            sql/sql_parse.cc:6600(execute_sqlcom_select(THD*, TABLE_LIST*) [clone .constprop.283])[0x55eafbef35b7]
            sql/sql_parse.cc:3887(mysql_execute_command(THD*))[0x55eafbfdf026]
            sql/sql_parse.cc:8150(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55eafbfe0d89]
            sql/sql_parse.cc:1893(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x55eafbfe3026]
            sql/sql_parse.cc:1362(do_command(THD*))[0x55eafbfe4659]
            sql/sql_connect.cc:1403(do_handle_one_connection(CONNECT*))[0x55eafc0b1d54]
            sql/sql_connect.cc:1308(handle_one_connection)[0x55eafc0b1e74]
            perfschema/pfs.cc:1865(pfs_spawn_thread)[0x55eafc64a654]
            /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f73f44a56ba]
            x86_64/clone.S:111(clone)[0x7f73f373641d]
            

            10.2 cd16d6d518761d1448 non-debug

            190517 11:09:40 [ERROR] mysqld got signal 11 ;
             
            sql/opt_subselect.cc:3594(fix_semijoin_strategies_for_picked_join_order(JOIN*))[0x5626e6314b49]
            sql/sql_select.cc:9008(JOIN::get_best_combination())[0x5626e6248775]
            sql/sql_select.cc:4602(make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*) [clone .constprop.357])[0x5626e62611a5]
            sql/sql_select.cc:1583(JOIN::optimize_inner())[0x5626e62663c5]
            sql/sql_select.cc:1117(JOIN::optimize())[0x5626e626938a]
            sql/sql_select.cc:3806(mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x5626e626b38e]
            sql/sql_select.cc:376(handle_select(THD*, LEX*, select_result*, unsigned long))[0x5626e626b4ee]
            sql/sql_parse.cc:6488(execute_sqlcom_select(THD*, TABLE_LIST*) [clone .constprop.198])[0x5626e6169ad1]
            sql/sql_parse.cc:3534(mysql_execute_command(THD*))[0x5626e621c098]
            sql/sql_parse.cc:8020(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x5626e622139d]
            sql/sql_parse.cc:1833(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x5626e6224004]
            sql/sql_parse.cc:1389(do_command(THD*))[0x5626e62248ef]
            sql/sql_connect.cc:1335(do_handle_one_connection(CONNECT*))[0x5626e62e3cb4]
            sql/sql_connect.cc:1243(handle_one_connection)[0x5626e62e3e24]
            perfschema/pfs.cc:1865(pfs_spawn_thread)[0x5626e682d264]
            /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f58349be6ba]
            x86_64/clone.S:111(clone)[0x7f5833e5341d]
            

            alice Alice Sherepa added a comment - The same test as reported, but not EXPLAIN SELECT, just SELECT ...: server crashes on 10.2-10.4: mysqld: /git/10.2/sql/sql_select.cc:7510: bool greedy_search(JOIN*, table_map, uint, uint, uint): Assertion `join->best_read < double(1.79769313486231570815e+308L)' failed. 190517 10:31:00 [ERROR] mysqld got signal 6 ;   sql/sql_select.cc:7512(greedy_search(JOIN*, unsigned long long, unsigned int, unsigned int, unsigned int))[0x55c5184446f3] sql/sql_select.cc:7080(choose_plan(JOIN*, unsigned long long))[0x55c518442ab0] sql/sql_select.cc:4570(make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*))[0x55c518431771] sql/sql_select.cc:1583(JOIN::optimize_inner())[0x55c518415a6e] sql/sql_select.cc:1116(JOIN::optimize())[0x55c51841126d] sql/sql_select.cc:3806(mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x55c51842a7d5] sql/sql_select.cc:376(handle_select(THD*, LEX*, select_result*, unsigned long))[0x55c51840a0b5] sql/sql_parse.cc:6486(execute_sqlcom_select(THD*, TABLE_LIST*))[0x55c518391b51] sql/sql_parse.cc:3534(mysql_execute_command(THD*))[0x55c51837ef46] sql/sql_parse.cc:8020(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55c51839a2b5] sql/sql_parse.cc:1835(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x55c51837593f] sql/sql_parse.cc:1387(do_command(THD*))[0x55c518372abc] sql/sql_connect.cc:1335(do_handle_one_connection(CONNECT*))[0x55c51869c108] sql/sql_connect.cc:1242(handle_one_connection)[0x55c51869bb10] perfschema/pfs.cc:1864(pfs_spawn_thread)[0x55c519848f0a] /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7fe022da56ba] x86_64/clone.S:111(clone)[0x7fe02223a41d] 10.4 d448cfc92a47b9afb, non-debug 190517 10:47:45 [ERROR] mysqld got signal 11 ;   sql/opt_split.cc:1148(JOIN::fix_all_splittings_in_plan())[0x55eafc126d10] sql/sql_select.cc:2208(JOIN::optimize_inner())[0x55eafc02cae1] sql/sql_select.cc:1563(JOIN::optimize())[0x55eafc02d273] sql/sql_select.cc:4589(mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x55eafc02dd8e] sql/sql_select.cc:424(handle_select(THD*, LEX*, select_result*, unsigned long))[0x55eafc02e79e] sql/sql_parse.cc:6600(execute_sqlcom_select(THD*, TABLE_LIST*) [clone .constprop.283])[0x55eafbef35b7] sql/sql_parse.cc:3887(mysql_execute_command(THD*))[0x55eafbfdf026] sql/sql_parse.cc:8150(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55eafbfe0d89] sql/sql_parse.cc:1893(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x55eafbfe3026] sql/sql_parse.cc:1362(do_command(THD*))[0x55eafbfe4659] sql/sql_connect.cc:1403(do_handle_one_connection(CONNECT*))[0x55eafc0b1d54] sql/sql_connect.cc:1308(handle_one_connection)[0x55eafc0b1e74] perfschema/pfs.cc:1865(pfs_spawn_thread)[0x55eafc64a654] /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f73f44a56ba] x86_64/clone.S:111(clone)[0x7f73f373641d] 10.2 cd16d6d518761d1448 non-debug 190517 11:09:40 [ERROR] mysqld got signal 11 ;   sql/opt_subselect.cc:3594(fix_semijoin_strategies_for_picked_join_order(JOIN*))[0x5626e6314b49] sql/sql_select.cc:9008(JOIN::get_best_combination())[0x5626e6248775] sql/sql_select.cc:4602(make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*) [clone .constprop.357])[0x5626e62611a5] sql/sql_select.cc:1583(JOIN::optimize_inner())[0x5626e62663c5] sql/sql_select.cc:1117(JOIN::optimize())[0x5626e626938a] sql/sql_select.cc:3806(mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x5626e626b38e] sql/sql_select.cc:376(handle_select(THD*, LEX*, select_result*, unsigned long))[0x5626e626b4ee] sql/sql_parse.cc:6488(execute_sqlcom_select(THD*, TABLE_LIST*) [clone .constprop.198])[0x5626e6169ad1] sql/sql_parse.cc:3534(mysql_execute_command(THD*))[0x5626e621c098] sql/sql_parse.cc:8020(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x5626e622139d] sql/sql_parse.cc:1833(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x5626e6224004] sql/sql_parse.cc:1389(do_command(THD*))[0x5626e62248ef] sql/sql_connect.cc:1335(do_handle_one_connection(CONNECT*))[0x5626e62e3cb4] sql/sql_connect.cc:1243(handle_one_connection)[0x5626e62e3e24] perfschema/pfs.cc:1865(pfs_spawn_thread)[0x5626e682d264] /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f58349be6ba] x86_64/clone.S:111(clone)[0x7f5833e5341d]
            igor Igor Babaev (Inactive) added a comment - - edited

            I tried to run the reported test case on MySQL-8.0 without any success.

            igor Igor Babaev (Inactive) added a comment - - edited I tried to run the reported test case on MySQL-8.0 without any success.

            A fix of this bug was pushed into 5.5.
            The patch should be merged upstream as it is.

            igor Igor Babaev (Inactive) added a comment - A fix of this bug was pushed into 5.5. The patch should be merged upstream as it is.

            People

              igor Igor Babaev (Inactive)
              alice Alice Sherepa
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.