[MDEV-23006] MariaDB service crashes when running the DESCRIBE command Created: 2020-06-24 Updated: 2020-06-24 Resolved: 2020-06-24 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Server |
| Affects Version/s: | 10.4.12 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Major |
| Reporter: | Andy Ling | Assignee: | Vladislav Vaintroub |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Environment: |
Windows server 2018 64bit running a java app using mariadb connector/J 2.5.4 |
||
| Issue Links: |
|
||||||||
| Description |
|
I am running MariaDB 10.4.12 on Windows Server 2018. I am connecting to it from a Java application using mariadb-java-client-2.5.4 I use Statement.executeQuery(string) to execute a query on the database. Most of the time this works without a problem, but I have just found that if the query is “DESCRIBE servers”, where servers is the name of a table, it crashes the MariaDB service. I can run the query without a problem from the mysql shell, it is only when running it through the java connector. The error log crash data is shown below. Version: '10.4.12-MariaDB-log' socket: '' port: 3306 mariadb.org binary distribution 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 Server version: 10.4.12-MariaDB-log Thread pointer: 0x209c95a8 Trying to get some variables. Optimizer switch: index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=on,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=on,condition_pushdown_for_derived=on,split_materialized=on,condition_pushdown_for_subquery=on,rowid_filter=on,condition_pushdown_from_having=on The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains |
| Comments |
| Comment by Vladislav Vaintroub [ 2020-06-24 ] |
|
Helpful error log shows that JDBC transformed your query into "SET STATEMENT max_statement_time=5 FOR describe servers". you probably have some JDBC timeout set. Alas, the query is valid still. |
| Comment by Andy Ling [ 2020-06-24 ] |
|
There is a call to setQueryTimeout just before the executeQuery call, but this happens for the queries that work too. |
| Comment by Andy Ling [ 2020-06-24 ] |
|
If I comment out the call to setQueryTimeout then it doesn't crash. The Java code looks like this... conn = DBCluster.getReadConnection () ; It crashes on the execute, not the set timeout. I guess the DESCRIBE call doesn't like the timeout being set. But as you say, it shouldn't crash. |
| Comment by Vladislav Vaintroub [ 2020-06-24 ] |
|
this is fixed in 10.4.13, |