Opened 13 years ago

Closed 13 years ago

#1396 closed defect (invalid)

crash of frontend on trying to enter live-tv

Reported by: simon kenyon Owned by: Isaac Richards
Priority: minor Milestone: unknown
Component: mythtv Version:
Severity: medium Keywords:
Cc: Ticket locked: no

Description

i've rebuilt entirely my two backends and this frontend (with symbols not stripped - they are gentoo linux boxes) in order to get proper backtraces.

on my frontend, i now get a seg fault on trying to enter live-tv.

all are running svn 9149

frontend is an amd64 master backend is an athlon slave backend is a pentium-m

the master frontend has the database and two pvr350s and a nexus-s the slave backend has two pvr350s

they were all running under gdb at the time (as per the documentation) i've included backtraces and logs from all three, although only the frontend crashed.

what more do i need to do?

Attachments (6)

frontend_gdb.txt (56.9 KB) - added by simon kenyon 13 years ago.
frontend gdb.txt
frontend_myth.log (188.9 KB) - added by simon kenyon 13 years ago.
frontend myth log file
masterbackend_gdb.txt (28.0 KB) - added by simon kenyon 13 years ago.
master backend gdb.txt
masterbackend_myth.log (22.6 KB) - added by simon kenyon 13 years ago.
master backend myth log file
slavebackend_gdb.txt (19.8 KB) - added by simon kenyon 13 years ago.
slave backend gdb.txt
slavebackend_myth.log (5.8 KB) - added by simon kenyon 13 years ago.
slave backend myth log file

Download all attachments as: .zip

Change History (11)

Changed 13 years ago by simon kenyon

Attachment: frontend_gdb.txt added

frontend gdb.txt

Changed 13 years ago by simon kenyon

Attachment: frontend_myth.log added

frontend myth log file

Changed 13 years ago by simon kenyon

Attachment: masterbackend_gdb.txt added

master backend gdb.txt

Changed 13 years ago by simon kenyon

Attachment: masterbackend_myth.log added

master backend myth log file

Changed 13 years ago by simon kenyon

Attachment: slavebackend_gdb.txt added

slave backend gdb.txt

Changed 13 years ago by simon kenyon

Attachment: slavebackend_myth.log added

slave backend myth log file

comment:1 Changed 13 years ago by simon kenyon

if it makes any difference, all three are mounting the same recordings directory from a file server using nfs (with atimeo=0 as per recommendations on -dev).

comment:2 Changed 13 years ago by simon kenyon

i've done some further investigation and come across this qt bug report:

http://www.trolltech.com/developer/tasktracker.html?method=entry&id=82941

it seems that all versions of qt prior to qt 4.1 have a problem with calling mysql in threaded applications.

could this be what is causing my random (and not so random) crashes? however, it is surprising to me that there are not more reports of this type of problem.

right now i'm building qt to link against libmysqlclient_r (the reentrant library), rather that libmysqlclient (which it currently does). i'll update this ticket with the results of my tests when i get home from work later tonight.

comment:3 Changed 13 years ago by simon kenyon

this change has made a dramatic effect on the stability of my frontend/backend. i will recompile qt on my other backend and my various frontends and report back.

but for now i think this is worth further investigation.

if qt 4.1 were supported my myth then it would not require me to hack the qt build.

comment:4 Changed 13 years ago by simon kenyon

i've been just looking at the code and in particular the comments in changeset 5683 it suggests that particular combinations of mysql/qt will crash if a connection is closed and reopened. have a look at the comments in mythdbcon.h however, changset 8856 to mythdbcon.cpp seems to do exactly that this was added a month ago (9 days before 0.19 was released) - so maybe that is something to look at.

then again, i might be completely off target.

comment:5 Changed 13 years ago by cpinkham

Resolution: invalid
Status: newclosed

You're getting segfaults inside the MySQL libraries. Sounds like you didn't get something compiled right with Qt or MySQL. You may be using the non-threaded mysql stuff. This works fine for everyone else with Qt 3.x, so it should work fine for you. Closing this ticket as invalid since it's not a MythTV issue.

Note: See TracTickets for help on using tickets.