Opened 20 years ago

Closed 20 years ago

#793 closed defect (fixed)

mythbackend segfault at end of every recording (DVB)

Reported by: jppoet@… Owned by: danielk
Priority: critical Milestone: unknown
Component: mythtv Version: head
Severity: high Keywords:
Cc: Ticket locked: no

Description (last modified by danielk)

I will attach a backtrace.

Attachments (3)

8233.backtrace (19.3 KB ) - added by jppoet@… 20 years ago.
Backtrace from 8233
8233.2.backtrace (39.4 KB ) - added by jppoet@… 20 years ago.
svn 8233 backtrace
mythbackend-8233.segfault.patch (734 bytes ) - added by jppoet@… 20 years ago.
Bandaid to prevent mythbackend from a segfault

Download all attachments as: .zip

Change History (7)

by jppoet@…, 20 years ago

Attachment: 8233.backtrace added

Backtrace from 8233

by jppoet@…, 20 years ago

Attachment: 8233.2.backtrace added

svn 8233 backtrace

comment:1 by jppoet@…, 20 years ago

In

void DTVRecorder::BufferedWrite(const TSPacket &tspacket)

a call is made to

ringBuffer->Write(tspacket.data(), TSPacket::SIZE);

At the end of a recording, but ringBuffer == NULL.

Changing

ringBuffer->Write(tspacket.data(), TSPacket::SIZE);

To

if (ringBuffer)

ringBuffer->Write(tspacket.data(), TSPacket::SIZE);

will probably fix the segfault, but does this indicate a more serious problem?

thanks,

John

by jppoet@…, 20 years ago

Bandaid to prevent mythbackend from a segfault

comment:2 by anonymous, 20 years ago

Owner: changed from Isaac Richards to danielk
Version: head

comment:3 by danielk, 20 years ago

(In [8235]) References #793.

This prevents the segfault by applying John Poet's patch. I'll look at why the write is being called at this point before closing the ticket.

comment:4 by danielk, 20 years ago

Description: modified (diff)
Resolution: fixed
Status: newclosed

I'm closing this, I believe the underlying cause is fixed in [8237]. The DVBRecorder's ringbuffer was being set to NULL before the TeardownRecorder() call, now it should always be called after any TeardownRecorder() call.

Note: See TracTickets for help on using tickets.