Description:
An assertion failure occurred in the process of fuzzing:
```
2022-07-10T10:56:42.481843Z 0 [System] [MY-010931] [Server] /home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld: ready for connections. Version: '8.0.29-debug-asan' socket: '/tmp/mysql.sock' port: 3306 Source distribution.
mysqld: /home/mysql-server/mysql-8.0.29-origin/sql/item.cc:6339: Field *Item::tmp_table_field_from_field_type(TABLE *, bool) const: Assertion `max_length == 4' failed.
10:57:01 UTC - mysqld got signal 6 ;
Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
Thread pointer: 0x62700028e900
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 = 7f6c0179bb20 thread_stack 0x100000
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld(__interceptor_backtrace+0x5b) [0x5e4e34b]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld(my_print_stacktrace(unsigned char const*, unsigned long)+0x10d) [0xb6ab1cd]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld(print_fatal_signal(int)+0x389) [0x8149469]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld(handle_fatal_signal+0x175) [0x8149ab5]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390) [0x7f6c329a6390]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38) [0x7f6c30e9a438]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x16a) [0x7f6c30e9c03a]
/lib/x86_64-linux-gnu/libc.so.6(+0x2dbe7) [0x7f6c30e92be7]
/lib/x86_64-linux-gnu/libc.so.6(+0x2dc92) [0x7f6c30e92c92]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld(Item::tmp_table_field_from_field_type(TABLE*, bool) const+0x226c) [0x624261c]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld(Item_aggregate_type::make_field_by_type(TABLE*, bool)+0x486) [0x627a006]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld(create_tmp_field(THD*, TABLE*, Item*, Item::Type, Mem_root_array<Func_ptr>*, Field**, Field**, bool, bool, bool, bool)+0xe8f) [0x7dc1f9f]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld(create_tmp_table(THD*, Temp_table_param*, mem_root_deque<Item*> const&, ORDER*, bool, bool, unsigned long long, unsigned long long, char const*)+0x1f2e) [0x7dc646e]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld(Query_result_union::create_result_table(THD*, mem_root_deque<Item*> const&, bool, unsigned long long, char const*, bool, bool)+0x7e0) [0x7e10de0]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld(TABLE_LIST::setup_materialized_derived_tmp_table(THD*)+0xb2d) [0x75c299d]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld(Query_expression::prepare(THD*, Query_result*, mem_root_deque<Item*>*, unsigned long long, unsigned long long)+0xe8a) [0x7e1379a]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld(TABLE_LIST::resolve_derived(THD*, bool)+0xa2e) [0x75be69e]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld(Query_block::resolve_placeholder_tables(THD*, bool)+0x387) [0x7abab07]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld(Query_block::prepare(THD*, mem_root_deque<Item*>*)+0xbad) [0x7ab354d]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld(Sql_cmd_select::prepare_inner(THD*)+0x80a) [0x7b62e2a]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld(Sql_cmd_dml::prepare(THD*)+0x12c5) [0x7b61055]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld(Sql_cmd_dml::execute(THD*)+0x8fc) [0x7b63d1c]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld(mysql_execute_command(THD*, bool)+0x3583) [0x794fbc3]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld(dispatch_sql_command(THD*, Parser_state*)+0x1b5d) [0x7945c8d]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld(dispatch_command(THD*, COM_DATA const*, enum_server_command)+0x756f) [0x793a43f]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld(do_command(THD*)+0xf9c) [0x794149c]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld() [0x80d00a2]
/home/mysql-server/mysql-8.0.29-origin-dev/bin/mysqld() [0xd6ac2da]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba) [0x7f6c3299c6ba]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f6c30f6c51d]
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (613000d09b70): WITH RECURSIVE v0 ( v1 ) AS ( SELECT CAST( CAST( 1 AS SIGNED ) AS YEAR ) UNION SELECT 'x' NOT LIKE 'x' FROM v0 WHERE '1908-02-14' < 13915061.000000 ) SELECT DISTINCTROW SQL_BIG_RESULT ra0 . v1 , ra0 . v1 , 'x' AS ca0 , ra0 . v1 FROM v0 ra0 WHERE 'ZJ' AND ra0 . v1 = '1908-02-14' LIMIT 1000
Connection ID (thread ID): 8
Status: NOT_KILLED
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
```
Observed that 8.0.29-release not affected.
How to repeat:
Test case:
```
CREATE TEMPORARY TABLE v0 ( v1 NUMERIC PRIMARY KEY ) ;
INSERT INTO v0 ( v1 ) VALUES ( 1 ) , ( 3 ) , ( 5.000000 ) ;
WITH RECURSIVE v0 ( v1 ) AS ( SELECT CAST( CAST( 1 AS SIGNED ) AS YEAR ) UNION SELECT 'x' NOT LIKE 'x' FROM v0 WHERE '1908-02-14' < 13915061.000000 ) SELECT DISTINCTROW SQL_BIG_RESULT ra0 . v1 , ra0 . v1 , 'x' AS ca0 , ra0 . v1 FROM v0 ra0 WHERE 'ZJ' AND ra0 . v1 = '1908-02-14' LIMIT 1000 ;
```