[mythtv] Mythfrontend hang with CVS
Leo Weppelman
leo at wau.mis.ah.nl
Tue Jun 8 16:24:09 EDT 2004
On Tue, Jun 08, 2004 at 02:03:43PM -0500, Stacey Son wrote:
> Yes, nesting calls to getfsent() is not good given that it is using a
> static buffer. This is most likely the reason mythfrontend is hanging
> for you.
>
> After looking at the code I don't see the reason for calling getfsent()
> again in addDevice(). Attached is a patch to mythmediamonitor.cpp and
> mythmediamonitor.h that add another overloaded addDevice(). This
> eliminates the nested calls to getfsent(). Please give this patch a try
> and let me know if it fixes the hanging problem.
Just one minor nit at first debugging:
> +
> + if (! stat(mep->fs_spec, &sbuf))
> + return false;
This should be:
if(stat(mep->fs_spec, &sbuf) == -1)
return false;
Next crash is the stack overflow (endless recursion) in unlock/openDevice:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1097172352 (LWP 1458)]
0x4090fae6 in MythMediaDevice::openDevice ()
from /usr/local/lib/libmyth-0.15.so.0
(gdb) bt
#0 0x4090fae6 in MythMediaDevice::openDevice ()
from /usr/local/lib/libmyth-0.15.so.0
#1 0x40921e6b in MythCDROM::openDevice ()
from /usr/local/lib/libmyth-0.15.so.0
#2 0x409245fe in MythCDROMLinux::unlock ()
from /usr/local/lib/libmyth-0.15.so.0
#3 0x40921e8e in MythCDROM::openDevice ()
from /usr/local/lib/libmyth-0.15.so.0
Leo.
More information about the mythtv-dev
mailing list