Opened 12 years ago

Closed 11 years ago

#10961 closed Bug Report - General (Works for me)

Backend crash when left idle

Reported by: JYA Owned by:
Priority: major Milestone: 0.26
Component: MythTV - General Version: Unspecified
Severity: medium Keywords:
Cc: Ticket locked: no

Description

Living mythbackend running will usually end up crashing after a few hours (usually found it crashed in the morning)

Attachments (1)

bt.txt (25.0 KB) - added by JYA 12 years ago.
backtrace

Download all attachments as: .zip

Change History (6)

Changed 12 years ago by JYA

Attachment: bt.txt added

backtrace

comment:1 Changed 12 years ago by JYA

#0  0x00007fff8c92c4aa in write ()
No symbol table info available.
#1  0x000000010b2707bf in vio_write ()
No symbol table info available.
#2  0x000000010b271cd1 in net_real_write ()
No symbol table info available.
#3  0x000000010b271302 in net_flush ()
No symbol table info available.
#4  0x000000010b2716e6 in net_write_command ()
No symbol table info available.
#5  0x000000010b267832 in cli_advanced_command ()
No symbol table info available.
#6  0x000000010b26c049 in mysql_close ()
No symbol table info available.
#7  0x000000010979a573 in QMYSQLDriver::close ()
No symbol table info available.
#8  0x0000000102402c27 in MSqlDatabase::~MSqlDatabase (this=0x10701c8b0) at mythdbcon.cpp:90
No locals.
#9  0x0000000102402715 in MSqlDatabase::~MSqlDatabase (this=0x10701c8b0) at mythdbcon.cpp:87
No locals.
#10 0x0000000102404805 in MDBManager::PurgeIdleConnections (this=0x109235f60, leaveOne=true) at mythdbcon.cpp:406
	entry = (MSqlDatabase *) 0x10701c8b0
	locker = {
  val = 4448280417
}
	list = (DBList &) @0x1092367f8: {
  {
    p = {
      d = 0x10701d410
    }, 
    d = 0x10701d410
  }
}
	now = {
  d = {
    d = 0x10c0a43b0
  }
}
	it = {
  i = 0x10701d438
}
	purgedConnections = 1
	totalConnections = 1
	newDb = (MSqlDatabase *) 0x10c048240
#11 0x0000000102403c0c in MDBManager::popConnection (this=0x109235f60, reuse=true) at mythdbcon.cpp:279
	db = (MSqlDatabase *) 0x103d9df40
	list = (DBList &) @0x7fff87935183: {
  {
    p = {
      d = 0x11b058b48c38948
    }, 
    d = 0x11b058b48c38948
  }
}
#12 0x000000010240547c in MSqlQuery::InitCon (_reuse=MSqlQuery::kNormalConnection) at mythdbcon.cpp:524
	reuse = true
	db = (MSqlDatabase *) 0x109234320
	qi = (MSqlQueryInfo &) @0x7fff5fbfea88: {
  db = 0x103bfb0c5, 
  qsqldb = {
    d = 0x1ffffffff
  }, 
  returnConnection = 10
}
#13 0x0000000102411e34 in MythDB::GetSetting (this=0x109234320, _key=@0x7fff5fbfec20, defaultval=@0x7fff5fbfeb90) at mythdb.cpp:392
	key = {
  d = 0x10c0c5710
}
	it = {
  i = 0x1092348f0
}
	query = {
  <QSqlQuery> = {
    d = 0x7fffffffffff
  }, 
  members of MSqlQuery: 
  m_db = 0x100000000, 
  m_isConnected = 224, 
  m_returnConnection = 234, 
  m_last_prepared_query = {
    d = 0xa
  }
}
	value = (QString &) @0x7fff5fbfeb88: {
  d = 0x10c0628f0
}
#14 0x0000000102413a06 in MythDB::GetNumSetting (this=0x109234320, key=@0x7fff5fbfec20, defaultval=10) at mythdb.cpp:560
	val = {
  d = 0x10c0628f0
}
	retval = {
  d = 0x10c0628f0
}
#15 0x00000001022ded67 in DBConfiguration::GetValue (this=0x109258fe0, sSetting=@0x7fff5fbfec20, nDefault=10) at configuration.cpp:345
No locals.
#16 0x00000001022a256b in HttpWorker::HttpWorker (this=0x10c0bc6c0, httpServer=@0x107035880, sock=81) at httpserver.cpp:244
No locals.
#17 0x00000001022a1ec3 in HttpWorker::HttpWorker (this=0x10c0bc6c0, httpServer=@0x107035880, sock=81) at httpserver.cpp:245
No locals.
#18 0x00000001022a1d8f in HttpServer::newTcpConnection (this=0x107035880, nSocket=81) at httpserver.cpp:127
No locals.
#19 0x000000010254a96a in ServerPool::qt_static_metacall (_o=0x107035880, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7fff5fbfeed0) at moc_serverpool.cpp:139
	_t = (ServerPool *) 0x107035880
