From 46c6bae0b6cea8744cbae0ff4253b4945c11c4eb Mon Sep 17 00:00:00 2001 From: moagrawa Date: Fri, 28 Jul 2017 09:29:50 +0530 Subject: [PATCH 577/587] changetimerecorder: Brick process crashed at ctr xlator in notify function Problem: Sometime brick process is getting crash in notify function at the time of cleanup db connection while brick mux is enabled. Solution: In changetimerrecorder (ctr) notify function after cleanup db connection set to db_conn to NULL to avoid reuse the same db connection again. Note: Below is the backtrace pattern showing by brick process #0 0x00007ff98a30c1f7 in raise () from /lib64/libc.so.6 #1 0x00007ff98a30d8e8 in abort () from /lib64/libc.so.6 #2 0x00007ff98a34bf47 in __libc_message () from /lib64/libc.so.6 #3 0x00007ff98a351b54 in malloc_printerr () from /lib64/libc.so.6 #4 0x00007ff98a3537aa in _int_free () from /lib64/libc.so.6 #5 0x00007ff97d95e311 in gf_sql_connection_fini (sql_connection=sql_connection@entry=0x7ff8e8496b50) at gfdb_sqlite3.c:42 #6 0x00007ff97d95e38a in gf_sqlite3_fini (db_conn=0x7ff92ca04470) at gfdb_sqlite3.c:507 #7 0x00007ff97d957156 in fini_db (_conn_node=0x7ff92ca04470) at gfdb_data_store.c:326 #8 0x00007ff97db78679 in notify (this=0x7ff92c5b3670, event=9, data=0x7ff92c5b5a00) at changetimerecorder.c:2178 #9 0x00007ff98bca0dc2 in xlator_notify (xl=0x7ff92c5b3670, event=event@entry=9, data=data@entry=0x7ff92c5b5a00) at xlator.c:549 #10 0x00007ff98bd3ac12 in default_notify (this=this@entry=0x7ff92c5b5a00, event=9, data=data@entry=0x7ff92c5b6d50) at defaults.c:3139 > BUG: 1475632 > Change-Id: Idd4bfdb4629c4799ac477ade81228065212683fb > Signed-off-by: Mohit Agrawal > Reviewed-on: https://review.gluster.org/17888 > Reviewed-by: Jeff Darcy > Smoke: Gluster Build System > CentOS-regression: Gluster Build System > Reviewed-by: Atin Mukherjee > (cherry picked from commit fc0fce2c8f0f4c9ca373fdc754cab6359c9fcdcb) BUG: 1472129 Change-Id: I6066d1508edee843a2cad5a9c1c2744d258c9e72 Signed-off-by: moagrawa Reviewed-on: https://code.engineering.redhat.com/gerrit/113754 Reviewed-by: Atin Mukherjee --- xlators/features/changetimerecorder/src/changetimerecorder.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xlators/features/changetimerecorder/src/changetimerecorder.c b/xlators/features/changetimerecorder/src/changetimerecorder.c index 6ce68d6..a2e5a21 100644 --- a/xlators/features/changetimerecorder/src/changetimerecorder.c +++ b/xlators/features/changetimerecorder/src/changetimerecorder.c @@ -2180,6 +2180,8 @@ notify (xlator_t *this, int event, void *data, ...) CTR_MSG_CLOSE_DB_CONN_FAILED, "Failed closing " "db connection"); } + if (priv->_db_conn) + priv->_db_conn = NULL; } ret = default_notify (this, event, data); -- 1.8.3.1