[PATCH] Fix uninitialized pointer in debug.cc:dout_handle_daemonize().

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

Starting the MDS from the unstable branch fails instantly with a
SEGFAULT. The MDS works when started in nodaemon mode, using "-D".

The segfault happens in common/debug.cc:dout_handle_daemonize(), which
attempts to call _doss->handle_stdout_closed() with _doss being NULL.

The following patch calls _dout_open_log() to initialize _doss
before accessing it.

Signed-off-by: Vangelis Koukis <vkoukis@xxxxxxxxxxxxxxxxx>
Signed-off-by: Constantinos Venetsanopoulos <cven@xxxxxxxxxxxxxxxxx>
---
 src/common/debug.cc |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/common/debug.cc b/src/common/debug.cc
index 10cd6ce..88780f0 100644
--- a/src/common/debug.cc
+++ b/src/common/debug.cc
@@ -38,6 +38,11 @@ void _dout_open_log()
 int dout_handle_daemonize()
 {
   Mutex::Locker l(_dout_lock);
+
+  if (_dout_need_open)
+       _dout_open_log();
+
+  assert(_doss);
   _doss->handle_stdout_closed();
   _doss->handle_stderr_closed();
   return _doss->handle_pid_change();
--
1.7.2.3

-- 
Vangelis Koukis
vkoukis@xxxxxxxxxxxxxxxxx
OpenPGP public key ID:
pub  1024D/1D038E97 2003-07-13 Vangelis Koukis <vkoukis@xxxxxxxxxxxxxxxxx>
     Key fingerprint = C5CD E02E 2C78 7C10 8A00  53D8 FBFC 3799 1D03 8E97

Our greatest glory is not in never failing,
but in rising up every time we fail.
        -- Ralph Waldo Emerson

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux