Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#10933 closed Patch - Bug Fix (fixed)

[PATCH] Prevent a SEGV in MpegRecorder::run when encoding is stopped

Reported by: Lawrence Rust <lvr@…> Owned by: danielk
Priority: minor Milestone: 0.26
Component: MythTV - Recording Version: Master Head
Severity: medium Keywords: MpegRecorder SEGV
Cc: Ticket locked: no


If the current video source is a demo recorder and liveTV is exited then the BE aborts with a SEGV:

Program terminated with signal 11, Segmentation fault.
0  0xb67f4038 in MpegRecorder::run (this=0x8aa3b00) at mpegrecorder.cpp:1028
1028	                FD_SET(readfd, &rdset);
(gdb) bt
0  0xb67f4038 in MpegRecorder::run (this=0x8aa3b00) at mpegrecorder.cpp:1028
1  0xb5e186e0 in MThread::run (this=0x8a62060) at mthread.cpp:319
2  0xb5e18d34 in MThreadInternal::run (this=0x88cd100) at mthread.cpp:79
3  0xb3b772e0 in QThreadPrivate::start (arg=0x88cd100)
    at thread/qthread_unix.cpp:266
4  0xb3af9e99 in start_thread (arg=0xa0f39b70) at pthread_create.c:304
5  0xb39359ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
(gdb) print readfd
$1 = -1

This is the result of MpegRecorder::StopEncoding? closing 'readfd' and setting it to -1.

Attachments (1)

0001-libmythtv-Prevent-a-SEGV-in-MpegRecorder-run-when-en.patch (2.0 KB) - added by Lawrence Rust <lvr@…> 9 years ago.

Download all attachments as: .zip

Change History (3)

Changed 9 years ago by Lawrence Rust <lvr@…>

comment:1 Changed 9 years ago by Daniel Thor Kristjansson <danielk@…>

Resolution: fixed
Status: newclosed

In 661a1ddd71cfe5b24df72cd4585749a43af2f103/mythtv:

Fixes #10933. Don't close readfd from under MPEGRecorder::run()

comment:2 Changed 9 years ago by Raymond Wagner

Milestone: unknown0.26
Version: UnspecifiedMaster Head
Note: See TracTickets for help on using tickets.