My VDR kept crashing suddenly. Issue is located here:
Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread 0x7ffff1e7b700 (LWP 2174)]
0x00007ffff30beb0e in cVNSIClient::processRECORDINGS_GetDiskSpace (this=0x7fffb8001070) at vnsiclient.c:1669
1669 int Total = (FreeMB / (100 - Percent)) * 100;
(gdb) bt
0 0x00007ffff30beb0e in cVNSIClient::processRECORDINGS_GetDiskSpace (this=0x7fffb8001070) at vnsiclient.c:1669
1 0x00007ffff30c2868 in cVNSIClient::processRequest (this=0x7fffb8001070, req=) at vnsiclient.c:543
2 0x00007ffff30c2a34 in cVNSIClient::Action (this=0x7fffb8001070) at vnsiclient.c:146
3 0x00000000005142cd in cThread::StartThread (Thread=0x7fffb8001070) at thread.c:262
4 0x00007ffff7974e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
5 0x00007ffff63ad38d in clone () from /lib/x86_64-linux-gnu/libc.so.6
6 0x0000000000000000 in ?? ()
Fix is:
bool cVNSIClient::processRECORDINGS_GetDiskSpace() /* OPCODE 100 */
{
int FreeMB;
if VDRVERSNUM >= 20102
int Percent = cVideoDirectory::VideoDiskSpace(&FreeMB);
else
int Percent = VideoDiskSpace(&FreeMB);
endif
int Total;
if (Percent < 100)
Total = FreeMB / (100 - Percent) * 100;
else
Total = 0;
Hey,
My VDR kept crashing suddenly. Issue is located here:
Program received signal SIGFPE, Arithmetic exception. [Switching to Thread 0x7ffff1e7b700 (LWP 2174)] 0x00007ffff30beb0e in cVNSIClient::processRECORDINGS_GetDiskSpace (this=0x7fffb8001070) at vnsiclient.c:1669 1669 int Total = (FreeMB / (100 - Percent)) * 100; (gdb) bt
0 0x00007ffff30beb0e in cVNSIClient::processRECORDINGS_GetDiskSpace (this=0x7fffb8001070) at vnsiclient.c:1669
1 0x00007ffff30c2868 in cVNSIClient::processRequest (this=0x7fffb8001070, req=) at vnsiclient.c:543
2 0x00007ffff30c2a34 in cVNSIClient::Action (this=0x7fffb8001070) at vnsiclient.c:146
3 0x00000000005142cd in cThread::StartThread (Thread=0x7fffb8001070) at thread.c:262
4 0x00007ffff7974e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
5 0x00007ffff63ad38d in clone () from /lib/x86_64-linux-gnu/libc.so.6
6 0x0000000000000000 in ?? ()
Fix is: bool cVNSIClient::processRECORDINGS_GetDiskSpace() /* OPCODE 100 */ { int FreeMB;
if VDRVERSNUM >= 20102
int Percent = cVideoDirectory::VideoDiskSpace(&FreeMB);
else
int Percent = VideoDiskSpace(&FreeMB);
endif
int Total;
if (Percent < 100) Total = FreeMB / (100 - Percent) * 100; else Total = 0;
Cheers, Michael