Opened 20 years ago

Closed 19 years ago

#1272 closed defect (fixed)

preview or lcd qsocket related segfault

Reported by: paulrwheeler@… Owned by: danielk
Priority: minor Milestone: 0.20
Component: mythtv Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

Mythfrontend segfaults. This is with revision 8939. This happens a random time into programs but happens regularily enough. Attached is a backtrace, frontend log and backend log. I can provide anymore information on request. This didnt happen with svn 7738(the one just before livetv change) I will try and narrow done which svn build caused it when I have a bit more time.

Attachments (3)

gdb.txt (32.3 KB ) - added by paulrwheeler@… 20 years ago.
backtrace
myth.log (4.9 KB ) - added by paulrwheeler@… 20 years ago.
Frontend log
gdb2.txt (16.3 KB ) - added by anonymous 20 years ago.

Download all attachments as: .zip

Change History (16)

by paulrwheeler@…, 20 years ago

Attachment: gdb.txt added

backtrace

by paulrwheeler@…, 20 years ago

Attachment: myth.log added

Frontend log

comment:1 by paulrwheeler@…, 20 years ago

Forgot to say this is with dvb in the uk. backend log had nothing interesting in it so didnt post it, if it is needed will post it.

comment:2 by anonymous, 20 years ago

I too have problems with the frontend crashing. It might by that this is the same problem. In my case it is with normal (cable) tv, but my frontend/backend is a low-end machine. I am adding my own backtrace (gdb2.txt). The logs don't show anything interessting either.

by anonymous, 20 years ago

Attachment: gdb2.txt added

comment:3 by anonymous, 20 years ago

Forget to mention the version I am running:

mythbackend version: 0.19.20060121-2 www.mythtv.org

Haven't got a clue which svn number this is, but I compiled it last week somewhere, so I can't be much older then a week.

comment:4 by paulrwheeler@…, 20 years ago

Turning off the recording preview stops this segfault from happening.

comment:5 by anonymous, 20 years ago

Testing if this is also true in my case. I don't have any life previews, but I am generating preview images. Turned the option off. I'll update when I know if this helped.

comment:6 by Isaac Richards, 20 years ago

Owner: changed from Isaac Richards to danielk

Daniel, I'm almost positive that this is related to the unsafe QSocket usage in PreviewGenerator's subthread.

comment:7 by anonymous, 20 years ago

Disabled previews, but still got a crash a few minutes ago. So, there is probably some QSocket problem somewhere else.

comment:8 by danielk, 20 years ago

Summary: mythfrontend segfault during livetv/recordingspreview or lcd qsocket related segfault

comment:9 by danielk, 20 years ago

Are you by any chance using streaming between the backend and frontend, rather than an NFS/Samba share?

Jim Westfall recently reported a race condition in streaming, which might explain this segfault...

comment:10 by gremlin190@…, 20 years ago

This definetly fixed my segfault.

Clean install FC5, just using the mythtv tv package (no other plugins) Been playing for 12hrs straight. before I could only play about 15min before I would get a segfault.

comment:11 by danielk, 19 years ago

Resolution: fixed
Status: newclosed

Fixed by [10002].

comment:12 by Isaac Richards, 19 years ago

Resolution: fixed
Status: closedreopened

[10002] just added the class - the patch that converts code to use it hasn't been applied yet.

comment:13 by Isaac Richards, 19 years ago

Resolution: fixed
Status: reopenedclosed

(In [10178]) Big socket cleanup patch, mostly from Jim Westfall, finished up by me.

  • Converts remaining QSocket usage of the frontend/backend to the much more thread-safe MythSocket. Moves a bunch of QSocketDevice users to MythSocket as well.
  • Removes socket handling code from util.cpp. All in MythSocket now.
  • Change MythSocket from running a child thread per socket we want to be notified on reads from to one static thread that selects() on all.
  • Mirror the timeout changes from Bruce's r10168.
  • Add bit of code to readStringList to detect a disconnected socket, and bypass the timeouts in that case.
  • Fix some reconnect logic in MythContext.
  • Fix a master backend deadlock in the AutoExpirer updating when disconnecting/reconnecting a slave backend rapidly.
  • Other random fixes I'm forgetting at the moment.

This still possibly has some issues, but it's been in use for days on several people's networks without major issues. If you have problems, please run the backend/frontend with -v socket,network and get backtraces as well (if something seems stuck/not responding).

Fixes #1272, and possibly others.

Note: See TracTickets for help on using tickets.