Opened 7 months ago

#13278 new Bug Report - General

mythbackend 29/fixes crashes

Reported by: krbvroc1 Owned by:
Priority: major Milestone: needs_triage
Component: MythTV - General Version: v29-fixes
Severity: medium Keywords:
Cc: Ticket locked: no

Description

2 years ago I had reported frequent backend crashing in 0.28/fixes. We thought maybe it was due to the older Qt 5.6 in Centos 7.

This past week I upgraded to the recently released Centos 7.5 which now includes Qt 5.9.2 and I upgraded from 0.28/fixes to v29.1-15-g280138b

I am still experiencing crashing. They always seem to happen on an hour or 1/2 interval and seem to be related to QString() I have systemd setup to autorestart mythbackend when it crashes.

Example 1 (logfile snippet follows)

#0  0x00007ff27be49459 in __memcpy_ssse3_back () at /lib64/libc.so.6
#1  0x00007ff27c9f88a7 in QString::append(QString const&) () at /lib64/libQt5Core.so.5
#2  0x00007ff27ca0b060 in QtPrivate::QStringList_join(QStringList const*, QChar const*, int) () at /lib64/libQt5Core.so.5
#3  0x00007ff284367576 in QListSpecialMethods<QString>::join(QString const&) const (this=0x7ff14c7eead0, sep=...)
    at /usr/include/qt5/QtCore/qstringlist.h:202
#4  0x00007ff2843619c4 in MythSocket::WriteStringListReal(QStringList const*, bool*) (this=0xf7fa60, list=0x7ff14c7eead0, ret=0x7ff14c7ee5af) at mythsocket.cpp:727
#5  0x00007ff2844a1b9d in MythSocket::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0xf7fa60, _c=QMetaObject::InvokeMetaMethod, _id=8, _a=0x7ff14c7edef0) at moc_mythsocket.cpp:150
#6  0x00007ff27cb5c81e in QObject::event(QEvent*) () at /lib64/libQt5Core.so.5
#7  0x00007ff27cb33205 in doNotify(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#8  0x00007ff27cb332e6 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#9  0x00007ff27cb35c03 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib64/libQt5Core.so.5
#10 0x00007ff27cb82113 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5Core.so.5
#11 0x00007ff273311969 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#12 0x00007ff273311cc8 in g_main_context_iterate.isra.22 () at /lib64/libglib-2.0.so.0
#13 0x00007ff273311d7c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#14 0x00007ff27cb81abc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#15 0x00007ff27cb31deb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#16 0x00007ff27c9856c8 in QThread::exec() () at /lib64/libQt5Core.so.5
#17 0x00007ff284350050 in MThreadInternal::QThreadRun() (this=0xf7f930) at mthread.cpp:81
#18 0x00007ff28434f6ea in MThread::run() (this=0xf94b80) at mthread.cpp:321
#19 0x00007ff284350034 in MThreadInternal::run() (this=0xf7f930) at mthread.cpp:79
#20 0x00007ff27c989b71 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#21 0x00007ff27ddeee25 in start_thread () at /lib64/libpthread.so.0
#22 0x00007ff27bdf3bad in clone () at /lib64/libc.so.6

Log at this moment:

2018-05-11 11:00:00.124680 N [1233/1233] CoreContext autoexpire.cpp:251 (CalcParams) - AutoExpire: CalcParams(): Max required Free Space: 3.0 GB w/freq: 7 min
2018-05-11 11:00:00.306406 N [1233/1253] TVRecEvent recordinginfo.cpp:695 (ApplyRecordRecGroupChange) - ApplyRecordRecGroupChange: LiveTV to LiveTV (2)
2018-05-11 11:00:00.432417 N [1233/1233] CoreContext autoexpire.cpp:251 (CalcParams) - AutoExpire: CalcParams(): Max required Free Space: 3.0 GB w/freq: 7 min
2018-05-11 11:00:00.460558 N [1233/1934] HDHRStreamHandler recorders/recorderbase.cpp:501 (FinishRecording) - Finished Recording: Container: MPEG2-TS Video Codec: mpeg2vid
eo (1280x720 A/R: 3 59.9401fps) Audio Codec: ac3
2018-05-11 11:00:00.461651 I [1233/1934] HDHRStreamHandler tv_rec.cpp:3385 (RingBufferChanged) - TVRec[2]: RingBufferChanged()
2018-05-11 11:00:00.462169 I [1233/1934] HDHRStreamHandler tv_rec.cpp:863 (FinishedRecording) - TVRec[2]: FinishedRecording(3807_2018-05-11T14:57:14Z) damaged recq:<Record
ingQuality overall_score="0" key="3807_2018-05-11T14:57:14Z" countinuity_error_count="0" packet_count="1042260">
    <Gap start="2018-05-11T14:00:00Z" end="2018-05-11T14:57:15Z" duration="3435" />
