[MDEV-12614] Connect Crash with DECIMAL column Created: 2017-04-28  Updated: 2020-08-25  Resolved: 2017-04-28

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - Connect
Affects Version/s: 10.1.19
Fix Version/s: 10.1.23, 10.0.31

Type: Bug Priority: Major
Reporter: Will Fong Assignee: Olivier Bertrand
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Duplicate
duplicates MDEV-12520 ConnectSE truncating data on DECIMAL ... Closed

 Description   

A customer deployment is getting a crash:

170417 20:35:57 [ERROR] mysqld got signal 11 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
 
To report this bug, see https://mariadb.com/kb/en/reporting-bugs
 
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.
 
Server version: 10.1.19-MariaDB-enterprise
key_buffer_size=16777216
read_buffer_size=131072
max_used_connections=39
max_threads=302
thread_count=6
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 679718 K bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
 
Thread pointer: 0x0x7c64e38e7008
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 = 0x7f2dc88b9cb0 thread_stack 0x40000
(my_addr_resolve failure: fork)
/usr/sbin/mysqld(my_print_stacktrace+0x2e) [0x7f44f76e1eee]
/usr/sbin/mysqld(handle_fatal_signal+0x2d5) [0x7f44f72050f5]
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64/jre/lib/amd64/server/libjvm.so(+0x86f85d) [0x7f2c5ad7385d]
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64/jre/lib/amd64/server/libjvm.so(JVM_handle_linux_signal+0x1b1) [0x7f2c5ad783b1]
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64/jre/lib/amd64/server/libjvm.so(+0x868748) [0x7f2c5ad6c748]
/lib64/libpthread.so.0(+0xf100) [0x7f44f681f100]
/var/lib/mysql/lib64/mysql/plugin/ha_connect.so(ha_connect::info(unsigned int)+0x53) [0x7f44ed8ec9f3]
/usr/sbin/mysqld(+0x49c369) [0x7f44f70ec369]
/usr/sbin/mysqld(+0x48fd66) [0x7f44f70dfd66]
/usr/sbin/mysqld(get_all_tables(THD*, TABLE_LIST*, Item*)+0x7eb) [0x7f44f70f306b]
/usr/sbin/mysqld(get_schema_tables_result(JOIN*, enum_schema_table_state)+0x28e) [0x7f44f70f476e]
/usr/sbin/mysqld(JOIN::exec_inner()+0x6bd) [0x7f44f70dacad]
/usr/sbin/mysqld(JOIN::exec()+0x54) [0x7f44f70dd134]
/usr/sbin/mysqld(mysql_select(THD*, Item***, 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*)+0x112) [0x7f44f70d97d2]
/usr/sbin/mysqld(handle_select(THD*, LEX*, select_result*, unsigned long)+0x245) [0x7f44f70da2b5]
/usr/sbin/mysqld(+0x429291) [0x7f44f7079291]
/usr/sbin/mysqld(mysql_execute_command(THD*)+0x5f8f) [0x7f44f70855bf]
/usr/sbin/mysqld(mysql_parse(THD*, char*, unsigned int, Parser_state*)+0x352) [0x7f44f7088f52]
/usr/sbin/mysqld(dispatch_command(enum_server_command, THD*, char*, unsigned int)+0x25db) [0x7f44f708c42b]
/usr/sbin/mysqld(do_command(THD*)+0x169) [0x7f44f708cca9]
/usr/sbin/mysqld(do_handle_one_connection(THD*)+0x18a) [0x7f44f715380a]
/usr/sbin/mysqld(handle_one_connection+0x40) [0x7f44f71539e0]
/lib64/libpthread.so.0(+0x7dc5) [0x7f44f6817dc5]
/lib64/libc.so.6(clone+0x6d) [0x7f44f4c3a1cd]

Prior to that crash, we were seeing errors like this:

rnd_next CONNECT: Value 39241345239110.007812 too long for string of length 20
rnd_next CONNECT: Value 65951840738000.007812 too long for string of length 20

To reproduce the crash, all we needed to do was use Connect/JDBC to connect to a table that had a DECIMAL(18,3) column, and then insert data that maximized the column, e.g., 22,345,678,901,234.560.

"Smaller" values seemed to have worked, but not sure where the break point is.

Thanks!



 Comments   
Comment by Alvin Richards (Inactive) [ 2017-04-28 ]

bertrandop just assigned this, can you take a look at your first connivence please.

Comment by Olivier Bertrand [ 2017-04-28 ]

This was already related and fixed. See MDEV-12520.

Generated at Thu Feb 08 07:59:06 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.