Mariadb Server 10.3.14 crashes

cygwin@punkapoule.fr cygwin@punkapoule.fr
Thu Dec 12 15:34:00 GMT 2019


Hi the community,

I use mysqld-server 10.3.14 as a server for development and an alive
backup server (in a MASTER-SLAVE configuration with a MASTER on Linux)
When operating some changes on my MASTER, I have set the SLAVE (under
Cygwin) to be a master for my application. But I realize the daemon
crashes regularly with a really short message :191212 16:17:49 [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.3.14-MariaDB-log
    key_buffer_size=32768
    read_buffer_size=262144
    max_used_connections=1
    max_threads=153
    thread_count=8
    It is possible that mysqld could use up to
    key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads
    = 355869 K  bytes of memory
    Hope that's ok; if not, decrease some variables in the equation.


So I tried to diagnose why it happened. I cleaned up the installation,
reset all the database, checked for mysql-upgrade, etc. etc. imported a
backup, and finally… found a query that crash this daemon.

I found that the first query below crashes the server, but not the
second (seen here with the query-plan) :

    SELECT DISTINCT ttrss_feeds.title, date_entered,
    date_format(date_entered, '%Y-%u') AS yyiw, guid, ttrss_entries.id,
    ttrss_entries.title, updated, score, marked, published, last_marked,
    last_published, last_read FROM ttrss_entries LEFT JOIN
    ttrss_user_entries ON (ref_id = ttrss_entries.id) LEFT JOIN
    ttrss_feeds ON (feed_id = ttrss_feeds.id) WHERE date_entered >=
    DATE_SUB('2019-12-11 17:09:49', INTERVAL 1 hour);
    +------+-------------+--------------------+--------+---------------+--------------+---------+----------------------------------+------+----------------------------------------+
    | id   | select_type | table              | type   | possible_keys |
    key          | key_len | ref                              | rows |
    Extra                                  |
    +------+-------------+--------------------+--------+---------------+--------------+---------+----------------------------------+------+----------------------------------------+
    |    1 | SIMPLE      | ttrss_entries      | range  | date_entered  |
    date_entered | 5       | NULL                             |    1 |
    Using index condition; Using temporary |
    |    1 | SIMPLE      | ttrss_user_entries | ref    | ref_id        |
    ref_id       | 4       | ttrss.ttrss_entries.id           |    1
    |                                        |
    |    1 | SIMPLE      | ttrss_feeds        | eq_ref | PRIMARY       |
    PRIMARY      | 4       | ttrss.ttrss_user_entries.feed_id |    1 |
    Using where                            |
    +------+-------------+--------------------+--------+---------------+--------------+---------+----------------------------------+------+----------------------------------------+

    SELECT DISTINCT ttrss_feeds.title, date_entered,
    date_format(date_entered, '%Y-%u') AS yyiw, guid, ttrss_entries.id,
    ttrss_entries.title, updated, score, marked, published, last_marked,
    last_published, last_read FROM ttrss_entries LEFT JOIN
    ttrss_user_entries ON (ref_id = ttrss_entries.id) LEFT JOIN
    ttrss_feeds ON (feed_id = ttrss_feeds.id);
    +------+-------------+--------------------+--------+---------------+---------+---------+----------------------------------+------+-----------------+
    | id   | select_type | table              | type   | possible_keys |
    key     | key_len | ref                              | rows |
    Extra           |
    +------+-------------+--------------------+--------+---------------+---------+---------+----------------------------------+------+-----------------+
    |    1 | SIMPLE      | ttrss_entries      | ALL    | NULL          |
    NULL    | NULL    | NULL                             | 5517 | Using
    temporary |
    |    1 | SIMPLE      | ttrss_user_entries | ref    | ref_id        |
    ref_id  | 4       | ttrss.ttrss_entries.id           |    1
    |                 |
    |    1 | SIMPLE      | ttrss_feeds        | eq_ref | PRIMARY       |
    PRIMARY | 4       | ttrss.ttrss_user_entries.feed_id |    1 | Using
    where     |
    +------+-------------+--------------------+--------+---------------+---------+---------+----------------------------------+------+-----------------+

I tried some things, like use the debuginfo package with gdb and saw
some SIGSEV, but I'm a dummy with that and I remain in the dark.
I tried to increase buffers, query buffers, join buffer, index buffer,
tmp table size, etc. etc. but always the same error.

Could you bring me some pointers or anything else to resolve this issue ?

Thanks a lot to u'all!

GT (from France)

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list