#20 0x0000000103d0322e in QMetaObject::activate ()
No symbol table info available.
#21 0x000000010254a639 in PrivTcpServer::newConnection (this=0x1092562c0, _t1=81) at moc_serverpool.cpp:98
	_a = {0x0, 0x7fff5fbfeeec}
#22 0x000000010251ab3b in PrivTcpServer::incomingConnection (this=0x1092562c0, socket=81) at serverpool.cpp:66
No locals.
#23 0x0000000104d4f94b in QTcpServerPrivate::readNotification ()
No symbol table info available.
#24 0x0000000104d52cb9 in QReadNotifier::event ()
No symbol table info available.
#25 0x0000000103cead7f in QCoreApplicationPrivate::notify_helper ()
No symbol table info available.
#26 0x0000000103ceb355 in QCoreApplication::notify ()
No symbol table info available.
#27 0x0000000103ceb17c in QCoreApplication::notifyInternal ()
No symbol table info available.
#28 0x0000000103d1f566 in QEventDispatcherUNIX::activateSocketNotifiers ()
No symbol table info available.
#29 0x0000000103d20282 in QEventDispatcherUNIXPrivate::doSelect ()
No symbol table info available.
#30 0x0000000103d20572 in QEventDispatcherUNIX::processEvents ()
No symbol table info available.
#31 0x0000000103cea094 in QEventLoop::processEvents ()
No symbol table info available.
#32 0x0000000103cea444 in QEventLoop::exec ()
No symbol table info available.
#33 0x0000000103cecb2c in QCoreApplication::exec ()
No symbol table info available.
#34 0x0000000100133e22 in run_backend (cmdline=@0x7fff5fbffa58) at main_helpers.cpp:673
	ismaster = true
	sysEventHandler = (MythSystemEventHandler *) 0x109054610
	fatal_error = false
	runsched = true
	sched = (Scheduler *) 0x107033ff0
	httpStatus = (HttpStatus *) 0x10c00cdd0
	pHS = (HttpServer *) 0x107035880
	port = 6543
	exitCode = 0
#35 0x0000000100045749 in main (argc=6, argv=0x7fff5fbffab0) at main.cpp:133
	a = {
  <QObject> = {
    _vptr$QObject = 0x103e84d50, 
    d_ptr = {
      d = 0x10922b220
    }
  }, <No data fields>}
	retval = 0
	mask = {
  d = 0x10922f2c0
}
	signallist = {
  {
    p = {
      d = 0x109231750
    }, 
    d = 0x109231750
  }
}
	cmdline = {
  <MythCommandLineParser> = {
    _vptr$MythCommandLineParser = 0x100248330, 
    m_appname = {
      d = 0x1092205c0
    }, 
    m_optionedArgs = {
      {
        d = 0x109220e00, 
        e = 0x109220e00
      }
    }, 
    m_namedArgs = {
      {
        d = 0x109220cf0, 
        e = 0x109220cf0
      }
    }, 
    m_passthroughActive = false, 
    m_overridesImported = true, 
    m_verbose = false
  }, <No data fields>}
	daemonize = false
	callCleanup = {
  m_cleanFunction = 0x10012ecd0 <cleanup()>
}
#36 0x000000010000aad4 in start ()
No symbol table info available.

comment:2 Changed 12 years ago by danielk

This may be related to these items in your log on #10934:

2012-07-24 12:06:03.794910 C  MThread prolog was never run!
2012-07-24 12:06:03.794917 C  MThread epilog was never run!
2012-07-24 12:06:05.207267 C  MThread prolog was never run!
2012-07-24 12:06:05.207275 C  MThread epilog was never run!

These indicate there is a MThread::run() or QRunnable::run() without the prolog and epilog calls that setup and teardown DB connections for that thread. I believe this is due one of the threads in HLS support since I don't see it in my logs unless I'm testing HLS.

comment:3 Changed 12 years ago by Daniel Kristjansson <danielk@…>

In 5cc6d1c19ebaf00dfb17d655c5c6da02af5faf7c/mythtv:

Refs #10961. Add missing RunProlog?()/RunEpilog?()

I don't know if this addresses the issue of the ticket or not
but this should address the warnings about DB connection handling
in #10934 which may be related. FYI The QRunnable::run()
implementations don't need this as calling this is handled
by MThreadPool for those.

comment:4 Changed 11 years ago by Kenni Lund [kenni a kelu dot dk]

Status: newinfoneeded_new

jya, has Daniels commit fixed the issue?

comment:5 Changed 11 years ago by JYA

Resolution: Works for me
Status: infoneeded_newclosed

can't reproduce anymore...

Note: See TracTickets for help on using tickets.