[mythtv] Backend crashes... usually after completing commercial flagging
Jim Westfall
jwestfall at surrealistic.net
Fri Mar 23 16:19:32 UTC 2007
James Dio <psunit at gmail.com> wrote [03.23.07]:
>
> Thanks Doug and Rob -- I've followed the guide with one deviation -- I
> disabled distcc and ccache... otherwise I did exactly what the guide
> stated.
>
> I'm going to do as Doug suggested and then recompile qt, I believe
> someone told me qt also needed debugging stuff enabled.
>
> Here is the latest (and different) backtrace that I have:
>
> http://www.psunit.com/gdbnewest.txt
>
> This one is different than the others... either because debugging is
> enabled properly or I have multiple problems :-\
>
There is enough info in http://www.psunit.com/newgdb.txt.
Thread 2 (Thread -1250911344 (LWP 23256)):
#0 0x080df09d in HouseKeeper::wantToRun (this=0x81d80a0,
dbTag=@0xb5709378, period=1, minhour=0, maxhour=23) at housekeeper.cpp:92
minute = 27
hour = 23
runOK = false
oneday = 86400
longEnough = 43200
now = {d = {jd = 2454181}, t = {ds = 84470812}}
lastrun = {d = {jd = 2454163}, t = {ds = 80361000}}
result = {<QSqlQuery> = {_vptr.QSqlQuery = 0xb6fe1e08, d =
0x8d32160}, m_db = 0x81ebba8, m_isConnected = true, m_returnConnection = true}
The code at housekeeper.cpp:92
if ((hour == maxhour && minute > 30) ||
((random()%((maxhour-hour)*12+(60-minute)/5 - 6) == 0)))
Its resulting in (random()%0) which is causing the SIGFPE.
Try changing it to
if ((hour == maxhour && minute > 30) ||
((random()%(((maxhour-hour)*12+(60-minute)/5 - 6) + 1) == 0)))
jim
More information about the mythtv-dev
mailing list