Opened 18 years ago

Closed 18 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@… 18 years ago.
backtrace
myth.log (4.9 KB) - added by paulrwheeler@… 18 years ago.
Frontend log
gdb2.txt (16.3 KB) - added by anonymous 18 years ago.

Download all attachments as: .zip

Change History (16)

Changed 18 years ago by paulrwheeler@…

Attachment: gdb.txt added

backtrace

Changed 18 years ago by paulrwheeler@…

Attachment: myth.log added

Frontend log

comment:1 Changed 18 years ago by paulrwheeler@…

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 Changed 18 years ago by anonymous

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.

Changed 18 years ago by anonymous

Attachment: gdb2.txt added

comment:3 Changed 18 years ago by anonymous

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 Changed 18 years ago by paulrwheeler@…

Turning off the recording preview stops this segfault from happening.

comment:5 Changed 18 years ago by anonymous

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 Changed 18 years ago by Isaac Richards

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 Changed 18 years ago by anonymous

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

comment:8 Changed 18 years ago by danielk

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

comment:9 Changed 18 years ago by danielk

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 Changed 18 years ago by gremlin190@…

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 Changed 18 years ago by danielk

Resolution: fixed
Status: newclosed

Fixed by [10002].

comment:12 Changed 18 years ago by Isaac Richards

Resolution: fixed
Status: closedreopened

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

comment:13 Changed 18 years ago by Isaac Richards

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.