Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.5.34
    • Fix Version/s: 5.5.35
    • Component/s: Parser
    • Labels:
      None
    • Environment:
      distro : GNU/Linux Debian 6.0.8
      kernel : Linux 2.6.32-5-amd64 #1 SMP Fri May 10 08:43:19 UTC 2013 x86_64 GNU/Linux
      hardware : vmware 5.0
      RAM : 48Gb
      CPU : 4 core Intel(R) Xeon(R) CPU X5690 @ 3.47GHz

      Description

      Hello,

      we had an issue with mariadb 5.5.34 and no idea why.
      We couldn't reproduce the problem after several retries but may be the stack trace is more readble and useful by developpers ?

      Jan 27 11:23:43 server01-prod mysqld: 140127 11:23:43 [ERROR] mysqld got signal 11 ;
      Jan 27 11:23:43 server01-prod mysqld: This could be because you hit a bug. It is also possible that this binary
      Jan 27 11:23:43 server01-prod mysqld: or one of the libraries it was linked against is corrupt, improperly built,
      Jan 27 11:23:43 server01-prod mysqld: or misconfigured. This error can also be caused by malfunctioning hardware.
      Jan 27 11:23:43 server01-prod mysqld: 
      Jan 27 11:23:43 server01-prod mysqld: To report this bug, see http://kb.askmonty.org/en/reporting-bugs
      Jan 27 11:23:43 server01-prod mysqld: 
      Jan 27 11:23:43 server01-prod mysqld: We will try our best to scrape up some info that will hopefully help
      Jan 27 11:23:43 server01-prod mysqld: diagnose the problem, but since we have already crashed, 
      Jan 27 11:23:43 server01-prod mysqld: something is definitely wrong and this may fail.
      Jan 27 11:23:43 server01-prod mysqld: 
      Jan 27 11:23:43 server01-prod mysqld: Server version: 5.5.34-MariaDB-1~squeeze
      Jan 27 11:23:43 server01-prod mysqld: key_buffer_size=12884901888
      Jan 27 11:23:43 server01-prod mysqld: read_buffer_size=262144
      Jan 27 11:23:43 server01-prod mysqld: max_used_connections=10
      Jan 27 11:23:43 server01-prod mysqld: max_threads=102
      Jan 27 11:23:43 server01-prod mysqld: thread_count=5
      Jan 27 11:23:43 server01-prod mysqld: It is possible that mysqld could use up to 
      Jan 27 11:23:43 server01-prod mysqld: key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 14281995 K  bytes of memory
      Jan 27 11:23:43 server01-prod mysqld: Hope that's ok; if not, decrease some variables in the equation.
      Jan 27 11:23:43 server01-prod mysqld: 
      Jan 27 11:23:43 server01-prod mysqld: Thread pointer: 0x0x7f90ed530090
      Jan 27 11:23:43 server01-prod mysqld: Attempting backtrace. You can use the following information to find out
      Jan 27 11:23:43 server01-prod mysqld: where mysqld died. If you see no messages after this, something went
      Jan 27 11:23:43 server01-prod mysqld: terribly wrong...
      Jan 27 11:23:43 server01-prod mysqld: stack_bottom = 0x7f8a57ffee58 thread_stack 0x48000
      Jan 27 11:23:44 server01-prod mysqld: (my_addr_resolve failure: fork)
      Jan 27 11:23:44 server01-prod mysqld: /usr/sbin/mysqld(my_print_stacktrace+0x2e) [0x7f90d3dfa21e]
      Jan 27 11:23:44 server01-prod mysqld: /usr/sbin/mysqld(handle_fatal_signal+0x4ac) [0x7f90d39fa41c]
      Jan 27 11:23:44 server01-prod mysqld: /lib/libpthread.so.0(+0xeff0) [0x7f90d30f2ff0]
      Jan 27 11:23:44 server01-prod mysqld: /usr/sbin/mysqld(Item_func_group_concat::fix_fields(THD*, Item**)+0x173) [0x7f90d3aa7c83]
      Jan 27 11:23:44 server01-prod mysqld: /usr/sbin/mysqld(setup_fields(THD*, Item**, List<Item>&, enum_mark_columns, List<Item>*, bool)+0x193) [0x7f90d384ec63]
      Jan 27 11:23:44 server01-prod mysqld: /usr/sbin/mysqld(+0x3b868b) [0x7f90d38d868b]
      Jan 27 11:23:44 server01-prod mysqld: /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*)+0x84f) [0x7f90d38f49bf]
      Jan 27 11:23:44 server01-prod mysqld: /usr/sbin/mysqld(handle_select(THD*, LEX*, select_result*, unsigned long)+0x2b3) [0x7f90d38f4f13]
      Jan 27 11:23:44 server01-prod mysqld: /usr/sbin/mysqld(+0x379f9f) [0x7f90d3899f9f]
      Jan 27 11:23:44 server01-prod mysqld: /usr/sbin/mysqld(mysql_execute_command(THD*)+0x3427) [0x7f90d38a10c7]
      Jan 27 11:23:44 server01-prod mysqld: /usr/sbin/mysqld(mysql_parse(THD*, char*, unsigned int, Parser_state*)+0x29b) [0x7f90d38a3f4b]
      Jan 27 11:23:44 server01-prod mysqld: /usr/sbin/mysqld(dispatch_command(enum_server_command, THD*, char*, unsigned int)+0x17f2) [0x7f90d38a5802]
      Jan 27 11:23:44 server01-prod mysqld: /usr/sbin/mysqld(do_handle_one_connection(THD*)+0x419) [0x7f90d396c219]
      Jan 27 11:23:44 server01-prod mysqld: /usr/sbin/mysqld(handle_one_connection+0x51) [0x7f90d396c2d1]
      Jan 27 11:23:44 server01-prod mysqld: /lib/libpthread.so.0(+0x68ca) [0x7f90d30ea8ca]
      Jan 27 11:23:44 server01-prod mysqld: /lib/libc.so.6(clone+0x6d) [0x7f90d1a69b6d]
      Jan 27 11:23:44 server01-prod mysqld: 
      Jan 27 11:23:44 server01-prod mysqld: Trying to get some variables.
      Jan 27 11:23:44 server01-prod mysqld: Some pointers may be invalid and cause the dump to abort.
      Jan 27 11:23:44 server01-prod mysqld: Query (0x7f90eced5728): SELECT	pbw.date AS 'date',
      Jan 27 11:23:44 server01-prod mysqld: 		s.name AS 'Website',
      Jan 27 11:23:44 server01-prod mysqld: 		b.name AS 'Brand',
      Jan 27 11:23:44 server01-prod mysqld: 		pat.name AS 'Pattern',
      Jan 27 11:23:44 server01-prod mysqld: 		group_concat(DISTINCT oe.name ORDER BY oe.name SEPARATOR '/' ) AS 'OE Marking',
      Jan 27 11:23:44 server01-prod mysqld: 		d.width AS 'Width',
      Jan 27 11:23:44 server01-prod mysqld: 		d.ratio AS 'Ratio',
      Jan 27 11:23:44 server01-prod mysqld: 		d.diameter AS 'Diameter',
      Jan 27 11:23:44 server01-prod mysqld: 		d.load_index AS 'Load Index',
      Jan 27 11:23:44 server01-prod mysqld: 		d.speed_index AS 'Speed Index',
      Jan 27 11:23:44 server01-prod mysqld: 		IF (pat.run_flat =1 ,'Yes','no') AS 'Runflat',
      Jan 27 11:23:44 server01-prod mysqld: 		pbw.wprice_min AS 'Min Price',
      Jan 27 11:23:44 server01-prod mysqld: 		pbw.wprice_sum / pbw.wprice_count AS 'AVG Price',
      Jan 27 11:23:44 server01-prod mysqld: 		pbw.wprice_max AS 'Max Price'
      Jan 27 11:23:44 server01-prod mysqld: FROM t_price_by_week pbw
      Jan 27 11:23:44 server01-prod mysqld: STRAIGHT_JOIN t_site s
      Jan 27 11:23:44 server01-prod mysqld: 	ON pbw.website_id = s.id
      Jan 27 11:23:44 server01-prod mysqld: STRAIGHT_JOIN t_tyre t
      Jan 27 11:23:44 server01-prod mysqld: 	ON pbw.tyre_id = t.id
      Jan 27 11:23:44 server01-prod mysqld: STRAIGHT_JOIN t_pattern pat
      Jan 27 11:23:44 server01-prod mysqld: 	ON t.pattern_id = pat.id
      Jan 27 11:23:44 server01-prod mysqld: STRAIGHT_JOIN t_product prod
      Jan 27 11:23:44 server01-prod mysqld: 	ON pat.product_id = prod.id
      Jan 27 11:23:44 server01-prod mysqld: STRAIGHT_JOIN t_range r
      Jan 27 11:23:44 server01-prod mysqld: 	ON prod.range_id = r.id
      Jan 27 11:23:44 server01-prod mysqld: STRAIGHT_JOIN t_brand b
      Jan 27 11:23:44 server01-prod mysqld: 	ON r.brand_id = b.id
      Jan 27 11:23:44 server01-prod mysqld: STRAIGHT_JOIN t_tyre_dimension d
      Jan 27 11:23:44 server01-prod mysqld: 	ON t.tyre_dimension_id = d.id
      Jan 27 11:23:44 server01-prod mysqld: STRAIGHT_JOIN t_pattern_oe_marking poe
      Jan 27 11:23:44 server01-prod mysqld: 	ON poe.pattern_id = pat.id
      Jan 27 11:23:44 server01-prod mysqld: STRAIGHT_JOIN t_oe_marking oe
      Jan 27 11:23:44 server01-prod mysqld: 	ON poe.oe_marking_id = oe.id
      Jan 27 11:23:44 server01-prod mysqld: WHERE pbw.date = '2014-01-20'
      Jan 27 11:23:44 server01-prod mysqld: AND s.code IN ('360cn','amacn','tmabr','carcn','maicn','suncn','tmacn','tuhcn','tyrcn')
      Jan 27 11:23:44 server01-prod mysqld: GROUP BY s.id,t.id
      Jan 27 11:23:44 server01-prod mysqld: 
      Jan 27 11:23:44 server01-prod mysqld: Connection ID (thread ID): 518526
      Jan 27 11:23:44 server01-prod mysqld: Status: NOT_KILLED
      Jan 27 11:23:44 server01-prod mysqld: 
      Jan 27 11:23:44 server01-prod mysqld: 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=off,table_elimination=on,extended_keys=off
      Jan 27 11:23:44 server01-prod mysqld: 
      Jan 27 11:23:44 server01-prod mysqld: The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
      Jan 27 11:23:44 server01-prod mysqld: information that should help you find out what is causing the crash.
      Jan 27 11:23:47 server01-prod mysqld_safe: Number of processes running now: 0
      Jan 27 11:23:47 server01-prod mysqld_safe: mysqld restarted
      Jan 27 11:23:48 server01-prod mysqld: 140127 11:23:48 InnoDB: The InnoDB memory heap is disabled
      Jan 27 11:23:48 server01-prod mysqld: 140127 11:23:48 InnoDB: Mutexes and rw_locks use GCC atomic builtins
      Jan 27 11:23:48 server01-prod mysqld: 140127 11:23:48 InnoDB: Compressed tables use zlib 1.2.3.4
      Jan 27 11:23:48 server01-prod mysqld: 140127 11:23:48 InnoDB: Using Linux native AIO
      Jan 27 11:23:48 server01-prod mysqld: 140127 11:23:48  InnoDB: Warning: io_setup() failed with EAGAIN. Will make 5 attempts before giving up.
      Jan 27 11:23:48 server01-prod mysqld: InnoDB: Warning: io_setup() attempt 1 failed.
      Jan 27 11:23:49 server01-prod mysqld: InnoDB: Warning: io_setup() attempt 2 failed.
      Jan 27 11:23:49 server01-prod mysqld: InnoDB: Warning: io_setup() attempt 3 failed.
      Jan 27 11:23:50 server01-prod mysqld: InnoDB: Warning: io_setup() attempt 4 failed.
      Jan 27 11:23:50 server01-prod mysqld: InnoDB: Warning: io_setup() attempt 5 failed.
      Jan 27 11:23:51 server01-prod mysqld: 140127 11:23:51  InnoDB: Error: io_setup() failed with EAGAIN after 5 attempts.
      Jan 27 11:23:51 server01-prod mysqld: InnoDB: You can disable Linux Native AIO by setting innodb_use_native_aio = 0 in my.cnf
      Jan 27 11:23:51 server01-prod mysqld:   InnoDB: Warning: Linux Native AIO disabled because os_aio_linux_create_io_ctx() failed. To get rid of this warning you can try increasing system fs.aio-max-nr to 1048576 or larger or setting innodb_use_native_aio = 0 in my.cnf
      Jan 27 11:23:51 server01-prod mysqld: 140127 11:23:51 InnoDB: Initializing buffer pool, size = 12.0G
      Jan 27 11:23:52 server01-prod mysqld: 140127 11:23:52 InnoDB: Completed initialization of buffer pool
      Jan 27 11:23:52 server01-prod mysqld: 140127 11:23:52 InnoDB: highest supported file format is Barracuda.
      Jan 27 11:23:52 server01-prod mysqld: InnoDB: The log sequence number in ibdata files does not match
      Jan 27 11:23:52 server01-prod mysqld: InnoDB: the log sequence number in the ib_logfiles!
      Jan 27 11:23:52 server01-prod mysqld: 140127 11:23:52  InnoDB: Database was not shut down normally!
      Jan 27 11:23:52 server01-prod mysqld: InnoDB: Starting crash recovery.
      Jan 27 11:23:52 server01-prod mysqld: InnoDB: Reading tablespace information from the .ibd files...
      Jan 27 11:24:01 server01-prod mysqld: InnoDB: Restoring possible half-written data pages from the doublewrite
      Jan 27 11:24:01 server01-prod mysqld: InnoDB: buffer...
      Jan 27 11:24:05 server01-prod mysqld: InnoDB: Last MySQL binlog file position 0 41890574, file name /home/mysql/log/mariadb-bin.004155
      Jan 27 11:24:05 server01-prod mysqld: 140127 11:24:05  InnoDB: Waiting for the background threads to start
      Jan 27 11:24:06 server01-prod mysqld: 140127 11:24:06 Percona XtraDB (http://www.percona.com) 5.5.34-MariaDB-31.1 started; log sequence number 374319885837
      Jan 27 11:24:06 server01-prod mysqld: 140127 11:24:06 [Note] Plugin 'FEEDBACK' is disabled.
      Jan 27 11:24:06 server01-prod mysqld: 140127 11:24:06 [Note] Server socket created on IP: '0.0.0.0'.
      Jan 27 11:24:06 server01-prod mysqld: 140127 11:24:06 [ERROR] mysqld: Table './mysql/user' is marked as crashed and should be repaired
      Jan 27 11:24:06 server01-prod mysqld: 140127 11:24:06 [ERROR] mysqld: Table 'user' is marked as crashed and should be repaired
      Jan 27 11:24:06 server01-prod mysqld: 140127 11:24:06 [Warning] Checking table:   './mysql/user'
      Jan 27 11:24:06 server01-prod mysqld: 140127 11:24:06 [ERROR] mysql.user: 1 client is using or hasn't closed the table properly
      Jan 27 11:24:06 server01-prod mysqld: 140127 11:24:06 [ERROR] mysqld: Table './mysql/db' is marked as crashed and should be repaired
      Jan 27 11:24:06 server01-prod mysqld: 140127 11:24:06 [ERROR] mysqld: Table 'db' is marked as crashed and should be repaired
      Jan 27 11:24:06 server01-prod mysqld: 140127 11:24:06 [Warning] Checking table:   './mysql/db'
      Jan 27 11:24:06 server01-prod mysqld: 140127 11:24:06 [ERROR] mysql.db: 1 client is using or hasn't closed the table properly
      Jan 27 11:24:06 server01-prod mysqld: 140127 11:24:06 [Note] Event Scheduler: Loaded 0 events
      Jan 27 11:24:06 server01-prod mysqld: 140127 11:24:06 [Note] /usr/sbin/mysqld: ready for connections.
      Jan 27 11:24:06 server01-prod mysqld: Version: '5.5.34-MariaDB-1~squeeze'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution
      Jan 27 11:29:52 server01-prod mysqld: 140127 11:29:52 [ERROR] mysqld: Table './mysql/proc' is marked as crashed and should be repaired
      Jan 27 11:29:52 server01-prod mysqld: 140127 11:29:52 [ERROR] mysqld: Table 'proc' is marked as crashed and should be repaired
      Jan 27 11:29:52 server01-prod mysqld: 140127 11:29:52 [Warning] Checking table:   './mysql/proc'
      Jan 27 11:29:55 server01-prod mysqld: 140127 11:29:55 [ERROR] mysqld: Table './bidb/t_price_by_month' is marked as crashed and should be repaired
      Jan 27 11:29:55 server01-prod mysqld: 140127 11:29:55 [ERROR] mysqld: Table 't_price_by_month' is marked as crashed and should be repaired
      Jan 27 11:29:55 server01-prod mysqld: 140127 11:29:55 [Warning] Checking table:   './bidb/t_price_by_month'
      Jan 27 11:30:06 server01-prod mysqld: 140127 11:30:06 [ERROR] mysqld: Table './bidb/t_price_by_week' is marked as crashed and should be repaired
      Jan 27 11:30:06 server01-prod mysqld: 140127 11:30:06 [ERROR] mysqld: Table 't_price_by_week' is marked as crashed and should be repaired
      Jan 27 11:30:06 server01-prod mysqld: 140127 11:30:06 [Warning] Checking table:   './bidb/t_price_by_week'
      (...)
      

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            elenst Elena Stepanova added a comment -

            Hi,

            Thank you for the report.
            Would you be able to provide the data dump for the tables involved in the query?
            You can upload it to ftp.askmonty.org/private so it won't be publicly available.
            If you cannot provide the data, please at least attach the table structures (output of SHOW CREATE TABLE <tablename> and SHOW INDEX IN <tablename>) for the tables from the query.
            Please also attach your cnf file(s).

            Thank you.

            Show
            elenst Elena Stepanova added a comment - Hi, Thank you for the report. Would you be able to provide the data dump for the tables involved in the query? You can upload it to ftp.askmonty.org/private so it won't be publicly available. If you cannot provide the data, please at least attach the table structures (output of SHOW CREATE TABLE <tablename> and SHOW INDEX IN <tablename>) for the tables from the query. Please also attach your cnf file(s). Thank you.
            Hide
            lomg-it Lizeo Online Media Group added a comment -

            Hello,

            I'm unable to supply a dump, but I sent on FTP the output of SHOW CREATE TABLE and SHOW INDEX IN
            filename is : MDEV-5622_attachment_confidential.txt

            Best regards,

            Sylvain.

            Show
            lomg-it Lizeo Online Media Group added a comment - Hello, I'm unable to supply a dump, but I sent on FTP the output of SHOW CREATE TABLE and SHOW INDEX IN filename is : MDEV-5622 _attachment_confidential.txt Best regards, Sylvain.
            Hide
            elenst Elena Stepanova added a comment -

            Thank you.

            What about cnf file(s), can you provide them as well?

            Show
            elenst Elena Stepanova added a comment - Thank you. What about cnf file(s), can you provide them as well?
            Hide
            lomg-it Lizeo Online Media Group added a comment -

            Hello Elena,

            here's our mariadb config :

            /etc/mysql/my.cnf

            [client]
            port		= 3306
            socket		= /var/run/mysqld/mysqld.sock
            default-character-set  = utf8 
            
            [mysqld_safe]
            socket		= /var/run/mysqld/mysqld.sock
            nice		= 0
            
            [mysqld]
            user		= mysql
            pid-file	= /var/run/mysqld/mysqld.pid
            socket		= /var/run/mysqld/mysqld.sock
            character_set_server   = utf8 
            collation_server       = utf8_general_ci 
            port		= 3306
            basedir		= /usr
            datadir		= /home/mysql/data 
            tmpdir		= /home/mysql/tmp 
            lc_messages_dir	= /usr/share/mysql
            lc_messages	= en_US
            skip-external-locking
            bind-address		= 127.0.0.1
            skip-name-resolve 
            
            max_connections		= 100
            connect_timeout		= 10 
            wait_timeout		= 28800 
            max_allowed_packet	= 16M
            thread_cache_size   = 128
            sort_buffer_size	= 16M
            bulk_insert_buffer_size	= 1G
            tmp_table_size		= 32M
            max_heap_table_size	= 32M
            key_cache_block_size = 4096
            
            myisam_recover      = BACKUP
            key_buffer_size		= 128M
            table_open_cache	= 400
            myisam_sort_buffer_size	= 1G
            concurrent_insert	= 2
            read_buffer_size	= 2M
            read_rnd_buffer_size	= 1M
            query_cache_limit		= 128K
            query_cache_size		= 128M
            back_log = 128
            log_warnings		= 2
            slow_query_log = 0
            slow_query_log_file	= /home/mysql/log/mariadb-slow.log
            long_query_time = 10
            log_slow_verbosity	= query_plan
            
            default_storage_engine	= InnoDB
            innodb_log_file_size	= 512M
            innodb_buffer_pool_size	= 256M
            innodb_log_buffer_size	= 128M
            innodb_file_per_table	= 1
            innodb_open_files	= 400
            innodb_io_capacity	= 200
            innodb_flush_method	= O_DIRECT
            innodb_thread_concurrency = 128
            innodb_write_io_threads = 8
            innodb_flush_log_at_trx_commit = 2
            innodb_old_blocks_time = 100
            
            [mysqldump]
            quick
            quote-names
            max_allowed_packet	= 16M
            
            [isamchk]
            key_buffer		= 16M
            

            /etc/mysql/conf.d/prod.cnf

            [mysqld]
            bind-address        = 0.0.0.0
            tmp_table_size     = 256M
            max_heap_table_size    = 256M
            max_sp_recursion_depth = 100
            group_concat_max_len = 1M
            key_buffer_size     = 12G
            table_open_cache    = 2000
            table_definition_cache    = 2000
            myisam_sort_buffer_size    = 1G
            read_rnd_buffer_size = 512K
            read_buffer_size = 256K
            query_cache_limit     = 512K
            query_cache_size     = 512M
            innodb_log_file_size    = 512M
            innodb_buffer_pool_size    = 12G
            innodb_log_buffer_size    = 8M
            innodb_old_blocks_time = 1000
            innodb_stats_on_metadata = off
            innodb_open_files    = 400
            innodb_io_capacity    = 20000
            innodb_write_io_threads	= 64
            lower_case_table_names = 1 
            
            Show
            lomg-it Lizeo Online Media Group added a comment - Hello Elena, here's our mariadb config : /etc/mysql/my.cnf [client] port = 3306 socket = / var /run/mysqld/mysqld.sock default -character-set = utf8 [mysqld_safe] socket = / var /run/mysqld/mysqld.sock nice = 0 [mysqld] user = mysql pid-file = / var /run/mysqld/mysqld.pid socket = / var /run/mysqld/mysqld.sock character_set_server = utf8 collation_server = utf8_general_ci port = 3306 basedir = /usr datadir = /home/mysql/data tmpdir = /home/mysql/tmp lc_messages_dir = /usr/share/mysql lc_messages = en_US skip-external-locking bind-address = 127.0.0.1 skip-name-resolve max_connections = 100 connect_timeout = 10 wait_timeout = 28800 max_allowed_packet = 16M thread_cache_size = 128 sort_buffer_size = 16M bulk_insert_buffer_size = 1G tmp_table_size = 32M max_heap_table_size = 32M key_cache_block_size = 4096 myisam_recover = BACKUP key_buffer_size = 128M table_open_cache = 400 myisam_sort_buffer_size = 1G concurrent_insert = 2 read_buffer_size = 2M read_rnd_buffer_size = 1M query_cache_limit = 128K query_cache_size = 128M back_log = 128 log_warnings = 2 slow_query_log = 0 slow_query_log_file = /home/mysql/log/mariadb-slow.log long_query_time = 10 log_slow_verbosity = query_plan default_storage_engine = InnoDB innodb_log_file_size = 512M innodb_buffer_pool_size = 256M innodb_log_buffer_size = 128M innodb_file_per_table = 1 innodb_open_files = 400 innodb_io_capacity = 200 innodb_flush_method = O_DIRECT innodb_thread_concurrency = 128 innodb_write_io_threads = 8 innodb_flush_log_at_trx_commit = 2 innodb_old_blocks_time = 100 [mysqldump] quick quote-names max_allowed_packet = 16M [isamchk] key_buffer = 16M /etc/mysql/conf.d/prod.cnf [mysqld] bind-address = 0.0.0.0 tmp_table_size = 256M max_heap_table_size = 256M max_sp_recursion_depth = 100 group_concat_max_len = 1M key_buffer_size = 12G table_open_cache = 2000 table_definition_cache = 2000 myisam_sort_buffer_size = 1G read_rnd_buffer_size = 512K read_buffer_size = 256K query_cache_limit = 512K query_cache_size = 512M innodb_log_file_size = 512M innodb_buffer_pool_size = 12G innodb_log_buffer_size = 8M innodb_old_blocks_time = 1000 innodb_stats_on_metadata = off innodb_open_files = 400 innodb_io_capacity = 20000 innodb_write_io_threads = 64 lower_case_table_names = 1
            Hide
            danblack Daniel Black added a comment -

            pulling mysqld out of https://downloads.mariadb.com/files/MariaDB/mariadb-5.5.34/repo/debian/pool/main/m/mariadb-5.5/mariadb-server-core-5.5_5.5.34+maria-1~squeeze_amd64.deb

            Address doesn't match up however 0x173 from the start of the function is 0x587C83
            objdump -C --disassemble mysqld > mysqld-5.5.34-x86_64.objdump

            0000000000587b10 <Item_func_group_concat::fix_fields(THD*, Item**)>:
            ...
            ...
              587c52:       74 1c                   je     587c70 <Item_func_group_concat::fix_fields(THD*, Item**)+0x160>
              587c54:       b8 01 00 00 00          mov    $0x1,%eax
              587c59:       48 83 c4 38             add    $0x38,%rsp
              587c5d:       5b                      pop    %rbx
              587c5e:       41 5c                   pop    %r12
              587c60:       41 5d                   pop    %r13
              587c62:       41 5e                   pop    %r14
              587c64:       41 5f                   pop    %r15
              587c66:       c9                      leaveq
              587c67:       c3                      retq
              587c68:       0f 1f 84 00 00 00 00    nopl   0x0(%rax,%rax,1)
              587c6f:       00
              587c70:       48 8b 83 e0 00 00 00    mov    0xe0(%rbx),%rax
              587c77:       4a 8b 3c f8             mov    (%rax,%r15,8),%rdi
              587c7b:       48 8b 07                mov    (%rdi),%rax
              587c7e:       be 01 00 00 00          mov    $0x1,%esi
              587c83:       ff 90 90 03 00 00       callq  *0x390(%rax)
              587c89:       84 c0                   test   %al,%al
              587c8b:       75 c7                   jne    587c54 <Item_func_group_concat::fix_fields(THD*, Item**)+0x144>
              587c8d:       4c 8b b3 e0 00 00 00    mov    0xe0(%rbx),%r14
              587c94:       4b 8b 04 fe             mov    (%r14,%r15,8),%rax
              587c98:       0f b6 40 65             movzbl 0x65(%rax),%eax
              587c9c:       08 43 65                or     %al,0x65(%rbx)
              587c9f:       83 45 bc 01             addl   $0x1,-0x44(%rbp)
              587ca3:       44 8b bb d8 00 00 00    mov    0xd8(%rbx),%r15d
              587caa:       44 3b 7d bc             cmp    -0x44(%rbp),%r15d
              587cae:       0f 87 77 ff ff ff       ja     587c2b <Item_func_group_concat::fix_fields(THD*, Item**)+0x11b>
              587cb4:       44 2b bb 18 04 00 00    sub    0x418(%rbx),%r15d
              587cbb:       48 8b 03                mov    (%rbx),%rax
              587cbe:       48 89 df                mov    %rbx,%rdi
              587cc1:       ff 90 48 04 00 00       callq  *0x448(%rax)
              587cc7:       48 8d 7b 68             lea    0x68(%rbx),%rdi
              587ccb:       41 b9 01 00 00 00       mov    $0x1,%r9d
              587cd1:       41 b8 0b 00 00 00       mov    $0xb,%r8d
              587cd7:       44 89 f9                mov    %r15d,%ecx
              587cda:       4c 89 f2                mov    %r14,%rdx
              587cdd:       48 89 c6                mov    %rax,%rsi
              587ce0:       e8 bb ad f7 ff          callq  502aa0 <agg_item_charsets(DTCollation&, char const*, Item**, unsigned int, unsigned int, int)>
            

            587c9c is the or for with_subselect followed by the increments for the end of the loop (start of loop 7c2b) which make 587c83 the second call instruction (args[i]->check_cols(1) )

            bool
            Item_func_group_concat::fix_fields(THD *thd, Item **ref)
            {
              uint i;                       /* for loop variable */
              DBUG_ASSERT(fixed == 0);
            
              if (init_sum_func_check(thd))
                return TRUE;
            
              maybe_null= 1;
            
              /*
                Fix fields for select list and ORDER clause
              */
            
              for (i=0 ; i < arg_count ; i++)
              {
                if ((!args[i]->fixed &&
                     args[i]->fix_fields(thd, args + i)) ||
                    args[i]->check_cols(1))
                  return TRUE;
                  with_subselect|= args[i]->with_subselect;
              }
            
              /* skip charset aggregation for order columns */
              if (agg_item_charsets_for_string_result(collation, func_name(),
                                                      args, arg_count - arg_count_order))
            

            Item_func_group_concat is a subclass of Item_sum and uses its constructor to initialize args/args_count.

            Item_func_group_concat::Item_func_group_concat(THD *thd,
                                                           Item_func_group_concat *item)
              :Item_sum(thd, item),
            
            Item_sum::Item_sum(THD *thd, Item_sum *item):
              Item_result_field(thd, item),
              aggr_sel(item->aggr_sel),
              nest_level(item->nest_level), aggr_level(item->aggr_level),
              quick_group(item->quick_group),
              arg_count(item->arg_count), orig_args(NULL),
              used_tables_cache(item->used_tables_cache),
              forced_const(item->forced_const)
            {
              if (arg_count <= 2)
              {
                args=tmp_args;
                orig_args=tmp_orig_args;
              }
              else
              {
                if (!(args= (Item**) thd->alloc(sizeof(Item*)*arg_count)))
                  return;
                if (!(orig_args= (Item**) thd->alloc(sizeof(Item*)*arg_count)))
                  return;
              }
              memcpy(args, item->args, sizeof(Item*)*arg_count);
              memcpy(orig_args, item->orig_args, sizeof(Item*)*arg_count);
              init_aggregator();
              with_distinct= item->with_distinct;
              if (item->aggr)
                set_aggregator(item->aggr->Aggrtype());
            }
            
            

            Look like if the second sql_alloc fails args is alllocated but non populated. Other cases where orig_args fails to allocate, args is set to NULL (and I don't know why args_count isn't set to 0 in this case too). Could explain why it wasn't repeatable.

            Show
            danblack Daniel Black added a comment - pulling mysqld out of https://downloads.mariadb.com/files/MariaDB/mariadb-5.5.34/repo/debian/pool/main/m/mariadb-5.5/mariadb-server-core-5.5_5.5.34+maria-1~squeeze_amd64.deb Address doesn't match up however 0x173 from the start of the function is 0x587C83 objdump -C --disassemble mysqld > mysqld-5.5.34-x86_64.objdump 0000000000587b10 <Item_func_group_concat::fix_fields(THD*, Item**)>: ... ... 587c52: 74 1c je 587c70 <Item_func_group_concat::fix_fields(THD*, Item**)+0x160> 587c54: b8 01 00 00 00 mov $0x1,%eax 587c59: 48 83 c4 38 add $0x38,%rsp 587c5d: 5b pop %rbx 587c5e: 41 5c pop %r12 587c60: 41 5d pop %r13 587c62: 41 5e pop %r14 587c64: 41 5f pop %r15 587c66: c9 leaveq 587c67: c3 retq 587c68: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1) 587c6f: 00 587c70: 48 8b 83 e0 00 00 00 mov 0xe0(%rbx),%rax 587c77: 4a 8b 3c f8 mov (%rax,%r15,8),%rdi 587c7b: 48 8b 07 mov (%rdi),%rax 587c7e: be 01 00 00 00 mov $0x1,%esi 587c83: ff 90 90 03 00 00 callq *0x390(%rax) 587c89: 84 c0 test %al,%al 587c8b: 75 c7 jne 587c54 <Item_func_group_concat::fix_fields(THD*, Item**)+0x144> 587c8d: 4c 8b b3 e0 00 00 00 mov 0xe0(%rbx),%r14 587c94: 4b 8b 04 fe mov (%r14,%r15,8),%rax 587c98: 0f b6 40 65 movzbl 0x65(%rax),%eax 587c9c: 08 43 65 or %al,0x65(%rbx) 587c9f: 83 45 bc 01 addl $0x1,-0x44(%rbp) 587ca3: 44 8b bb d8 00 00 00 mov 0xd8(%rbx),%r15d 587caa: 44 3b 7d bc cmp -0x44(%rbp),%r15d 587cae: 0f 87 77 ff ff ff ja 587c2b <Item_func_group_concat::fix_fields(THD*, Item**)+0x11b> 587cb4: 44 2b bb 18 04 00 00 sub 0x418(%rbx),%r15d 587cbb: 48 8b 03 mov (%rbx),%rax 587cbe: 48 89 df mov %rbx,%rdi 587cc1: ff 90 48 04 00 00 callq *0x448(%rax) 587cc7: 48 8d 7b 68 lea 0x68(%rbx),%rdi 587ccb: 41 b9 01 00 00 00 mov $0x1,%r9d 587cd1: 41 b8 0b 00 00 00 mov $0xb,%r8d 587cd7: 44 89 f9 mov %r15d,%ecx 587cda: 4c 89 f2 mov %r14,%rdx 587cdd: 48 89 c6 mov %rax,%rsi 587ce0: e8 bb ad f7 ff callq 502aa0 <agg_item_charsets(DTCollation&, char const*, Item**, unsigned int, unsigned int, int)> 587c9c is the or for with_subselect followed by the increments for the end of the loop (start of loop 7c2b) which make 587c83 the second call instruction (args [i] ->check_cols(1) ) bool Item_func_group_concat::fix_fields(THD *thd, Item **ref) { uint i; /* for loop variable */ DBUG_ASSERT(fixed == 0); if (init_sum_func_check(thd)) return TRUE; maybe_null= 1; /* Fix fields for select list and ORDER clause */ for (i=0 ; i < arg_count ; i++) { if ((!args[i]->fixed && args[i]->fix_fields(thd, args + i)) || args[i]->check_cols(1)) return TRUE; with_subselect|= args[i]->with_subselect; } /* skip charset aggregation for order columns */ if (agg_item_charsets_for_string_result(collation, func_name(), args, arg_count - arg_count_order)) Item_func_group_concat is a subclass of Item_sum and uses its constructor to initialize args/args_count. Item_func_group_concat::Item_func_group_concat(THD *thd, Item_func_group_concat *item) :Item_sum(thd, item), Item_sum::Item_sum(THD *thd, Item_sum *item): Item_result_field(thd, item), aggr_sel(item->aggr_sel), nest_level(item->nest_level), aggr_level(item->aggr_level), quick_group(item->quick_group), arg_count(item->arg_count), orig_args(NULL), used_tables_cache(item->used_tables_cache), forced_const(item->forced_const) { if (arg_count <= 2) { args=tmp_args; orig_args=tmp_orig_args; } else { if (!(args= (Item**) thd->alloc(sizeof(Item*)*arg_count))) return; if (!(orig_args= (Item**) thd->alloc(sizeof(Item*)*arg_count))) return; } memcpy(args, item->args, sizeof(Item*)*arg_count); memcpy(orig_args, item->orig_args, sizeof(Item*)*arg_count); init_aggregator(); with_distinct= item->with_distinct; if (item->aggr) set_aggregator(item->aggr->Aggrtype()); } Look like if the second sql_alloc fails args is alllocated but non populated. Other cases where orig_args fails to allocate, args is set to NULL (and I don't know why args_count isn't set to 0 in this case too). Could explain why it wasn't repeatable.
            Hide
            elenst Elena Stepanova added a comment -

            I tried to imitate the failure according to the analysis above (if I understood it correctly):

            diff --git a/sql/item_sum.cc b/sql/item_sum.cc
            index 7c2eea6..60b019b 100644
            --- a/sql/item_sum.cc
            +++ b/sql/item_sum.cc
            @@ -443,6 +443,8 @@ Item_sum::Item_sum(THD *thd, Item_sum *item):
                 if (!(orig_args= (Item**) thd->alloc(sizeof(Item*)*arg_count)))
                   return;
               }
            +  DBUG_EXECUTE_IF("imitate_alloc_failure",
            +                      { orig_args = NULL; return;}  );
               memcpy(args, item->args, sizeof(Item*)*arg_count);
               memcpy(orig_args, item->orig_args, sizeof(Item*)*arg_count);
               init_aggregator();
            

            But I encountered two problems.
            First, it does crash, but it crashes in a different place:

            #3  <signal handler called>
            #4  0x0000000000694706 in count_field_types (select_lex=0x7fda12c80a50, param=0x7fda12c7b630, fields=..., reset_with_sum_func=false) at sql/sql_select.cc:20672
            #5  0x00000000006692a5 in JOIN::exec (this=0x7fda12c7b440) at sql/sql_select.cc:2667
            #6  0x000000000066a7b1 in mysql_select (thd=0x7fda12c7d060, rref_pointer_array=0x7fda12c80cb8, tables=0x7fda2d6e77d0, wild_num=0, fields=..., conds=0x7fda12c7af70, og_num=2, order=0x0, group=0x7fda12c7b1b0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7fda12c7b420, unit=0x7fda12c80378, select_lex=0x7fda12c80a50) at sql/sql_select.cc:3079
            #7  0x0000000000661391 in handle_select (thd=0x7fda12c7d060, lex=0x7fda12c802c8, result=0x7fda12c7b420, setup_tables_done_option=0) at sql/sql_select.cc:318
            #8  0x000000000063ab53 in execute_sqlcom_select (thd=0x7fda12c7d060, all_tables=0x7fda2d6e77d0) at sql/sql_parse.cc:4687
            #9  0x0000000000633d0b in mysql_execute_command (thd=0x7fda12c7d060) at sql/sql_parse.cc:2231
            #10 0x000000000063d262 in mysql_parse (thd=0x7fda12c7d060, rawbuf=0x7fda2d559078 "SELECT pbw.date AS 'date',    s.name AS 'Website',    b.name AS 'Brand',    pat.name AS 'Pattern',    group_concat(DISTINCT oe.name ORDER BY oe.name SEPARATOR '/' ) AS 'OE Marking',    d.width AS 'Wid"..., length=1171, parser_state=0x7fda05fb4680) at sql/sql_parse.cc:5798
            #11 0x0000000000631283 in dispatch_command (command=COM_QUERY, thd=0x7fda12c7d060, packet=0x7fda12c82061 "SELECT pbw.date AS 'date',    s.name AS 'Website',    b.name AS 'Brand',    pat.name AS 'Pattern',    group_concat(DISTINCT oe.name ORDER BY oe.name SEPARATOR '/' ) AS 'OE Marking',    d.width AS 'Wid"..., packet_length=1171) at sql/sql_parse.cc:1078
            #12 0x0000000000630426 in do_command (thd=0x7fda12c7d060) at sql/sql_parse.cc:793
            #13 0x0000000000730b2e in do_handle_one_connection (thd_arg=0x7fda1391b060) at sql/sql_connect.cc:1266
            #14 0x00000000007305ed in handle_one_connection (arg=0x7fda1391b060) at sql/sql_connect.cc:1181
            #15 0x00007fdaec790b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
            #16 0x00007fdaeaa4695d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
            

            Same if it's run with valgrind, it complains about invalid read in count_field_types.

            Secondly, and maybe more importantly, with the query from the original description we don't get into the "else" branch here at all, because arg_count == 2:

              if (arg_count <= 2)
              {
                args=tmp_args;
                orig_args=tmp_orig_args;
              }
              else
              {
                if (!(args= (Item**) thd->alloc(sizeof(Item*)*arg_count)))
                  return;
                if (!(orig_args= (Item**) thd->alloc(sizeof(Item*)*arg_count)))
                  return;
              }
            

            Any thoughts?

            Show
            elenst Elena Stepanova added a comment - I tried to imitate the failure according to the analysis above (if I understood it correctly): diff --git a/sql/item_sum.cc b/sql/item_sum.cc index 7c2eea6..60b019b 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -443,6 +443,8 @@ Item_sum::Item_sum(THD *thd, Item_sum *item): if (!(orig_args= (Item**) thd->alloc(sizeof(Item*)*arg_count))) return; } + DBUG_EXECUTE_IF("imitate_alloc_failure", + { orig_args = NULL; return;} ); memcpy(args, item->args, sizeof(Item*)*arg_count); memcpy(orig_args, item->orig_args, sizeof(Item*)*arg_count); init_aggregator(); But I encountered two problems. First, it does crash, but it crashes in a different place: #3 <signal handler called> #4 0x0000000000694706 in count_field_types (select_lex=0x7fda12c80a50, param=0x7fda12c7b630, fields=..., reset_with_sum_func=false) at sql/sql_select.cc:20672 #5 0x00000000006692a5 in JOIN::exec (this=0x7fda12c7b440) at sql/sql_select.cc:2667 #6 0x000000000066a7b1 in mysql_select (thd=0x7fda12c7d060, rref_pointer_array=0x7fda12c80cb8, tables=0x7fda2d6e77d0, wild_num=0, fields=..., conds=0x7fda12c7af70, og_num=2, order=0x0, group=0x7fda12c7b1b0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7fda12c7b420, unit=0x7fda12c80378, select_lex=0x7fda12c80a50) at sql/sql_select.cc:3079 #7 0x0000000000661391 in handle_select (thd=0x7fda12c7d060, lex=0x7fda12c802c8, result=0x7fda12c7b420, setup_tables_done_option=0) at sql/sql_select.cc:318 #8 0x000000000063ab53 in execute_sqlcom_select (thd=0x7fda12c7d060, all_tables=0x7fda2d6e77d0) at sql/sql_parse.cc:4687 #9 0x0000000000633d0b in mysql_execute_command (thd=0x7fda12c7d060) at sql/sql_parse.cc:2231 #10 0x000000000063d262 in mysql_parse (thd=0x7fda12c7d060, rawbuf=0x7fda2d559078 "SELECT pbw.date AS 'date', s.name AS 'Website', b.name AS 'Brand', pat.name AS 'Pattern', group_concat(DISTINCT oe.name ORDER BY oe.name SEPARATOR '/' ) AS 'OE Marking', d.width AS 'Wid"..., length=1171, parser_state=0x7fda05fb4680) at sql/sql_parse.cc:5798 #11 0x0000000000631283 in dispatch_command (command=COM_QUERY, thd=0x7fda12c7d060, packet=0x7fda12c82061 "SELECT pbw.date AS 'date', s.name AS 'Website', b.name AS 'Brand', pat.name AS 'Pattern', group_concat(DISTINCT oe.name ORDER BY oe.name SEPARATOR '/' ) AS 'OE Marking', d.width AS 'Wid"..., packet_length=1171) at sql/sql_parse.cc:1078 #12 0x0000000000630426 in do_command (thd=0x7fda12c7d060) at sql/sql_parse.cc:793 #13 0x0000000000730b2e in do_handle_one_connection (thd_arg=0x7fda1391b060) at sql/sql_connect.cc:1266 #14 0x00000000007305ed in handle_one_connection (arg=0x7fda1391b060) at sql/sql_connect.cc:1181 #15 0x00007fdaec790b50 in start_thread (arg=<optimized out>) at pthread_create.c:304 #16 0x00007fdaeaa4695d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 Same if it's run with valgrind, it complains about invalid read in count_field_types. Secondly, and maybe more importantly, with the query from the original description we don't get into the "else" branch here at all, because arg_count == 2: if (arg_count <= 2) { args=tmp_args; orig_args=tmp_orig_args; } else { if (!(args= (Item**) thd->alloc(sizeof(Item*)*arg_count))) return; if (!(orig_args= (Item**) thd->alloc(sizeof(Item*)*arg_count))) return; } Any thoughts?
            Hide
            elenst Elena Stepanova added a comment -

            Okay, I've got what seems to be the very same stack trace:

            150606  1:18:26 [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 http://kb.askmonty.org/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: 5.5.34-MariaDB
            key_buffer_size=1073741824
            read_buffer_size=262144
            max_used_connections=1
            max_threads=102
            thread_count=1
            It is possible that mysqld could use up to 
            key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 2747656 K  bytes of memory
            Hope that's ok; if not, decrease some variables in the equation.
            
            Thread pointer: 0x0x7f5dcaebf000
            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 = 0x7f5d97fb4e68 thread_stack 0x48000
            mysys/stacktrace.c:247(my_print_stacktrace)[0x9d4f96]
            sql/signal_handler.cc:153(handle_fatal_signal)[0x6b35c8]
            ??:0(??)[0x7f5e753250a0]
            sql/item_sum.cc:3389(Item_func_group_concat::fix_fields(THD*, Item**))[0x72c96a]
            sql/sql_base.cc:8128(setup_fields(THD*, Item**, List<Item>&, enum_mark_columns, List<Item>*, bool))[0x56ccf3]
            sql/sql_select.cc:708(JOIN::prepare(Item***, TABLE_LIST*, unsigned int, Item*, unsigned int, st_order*, bool, st_order*, Item*, st_order*, st_select_lex*, st_select_lex_unit*))[0x5daf54]
            sql/sql_select.cc:3057(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*))[0x5e20cc]
            sql/sql_select.cc:318(handle_select(THD*, LEX*, select_result*, unsigned long))[0x5e7eec]
            sql/sql_parse.cc:4688(execute_sqlcom_select)[0x59d8ab]
            sql/sql_parse.cc:2231(mysql_execute_command(THD*))[0x5a616b]
            sql/sql_parse.cc:5798(mysql_parse)[0x5a9ae9]
            sql/sql_parse.cc:1080(dispatch_command(enum_server_command, THD*, char*, unsigned int))[0x5aafb6]
            sql/sql_connect.cc:1266(do_handle_one_connection(THD*))[0x645a33]
            sql/sql_connect.cc:1183(handle_one_connection)[0x645b0a]
            ??:0(??)[0x7f5e7531cb50]
            ??:0(??)[0x7f5e73c2a95d]
            
            Trying to get some variables.
            Some pointers may be invalid and cause the dump to abort.
            Query (0x7f5d9681e018): SELECT pbw.date AS 'date',    s.name AS 'Website',    b.name AS 'Brand',    pat.name AS 'Pattern',    group_concat(DISTINCT oe.name ORDER BY oe.name SEPARATOR '/' ) AS 'OE Marking',    d.width AS 'Width',    d.ratio AS 'Ratio',    d.diameter AS 'Diameter',    d.load_index AS 'Load Index',    d.speed_index AS 'Speed Index',    IF (pat.run_flat =1 ,'Yes','no') AS 'Runflat',    pbw.wprice_min AS 'Min Price',    pbw.wprice_sum / pbw.wprice_count AS 'AVG Price',    pbw.wprice_max AS 'Max Price'  FROM t_price_by_week pbw  STRAIGHT_JOIN t_site s   ON pbw.website_id = s.id  STRAIGHT_JOIN t_tyre t   ON pbw.tyre_id = t.id  STRAIGHT_JOIN t_pattern pat   ON t.pattern_id = pat.id  STRAIGHT_JOIN t_product prod   ON pat.product_id = prod.id  STRAIGHT_JOIN t_range r   ON prod.range_id = r.id  STRAIGHT_JOIN t_brand b   ON r.brand_id = b.id  STRAIGHT_JOIN t_tyre_dimension d   ON t.tyre_dimension_id = d.id  STRAIGHT_JOIN t_pattern_oe_marking poe   ON poe.pattern_id = pat.id  STRAIGHT_JOIN t_oe_marking oe   ON poe.oe_marking_id = oe.id  WHERE pbw.date = '2014-01-20'  AND s.code IN ('360cn','amacn','tmabr','carcn','maicn','suncn','tmacn','tuhcn','tyrcn')  GROUP BY s.id,t.id
            Connection ID (thread ID): 2
            Status: NOT_KILLED
            

            or, via gdb,

            #2  <signal handler called>
            #3  0x000000000072c96a in Item_func_group_concat::fix_fields (this=0x7f5d9681f128, thd=0x7f5dcaebf000, ref=0x7f5d9681f5b8) at sql/item_sum.cc:3389
            #4  0x000000000056ccf3 in setup_fields (thd=0x7f5dcaebf000, ref_pointer_array=0x7f5d9698b018, fields=..., mark_used_columns=<optimized out>, sum_func_list=0x7f5d9684f710, allow_sum_func=<optimized out>) at sql/sql_base.cc:8128
            #5  0x00000000005daf54 in prepare (unit_arg=0x7f5dcaec2178, select_lex_arg=0x7f5dcaec2850, proc_param_init=0x0, having_init=0x0, group_init=0x7f5d9684f150, skip_order_by=false, order_init=0x0, og_num=2, conds_init=<optimized out>, wild_num=0, tables_init=<optimized out>, rref_pointer_array=0x7f5dcaec2ab8, this=0x7f5d9684f3e0) at sql/sql_select.cc:712
            #6  JOIN::prepare (this=0x7f5d9684f3e0, rref_pointer_array=0x7f5dcaec2ab8, tables_init=<optimized out>, wild_num=0, conds_init=<optimized out>, og_num=2, order_init=0x0, skip_order_by=false, group_init=0x7f5d9684f150, having_init=0x0, proc_param_init=0x0, select_lex_arg=0x7f5dcaec2850, unit_arg=0x7f5dcaec2178) at sql/sql_select.cc:602
            #7  0x00000000005e20cc in mysql_select (thd=thd@entry=0x7f5dcaebf000, rref_pointer_array=rref_pointer_array@entry=0x7f5dcaec2ab8, tables=0x7f5d96844780, wild_num=<optimized out>, fields=..., conds=<optimized out>, og_num=2, order=0x0, group=0x7f5d9684f150, having=0x0, proc_param=0x0, select_options=2147748608, result=result@entry=0x7f5d9684f3c0, unit=unit@entry=0x7f5dcaec2178, select_lex=select_lex@entry=0x7f5dcaec2850) at sql/sql_select.cc:3059
            #8  0x00000000005e7eec in handle_select (thd=0x7f5dcaebf000, lex=0x7f5dcaec20c8, result=0x7f5d9684f3c0, setup_tables_done_option=0) at sql/sql_select.cc:318
            #9  0x000000000059d8ab in execute_sqlcom_select (thd=thd@entry=0x7f5dcaebf000, all_tables=0x7f5d96844780) at sql/sql_parse.cc:4687
            #10 0x00000000005a616b in mysql_execute_command (thd=thd@entry=0x7f5dcaebf000) at sql/sql_parse.cc:2231
            #11 0x00000000005a9ae9 in mysql_parse (parser_state=0x7f5d97fb4340, thd=0x7f5dcaebf000, rawbuf=<optimized out>, length=<optimized out>) at sql/sql_parse.cc:5798
            #12 mysql_parse (thd=0x7f5dcaebf000, rawbuf=<optimized out>, length=1171, parser_state=0x7f5d97fb4340) at sql/sql_parse.cc:5723
            #13 0x00000000005aafb6 in dispatch_command (command=COM_QUERY, thd=0x7f5dcaebf000, packet=<optimized out>, packet_length=<optimized out>) at sql/sql_parse.cc:1078
            #14 0x0000000000645a33 in do_handle_one_connection (thd_arg=thd_arg@entry=0x7f5da5808000) at sql/sql_connect.cc:1266
            #15 0x0000000000645b0a in handle_one_connection (arg=0x7f5da5808000) at sql/sql_connect.cc:1181
            #16 0x00007f5e7531cb50 in start_thread (arg=<optimized out>) at pthread_create.c:304
            #17 0x00007f5e73c2a95d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
            #18 0x0000000000000000 in ?? ()
            

            To achieve it, first one needs to run a query with an invalid separator in GROUP_CONCAT, and then a normal query. For example, with the schema and query from this bug report, populated with artificial data, the following does the trick:

            SELECT group_concat(DISTINCT oe.name ORDER BY oe.name SEPARATOR NULL ) AS 'OE Marking'
            FROM t_oe_marking oe;
            
            
            SELECT pbw.date AS 'date',
               s.name AS 'Website',
               b.name AS 'Brand',
               pat.name AS 'Pattern',
               group_concat(DISTINCT oe.name ORDER BY oe.name SEPARATOR '/' ) AS 'OE Marking',
               d.width AS 'Width',
               d.ratio AS 'Ratio',
               d.diameter AS 'Diameter',
               d.load_index AS 'Load Index',
               d.speed_index AS 'Speed Index',
               IF (pat.run_flat =1 ,'Yes','no') AS 'Runflat',
               pbw.wprice_min AS 'Min Price',
               pbw.wprice_sum / pbw.wprice_count AS 'AVG Price',
               pbw.wprice_max AS 'Max Price'
             FROM t_price_by_week pbw
             STRAIGHT_JOIN t_site s
              ON pbw.website_id = s.id
             STRAIGHT_JOIN t_tyre t
              ON pbw.tyre_id = t.id
             STRAIGHT_JOIN t_pattern pat
              ON t.pattern_id = pat.id
             STRAIGHT_JOIN t_product prod
              ON pat.product_id = prod.id
             STRAIGHT_JOIN t_range r
              ON prod.range_id = r.id
             STRAIGHT_JOIN t_brand b
              ON r.brand_id = b.id
             STRAIGHT_JOIN t_tyre_dimension d
              ON t.tyre_dimension_id = d.id
             STRAIGHT_JOIN t_pattern_oe_marking poe
              ON poe.pattern_id = pat.id
             STRAIGHT_JOIN t_oe_marking oe
              ON poe.oe_marking_id = oe.id
             WHERE pbw.date = '2014-01-20'
             AND s.code IN ('360cn','amacn','tmabr','carcn','maicn','suncn','tmacn','tuhcn','tyrcn')
             GROUP BY s.id,t.id
            ;
            

            The crash is reproducible on 5.5.34 and not reproducible on 5.5.35 and further. It was an upstream bug, fixed by the revision below, and the fix was merged from MySQL 5.5.35 into MariaDB:

            commit 90ecf4eba33692e76a83a57be2bc061199a72912
            Author: Tor Didriksen <tor.didriksen@oracle.com>
            Date:   Mon Sep 9 12:43:08 2013 +0200
            
                Bug#16870783 RECENT REGRESSION: CRASH WITH GROUP_CONCAT AND INVALID SEPARATOR
                
                Add missing initialization in lex_start()
            
            diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc
            index bc313ed..9113f31 100644
            --- a/sql/sql_lex.cc
            +++ b/sql/sql_lex.cc
            @@ -411,6 +411,7 @@ void lex_start(THD *thd)
               lex->select_lex.ftfunc_list= &lex->select_lex.ftfunc_list_alloc;
               lex->select_lex.group_list.empty();
               lex->select_lex.order_list.empty();
            +  lex->select_lex.gorder_list.empty();
               lex->duplicates= DUP_ERROR;
               lex->ignore= 0;
               lex->spname= NULL;
            

            This fix alone, applied over mariadb-5.5.34, makes the crash go away.
            So, I'm going to close this bug report as fixed in 5.5.

            For the record, a similar test case, apart from the stack trace above, also produces another one, depending on the build (or moon phase, or star position):

            #3  <signal handler called>
            #4  0x0000000000891643 in Item_func_group_concat::Item_func_group_concat (this=0x7f495f825660, context_arg=0x7f4960e0eaa0, distinct_arg=false, select_list=0x7f495f824b28, order_list=..., separator_arg=0x7f495f825640) at sql/item_sum.cc:3188
            #5  0x00000000007957c0 in MYSQLparse (thd=0x7f4960e0b060) at sql/sql_yacc.yy:9341
            #6  0x00000000006410af in parse_sql (thd=0x7f4960e0b060, parser_state=0x7f49674e9630, creation_ctx=0x0) at sql/sql_parse.cc:7675
            #7  0x000000000063d117 in mysql_parse (thd=0x7f4960e0b060, rawbuf=0x7f495f824078 "/* GenTest::Transform::ConvertTablesToDerived */  SELECT GROUP_CONCAT( alias1.`col_int_nokey`, alias1.`col_int_key`, IF( alias1.`col_varchar_nokey`, alias1.`col_int_nokey`, alias1.`col_time_nokey` ), "..., length=1151, parser_state=0x7f49674e9630) at sql/sql_parse.cc:5753
            #8  0x0000000000631283 in dispatch_command (command=COM_QUERY, thd=0x7f4960e0b060, packet=0x7f4960e10061 "/* GenTest::Transform::ConvertTablesToDerived */  SELECT GROUP_CONCAT( alias1.`col_int_nokey`, alias1.`col_int_key`, IF( alias1.`col_varchar_nokey`, alias1.`col_int_nokey`, alias1.`col_time_nokey` ), "..., packet_length=1151) at sql/sql_parse.cc:1078
            #9  0x0000000000630426 in do_command (thd=0x7f4960e0b060) at sql/sql_parse.cc:793
            #10 0x0000000000730b2e in do_handle_one_connection (thd_arg=0x7f4960e0b060) at sql/sql_connect.cc:1266
            #11 0x00000000007305ed in handle_one_connection (arg=0x7f4960e0b060) at sql/sql_connect.cc:1181
            #12 0x0000000000b632fd in pfs_spawn_thread (arg=0x7f4960db0620) at storage/perfschema/pfs.cc:1015
            #13 0x00007f49670dab50 in start_thread (arg=<optimized out>) at pthread_create.c:304
            #14 0x00007f496539095d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
            #15 0x0000000000000000 in ?? ()
            
            Show
            elenst Elena Stepanova added a comment - Okay, I've got what seems to be the very same stack trace: 150606 1:18:26 [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 http://kb.askmonty.org/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: 5.5.34-MariaDB key_buffer_size=1073741824 read_buffer_size=262144 max_used_connections=1 max_threads=102 thread_count=1 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 2747656 K bytes of memory Hope that's ok; if not, decrease some variables in the equation. Thread pointer: 0x0x7f5dcaebf000 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 = 0x7f5d97fb4e68 thread_stack 0x48000 mysys/stacktrace.c:247(my_print_stacktrace)[0x9d4f96] sql/signal_handler.cc:153(handle_fatal_signal)[0x6b35c8] ??:0(??)[0x7f5e753250a0] sql/item_sum.cc:3389(Item_func_group_concat::fix_fields(THD*, Item**))[0x72c96a] sql/sql_base.cc:8128(setup_fields(THD*, Item**, List<Item>&, enum_mark_columns, List<Item>*, bool))[0x56ccf3] sql/sql_select.cc:708(JOIN::prepare(Item***, TABLE_LIST*, unsigned int, Item*, unsigned int, st_order*, bool, st_order*, Item*, st_order*, st_select_lex*, st_select_lex_unit*))[0x5daf54] sql/sql_select.cc:3057(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*))[0x5e20cc] sql/sql_select.cc:318(handle_select(THD*, LEX*, select_result*, unsigned long))[0x5e7eec] sql/sql_parse.cc:4688(execute_sqlcom_select)[0x59d8ab] sql/sql_parse.cc:2231(mysql_execute_command(THD*))[0x5a616b] sql/sql_parse.cc:5798(mysql_parse)[0x5a9ae9] sql/sql_parse.cc:1080(dispatch_command(enum_server_command, THD*, char*, unsigned int))[0x5aafb6] sql/sql_connect.cc:1266(do_handle_one_connection(THD*))[0x645a33] sql/sql_connect.cc:1183(handle_one_connection)[0x645b0a] ??:0(??)[0x7f5e7531cb50] ??:0(??)[0x7f5e73c2a95d] Trying to get some variables. Some pointers may be invalid and cause the dump to abort. Query (0x7f5d9681e018): SELECT pbw.date AS 'date', s.name AS 'Website', b.name AS 'Brand', pat.name AS 'Pattern', group_concat(DISTINCT oe.name ORDER BY oe.name SEPARATOR '/' ) AS 'OE Marking', d.width AS 'Width', d.ratio AS 'Ratio', d.diameter AS 'Diameter', d.load_index AS 'Load Index', d.speed_index AS 'Speed Index', IF (pat.run_flat =1 ,'Yes','no') AS 'Runflat', pbw.wprice_min AS 'Min Price', pbw.wprice_sum / pbw.wprice_count AS 'AVG Price', pbw.wprice_max AS 'Max Price' FROM t_price_by_week pbw STRAIGHT_JOIN t_site s ON pbw.website_id = s.id STRAIGHT_JOIN t_tyre t ON pbw.tyre_id = t.id STRAIGHT_JOIN t_pattern pat ON t.pattern_id = pat.id STRAIGHT_JOIN t_product prod ON pat.product_id = prod.id STRAIGHT_JOIN t_range r ON prod.range_id = r.id STRAIGHT_JOIN t_brand b ON r.brand_id = b.id STRAIGHT_JOIN t_tyre_dimension d ON t.tyre_dimension_id = d.id STRAIGHT_JOIN t_pattern_oe_marking poe ON poe.pattern_id = pat.id STRAIGHT_JOIN t_oe_marking oe ON poe.oe_marking_id = oe.id WHERE pbw.date = '2014-01-20' AND s.code IN ('360cn','amacn','tmabr','carcn','maicn','suncn','tmacn','tuhcn','tyrcn') GROUP BY s.id,t.id Connection ID (thread ID): 2 Status: NOT_KILLED or, via gdb, #2 <signal handler called> #3 0x000000000072c96a in Item_func_group_concat::fix_fields (this=0x7f5d9681f128, thd=0x7f5dcaebf000, ref=0x7f5d9681f5b8) at sql/item_sum.cc:3389 #4 0x000000000056ccf3 in setup_fields (thd=0x7f5dcaebf000, ref_pointer_array=0x7f5d9698b018, fields=..., mark_used_columns=<optimized out>, sum_func_list=0x7f5d9684f710, allow_sum_func=<optimized out>) at sql/sql_base.cc:8128 #5 0x00000000005daf54 in prepare (unit_arg=0x7f5dcaec2178, select_lex_arg=0x7f5dcaec2850, proc_param_init=0x0, having_init=0x0, group_init=0x7f5d9684f150, skip_order_by=false, order_init=0x0, og_num=2, conds_init=<optimized out>, wild_num=0, tables_init=<optimized out>, rref_pointer_array=0x7f5dcaec2ab8, this=0x7f5d9684f3e0) at sql/sql_select.cc:712 #6 JOIN::prepare (this=0x7f5d9684f3e0, rref_pointer_array=0x7f5dcaec2ab8, tables_init=<optimized out>, wild_num=0, conds_init=<optimized out>, og_num=2, order_init=0x0, skip_order_by=false, group_init=0x7f5d9684f150, having_init=0x0, proc_param_init=0x0, select_lex_arg=0x7f5dcaec2850, unit_arg=0x7f5dcaec2178) at sql/sql_select.cc:602 #7 0x00000000005e20cc in mysql_select (thd=thd@entry=0x7f5dcaebf000, rref_pointer_array=rref_pointer_array@entry=0x7f5dcaec2ab8, tables=0x7f5d96844780, wild_num=<optimized out>, fields=..., conds=<optimized out>, og_num=2, order=0x0, group=0x7f5d9684f150, having=0x0, proc_param=0x0, select_options=2147748608, result=result@entry=0x7f5d9684f3c0, unit=unit@entry=0x7f5dcaec2178, select_lex=select_lex@entry=0x7f5dcaec2850) at sql/sql_select.cc:3059 #8 0x00000000005e7eec in handle_select (thd=0x7f5dcaebf000, lex=0x7f5dcaec20c8, result=0x7f5d9684f3c0, setup_tables_done_option=0) at sql/sql_select.cc:318 #9 0x000000000059d8ab in execute_sqlcom_select (thd=thd@entry=0x7f5dcaebf000, all_tables=0x7f5d96844780) at sql/sql_parse.cc:4687 #10 0x00000000005a616b in mysql_execute_command (thd=thd@entry=0x7f5dcaebf000) at sql/sql_parse.cc:2231 #11 0x00000000005a9ae9 in mysql_parse (parser_state=0x7f5d97fb4340, thd=0x7f5dcaebf000, rawbuf=<optimized out>, length=<optimized out>) at sql/sql_parse.cc:5798 #12 mysql_parse (thd=0x7f5dcaebf000, rawbuf=<optimized out>, length=1171, parser_state=0x7f5d97fb4340) at sql/sql_parse.cc:5723 #13 0x00000000005aafb6 in dispatch_command (command=COM_QUERY, thd=0x7f5dcaebf000, packet=<optimized out>, packet_length=<optimized out>) at sql/sql_parse.cc:1078 #14 0x0000000000645a33 in do_handle_one_connection (thd_arg=thd_arg@entry=0x7f5da5808000) at sql/sql_connect.cc:1266 #15 0x0000000000645b0a in handle_one_connection (arg=0x7f5da5808000) at sql/sql_connect.cc:1181 #16 0x00007f5e7531cb50 in start_thread (arg=<optimized out>) at pthread_create.c:304 #17 0x00007f5e73c2a95d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #18 0x0000000000000000 in ?? () To achieve it, first one needs to run a query with an invalid separator in GROUP_CONCAT, and then a normal query. For example, with the schema and query from this bug report, populated with artificial data, the following does the trick: SELECT group_concat(DISTINCT oe.name ORDER BY oe.name SEPARATOR NULL ) AS 'OE Marking' FROM t_oe_marking oe; SELECT pbw.date AS 'date', s.name AS 'Website', b.name AS 'Brand', pat.name AS 'Pattern', group_concat(DISTINCT oe.name ORDER BY oe.name SEPARATOR '/' ) AS 'OE Marking', d.width AS 'Width', d.ratio AS 'Ratio', d.diameter AS 'Diameter', d.load_index AS 'Load Index', d.speed_index AS 'Speed Index', IF (pat.run_flat =1 ,'Yes','no') AS 'Runflat', pbw.wprice_min AS 'Min Price', pbw.wprice_sum / pbw.wprice_count AS 'AVG Price', pbw.wprice_max AS 'Max Price' FROM t_price_by_week pbw STRAIGHT_JOIN t_site s ON pbw.website_id = s.id STRAIGHT_JOIN t_tyre t ON pbw.tyre_id = t.id STRAIGHT_JOIN t_pattern pat ON t.pattern_id = pat.id STRAIGHT_JOIN t_product prod ON pat.product_id = prod.id STRAIGHT_JOIN t_range r ON prod.range_id = r.id STRAIGHT_JOIN t_brand b ON r.brand_id = b.id STRAIGHT_JOIN t_tyre_dimension d ON t.tyre_dimension_id = d.id STRAIGHT_JOIN t_pattern_oe_marking poe ON poe.pattern_id = pat.id STRAIGHT_JOIN t_oe_marking oe ON poe.oe_marking_id = oe.id WHERE pbw.date = '2014-01-20' AND s.code IN ('360cn','amacn','tmabr','carcn','maicn','suncn','tmacn','tuhcn','tyrcn') GROUP BY s.id,t.id ; The crash is reproducible on 5.5.34 and not reproducible on 5.5.35 and further. It was an upstream bug, fixed by the revision below, and the fix was merged from MySQL 5.5.35 into MariaDB: commit 90ecf4eba33692e76a83a57be2bc061199a72912 Author: Tor Didriksen <tor.didriksen@oracle.com> Date: Mon Sep 9 12:43:08 2013 +0200 Bug#16870783 RECENT REGRESSION: CRASH WITH GROUP_CONCAT AND INVALID SEPARATOR Add missing initialization in lex_start() diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index bc313ed..9113f31 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -411,6 +411,7 @@ void lex_start(THD *thd) lex->select_lex.ftfunc_list= &lex->select_lex.ftfunc_list_alloc; lex->select_lex.group_list.empty(); lex->select_lex.order_list.empty(); + lex->select_lex.gorder_list.empty(); lex->duplicates= DUP_ERROR; lex->ignore= 0; lex->spname= NULL; This fix alone, applied over mariadb-5.5.34, makes the crash go away. So, I'm going to close this bug report as fixed in 5.5. For the record, a similar test case, apart from the stack trace above, also produces another one, depending on the build (or moon phase, or star position): #3 <signal handler called> #4 0x0000000000891643 in Item_func_group_concat::Item_func_group_concat (this=0x7f495f825660, context_arg=0x7f4960e0eaa0, distinct_arg=false, select_list=0x7f495f824b28, order_list=..., separator_arg=0x7f495f825640) at sql/item_sum.cc:3188 #5 0x00000000007957c0 in MYSQLparse (thd=0x7f4960e0b060) at sql/sql_yacc.yy:9341 #6 0x00000000006410af in parse_sql (thd=0x7f4960e0b060, parser_state=0x7f49674e9630, creation_ctx=0x0) at sql/sql_parse.cc:7675 #7 0x000000000063d117 in mysql_parse (thd=0x7f4960e0b060, rawbuf=0x7f495f824078 "/* GenTest::Transform::ConvertTablesToDerived */ SELECT GROUP_CONCAT( alias1.`col_int_nokey`, alias1.`col_int_key`, IF( alias1.`col_varchar_nokey`, alias1.`col_int_nokey`, alias1.`col_time_nokey` ), "..., length=1151, parser_state=0x7f49674e9630) at sql/sql_parse.cc:5753 #8 0x0000000000631283 in dispatch_command (command=COM_QUERY, thd=0x7f4960e0b060, packet=0x7f4960e10061 "/* GenTest::Transform::ConvertTablesToDerived */ SELECT GROUP_CONCAT( alias1.`col_int_nokey`, alias1.`col_int_key`, IF( alias1.`col_varchar_nokey`, alias1.`col_int_nokey`, alias1.`col_time_nokey` ), "..., packet_length=1151) at sql/sql_parse.cc:1078 #9 0x0000000000630426 in do_command (thd=0x7f4960e0b060) at sql/sql_parse.cc:793 #10 0x0000000000730b2e in do_handle_one_connection (thd_arg=0x7f4960e0b060) at sql/sql_connect.cc:1266 #11 0x00000000007305ed in handle_one_connection (arg=0x7f4960e0b060) at sql/sql_connect.cc:1181 #12 0x0000000000b632fd in pfs_spawn_thread (arg=0x7f4960db0620) at storage/perfschema/pfs.cc:1015 #13 0x00007f49670dab50 in start_thread (arg=<optimized out>) at pthread_create.c:304 #14 0x00007f496539095d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #15 0x0000000000000000 in ?? ()
            Hide
            elenst Elena Stepanova added a comment -

            Daniel Black,

            As I understand, your analysis regarding not populated args when 2nd alloc fails is still true for the current 5.5 tree. Do you want to create a bug report about it?
            I would have, but I don't really know how to make the alloc fail without cheating, so I suppose a bug report based on code inspection is more suitable here.

            Show
            elenst Elena Stepanova added a comment - Daniel Black , As I understand, your analysis regarding not populated args when 2nd alloc fails is still true for the current 5.5 tree. Do you want to create a bug report about it? I would have, but I don't really know how to make the alloc fail without cheating, so I suppose a bug report based on code inspection is more suitable here.
            Hide
            danblack Daniel Black added a comment -

            I don't quite think there is enough information for a separate bug report.

            Show
            danblack Daniel Black added a comment - I don't quite think there is enough information for a separate bug report.

              People

              • Assignee:
                Unassigned
                Reporter:
                lomg-it Lizeo Online Media Group
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: