Opened 14 years ago

Closed 14 years ago

#1245 closed task (fixed)

Convert LCD code to use MythSocket (was: Crash during playback)

Reported by: adeffs.mythtv@… Owned by: paulh
Priority: minor Milestone: unknown
Component: mythtv Version:
Severity: medium Keywords:
Cc: Ticket locked: no

Description

I've been getting these randomly, it crashes in the middle of playing back a recording. I think its happened during LiveTV before as well. Input seems to matter not, DCT over firewire, pcHDTV HD3000, or PVR150. I'll note which input with every new backtrace I add.

First attachments are backtrace and frontend log of the crash during playback of a pre-recorded, scheduled HD recording off my pcHDTV 3000 card.

Attachments (8)

gdb.txt (21.3 KB) - added by adeffs.mythtv@… 14 years ago.
backtrace 1
mythfrontend.log (6.6 KB) - added by adeffs.mythtv@… 14 years ago.
frontend log 1
gdb.2.txt (11.9 KB) - added by adeffs.mythtv@… 14 years ago.
mythfrontend.2.log (43.6 KB) - added by adeffs.mythtv@… 14 years ago.
gdb.335.txt (37.7 KB) - added by adeffs.mythtv@… 14 years ago.
hopefully correct backtrace #1
gdb.335.2.txt (37.7 KB) - added by adeffs.mythtv@… 14 years ago.
hopefully correct backtrace #1
gdb.526.txt (1.3 KB) - added by adeffs.mythtv@… 14 years ago.
hopefully correct backtrace #2
lcddevice.diff (700 bytes) - added by jwestfall@… 14 years ago.
patch from dev list

Download all attachments as: .zip

Change History (18)

Changed 14 years ago by adeffs.mythtv@…

Attachment: gdb.txt added

backtrace 1

Changed 14 years ago by adeffs.mythtv@…

Attachment: mythfrontend.log added

frontend log 1

comment:1 Changed 14 years ago by Isaac Richards

Resolution: invalid
Status: newclosed

You cut off the most important part of the output from gdb - the beginning, where it says where it crashed.

comment:2 Changed 14 years ago by adeffs.mythtv@…

Resolution: invalid
Status: closedreopened

replacing old attachments with new ones, let me know if these are any better...

Changed 14 years ago by adeffs.mythtv@…

Attachment: gdb.2.txt added

Changed 14 years ago by adeffs.mythtv@…

Attachment: mythfrontend.2.log added

comment:3 Changed 14 years ago by Isaac Richards

Resolution: invalid
Status: reopenedclosed

Still a useless backtrace.

comment:4 Changed 14 years ago by adeffs.mythtv@…

Resolution: invalid
Status: closedreopened

I'm reopening this ticket with new backtraces attached, these should include the appropriate information, and I had them posted on the dev list(http://www.gossamer-threads.com/lists/mythtv/dev/188865?search_string=frontend%20crash%20gdb;).

Issaac said "Both of the crashes you sent seem to be dying in the LCD server communication code.. Looks to me like it's probably due to unsafe threaded usage of QSocket in the LCD class. Would probably be better to rewrite that to use QSocketDevice instead.

Isaac "

Not all these backtraces may lead to this issue though, but I'm not sure how to read them so I'll let those that know do with them as they find appropriate.

Changed 14 years ago by adeffs.mythtv@…

Attachment: gdb.335.txt added

hopefully correct backtrace #1

Changed 14 years ago by adeffs.mythtv@…

Attachment: gdb.335.2.txt added

hopefully correct backtrace #1

Changed 14 years ago by adeffs.mythtv@…

Attachment: gdb.526.txt added

hopefully correct backtrace #2

comment:5 Changed 14 years ago by adeffs.mythtv@…

I disabled use of the LCD and have not had any of these random crashes since so I will assume Isaac is right in his guess.

comment:6 Changed 14 years ago by Isaac Richards

Owner: changed from Isaac Richards to paulh
Status: reopenednew

Paul, the LCD code probably needs rewritten to use a QSocketDevice instead of a QSocket. The current code (ie, QSocket) isn't threadsafe.

Changed 14 years ago by jwestfall@…

Attachment: lcddevice.diff added

patch from dev list

comment:7 Changed 14 years ago by paulh

(In [9660]) Apply patch from Jim Westfall. Fixes a random crash when using an LCD display. This will do until the thread safe MythSocket? is ready. References #1245

comment:8 Changed 14 years ago by paulh

(In [9661]) Apply patch from Jim Westfall. Fixes a random crash when using an LCD display. This will do until the thread safe MythSocket? is ready. References #1245

comment:9 Changed 14 years ago by Isaac Richards

Summary: Crash during playbackConvert LCD code to use MythSocket (was: Crash during playback)
Type: defecttask

comment:10 Changed 14 years ago by paulh

Resolution: fixed
Status: newclosed

Fixed in [10057]

Note: See TracTickets for help on using tickets.