[vdr] Seqfault of cutting thread on "Low disk space!"
Andreas Brachold
ml05 at deltab.de
Wed Dec 7 21:45:17 CET 2005
Hi,
we*) notice a seqfault of cutting Thread on "Low disk space!", if OSD
used during cutting process.
i think, reason is a call of a OSD function from background cutting
thread.
I tested only on 1.3.32, but 1.3.37 should also affected
(gdb) thread 5
[Switching to thread 5 (process 4733)]#0 0xb7e68114 in ioctl ()
from /lib/tls/libc.so.6
(gdb) bt
#0 0xb7e68114 in ioctl () from /lib/tls/libc.so.6
#1 0x080aa202 in cDvbOsd::Cmd (this=0x8c9e710, cmd=OSD_Clear, color=0, x0=0,
y0=0, x1=0, y1=0, data=0x0) at dvbosd.c:110
#2 0x080a9c13 in cDvbOsd (this=0x8c9e710, Left=54, Top=504, OsdDev=5)
at dvbosd.c:63
#3 0x080aa816 in cDvbOsdProvider::CreateOsd (this=0x8c81930, Left=54, Top=504)
at dvbosd.c:183
#4 0x080e4854 in cOsdProvider::NewOsd (Left=54, Top=504) at osd.c:738
#5 0x08110911 in cSkinSTTNGDisplayMessage (this=0x8c95570) at skinsttng.c:1052
#6 0x08111100 in cSkinSTTNG::DisplayMessage (this=0x8c819f0)
at skinsttng.c:1117
#7 0x0810509e in cSkins::Message (this=0x81f73e4, Type=mtWarning,
s=0x8143f3f "Platte beinahe voll!", Seconds=30) at skins.c:179
#8 0x080bb3d4 in cInterface::Confirm (this=0x8c818c0,
s=0x8143f3f "Platte beinahe voll!", Seconds=30, WaitForTimeout=false)
at interface.c:71
#9 0x080ece45 in AssertFreeDiskSpace (Priority=-1) at recording.c:147
#10 0x0809d62f in cCuttingThread::Action (this=0x8c92528) at cutter.c:86
#11 0x0811b716 in cThread::StartThread (Thread=0x8c92528) at thread.c:234
#12 0xb7fb8b63 in start_thread () from /lib/tls/libpthread.so.0
#13 0xb7e6f18a in clone () from /lib/tls/libc.so.6
Here a possibly solution :
--- recording.c.org 2005-09-11 17:52:31.000000000 +0200
+++ recording.c 2005-12-07 21:33:18.000000000 +0100
@@ -144,7 +144,7 @@
}
// Unable to free disk space, but there's nothing we can do
about that...
isyslog("...no old recording found, giving up");
- Interface->Confirm(tr("Low disk space!"), 30);
+ Skins.QueueMessage(mtWarning, tr("Low disk space!"), 30);
}
LastFreeDiskCheck = time(NULL);
}
*) I'm not the original bug reporter, but i could this seqfault
reproduce
http://www.vdr-portal.de/board/thread.php?threadid=42375&sid=
Cu,
Andreas
More information about the vdr
mailing list