Modify

Opened 3 years ago

Closed 21 months ago

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

Backend crash when left idle

Reported by: jyavenard 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 jyavenard 3 years ago.
backtrace

Download all attachments as: .zip

Change History (6)

Changed 3 years ago by jyavenard

backtrace

comment:1 Changed 3 years ago by jyavenard

#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 3 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 3 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 2 years ago by kenni

  • Status changed from new to infoneeded_new

jya, has Daniels commit fixed the issue?

comment:5 Changed 21 months ago by jyavenard

  • Resolution set to Works for me
  • Status changed from infoneeded_new to closed

can't reproduce anymore...

Add Comment

Modify Ticket

Action
as closed The ticket will remain with no owner.
The resolution will be deleted. Next status will be 'new'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.