</RecordingQuality>

2018-05-11 11:00:00.476358 C [1233/1233] CoreContext signalhandling.cpp:305 (handleSignal) - Received Aborted: Code -6, PID 1233, UID 1004, Value 0x00000000
2018-05-11 11:00:00.576979 N [1233/1251] TVRecEvent recordinginfo.cpp:695 (ApplyRecordRecGroupChange) - ApplyRecordRecGroupChange: LiveTV to LiveTV (2)
2018-05-11 11:00:00.582003 C [1233/1233] CoreContext signalhandling.cpp:305 (handleSignal) - Received Bus error: Code 128, PID 0, UID 0, Value 0x7f85f42f69ab
2018-05-11 11:00:01.321919 N [1233/1345] HDHRStreamHandler recorders/recorderbase.cpp:501 (FinishRecording) - Finished Recording: Container: MPEG2-TS Video Codec: h264 (12
80x720 A/R: 3 59.9401fps) Audio Codec: ac3
2018-05-11 11:00:01.324452 I [1233/1345] HDHRStreamHandler tv_rec.cpp:3385 (RingBufferChanged) - TVRec[1]: RingBufferChanged()
2018-05-11 11:00:01.357179 E [1233/1233] CoreContext mainserver.cpp:1172 (customEvent) - MainServer: PREVIEW_SUCCESS but no receivers.

Example 2 (don't have logfile associated with this one)

#0  0x00007f860d0cd277 in raise () at /lib64/libc.so.6
#1  0x00007f860d0ce968 in abort () at /lib64/libc.so.6
#2  0x00007f860d10fd37 in __libc_message () at /lib64/libc.so.6
#3  0x00007f860d118499 in _int_free () at /lib64/libc.so.6
#4  0x00007f8614ca4961 in QTypedArrayData<unsigned short>::deallocate(QArrayData*) (data=0x7f85d4025f40)
    at /usr/include/qt5/QtCore/qarraydata.h:237
#5  0x00007f8614ca3fb8 in QString::~QString() (this=0x7f84ec028d10, __in_chrg=<optimized out>)
    at /usr/include/qt5/QtCore/qstring.h:1084
#6  0x00007f8614d3cebd in ProgramInfo::~ProgramInfo() (this=0x7f84ec028d00, __in_chrg=<optimized out>) at programinfo.cpp:1263
#7  0x00007f8614d3cf00 in ProgramInfo::~ProgramInfo() (this=0x7f84ec028d00, __in_chrg=<optimized out>) at programinfo.cpp:1265
#8  0x00000000004a03ee in MainServer::HandleRecorderQuery(QStringList&, QStringList&, PlaybackSock*) (this=
    0x1a076e0, slist=..., commands=..., pbs=0x7f84ec028f30) at mainserver.cpp:4354
#9  0x0000000000475a05 in MainServer::ProcessRequestWork(MythSocket*) (this=0x1a076e0, sock=0x1933370) at mainserver.cpp:706
#10 0x0000000000473f47 in MainServer::ProcessRequest(MythSocket*) (this=0x1a076e0, sock=0x1933370) at mainserver.cpp:458
#11 0x00000000004ce942 in ProcessRequestRunnable::run() (this=0x7f85dc00ccb0) at mainserver.cpp:159
#12 0x00007f86156f5714 in MPoolThread::run() (this=0x7f84f0026120) at mthreadpool.cpp:140
#13 0x00007f86156f2034 in MThreadInternal::run() (this=0x7f84f00261b0) at mthread.cpp:79
#14 0x00007f860dd2bb71 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#15 0x00007f860f190e25 in start_thread () at /lib64/libpthread.so.0
#16 0x00007f860d195bad in clone () at /lib64/libc.so.6

Change History (0)

Note: See TracTickets for help on using tickets.