Discussion:
[vdr] Segfault in dvbhddevice
(too old to reply)
Richard Scobie
2012-03-07 05:33:41 UTC
Permalink
For the past few weeks, I have been running the current 1.7.XX version
of vdr with an S2-6400 card, using only one tuner, which is connected to
a 4 x 1 diseqc switch, without any problems.

The startup command has been:

/usr/local/bin/vdr -L /home/rs/vdr/PLUGINS/lib -D 1 -P dvbhddevice -P
femon -v /mnt/storage/video -s /usr/local/bin/pm &

Today I replaced my LNB's with dual output ones, with the second output
connected to a second 4 x 1 disecq switch, which is connected to the
second tuner on the S2-6400 card.

I removed the "-D 1" from the startup command and I am now finding that
sometimes vdr crashes on startup, with the following error:

Mar 7 17:40:46 atom kernel: [ 12.257270] vdr[755]: segfault at 0 ip
00007fd3118426d0 sp 00007fffcbf98968 error 4 in
libvdr-dvbhddevice.so.1.7.25[7fd311835000+18000]

If I then run the vdr startup command again, it starts OK.

Please let me know if there is any other information I can provide - the
current version I am using is vdr 1.7.25.

Regards,

Richard
Klaus Schmidinger
2012-03-07 09:09:26 UTC
Permalink
On 07.03.2012 06:33, Richard Scobie wrote:
> For the past few weeks, I have been running the current 1.7.XX version of vdr with an S2-6400 card, using only one tuner, which is connected to a 4 x 1 diseqc switch, without any problems.
>
> The startup command has been:
>
> /usr/local/bin/vdr -L /home/rs/vdr/PLUGINS/lib -D 1 -P dvbhddevice -P femon -v /mnt/storage/video -s /usr/local/bin/pm &
>
> Today I replaced my LNB's with dual output ones, with the second output connected to a second 4 x 1 disecq switch, which is connected to the second tuner on the S2-6400 card.
>
> I removed the "-D 1" from the startup command and I am now finding that sometimes vdr crashes on startup, with the following error:
>
> Mar 7 17:40:46 atom kernel: [ 12.257270] vdr[755]: segfault at 0 ip 00007fd3118426d0 sp 00007fffcbf98968 error 4 in libvdr-dvbhddevice.so.1.7.25[7fd311835000+18000]
>
> If I then run the vdr startup command again, it starts OK.
>
> Please let me know if there is any other information I can provide - the current version I am using is vdr 1.7.25.

Are you using the latest driver [1] and firmware [2]?

[1] http://powarman.dyndns.org/hgwebdir.cgi/v4l-dvb-saa716x/
[2] http://aregel.de/

Klaus
Richard Scobie
2012-03-07 19:53:54 UTC
Permalink
Klaus Schmidinger wrote:

> Are you using the latest driver [1] and firmware [2]?
>
> [1] http://powarman.dyndns.org/hgwebdir.cgi/v4l-dvb-saa716x/
> [2] http://aregel.de/

Hi Klaus,

Have the latest firmware - drivers were a week old so have just updated
them and the result is the same.

Seems to always segfault on bootup, then usually starts OK (with the
occasional seg fault) when manually started.

Here is a larger section of the log:

Mar 8 08:34:40 atom vdr: [751] VDR version 1.7.25 started
Mar 8 08:34:40 atom vdr: [751] codeset is 'UTF-8' - known
Mar 8 08:34:40 atom vdr: [751] ERROR (tools.c,1388): ./locale: No such
file or directory
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'deu,ger'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'slv,slo'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'ita'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'dut,nla,nld'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'prt'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'fra,fre'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'nor'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'fin,suo'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'pol'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'esl,spa'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'ell,gre'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'sve,swe'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'rom,rum'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'hun'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'cat,cln'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'rus'
Mar 8 08:34:40 atom vdr: [751] no locale for language code
'srb,srp,scr,scc'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'hrv'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'est'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'dan'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'cze,ces'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'tur'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'ukr'
Mar 8 08:34:40 atom vdr: [751] no locale for language code 'ara'
Mar 8 08:34:40 atom vdr: [751] loading plugin:
/home/rs/vdr/PLUGINS/lib/libvdr-dvbhddevice.so.1.7.25
Mar 8 08:34:40 atom vdr: [751] loading plugin:
/home/rs/vdr/PLUGINS/lib/libvdr-femon.so.1.7.25
Mar 8 08:34:40 atom vdr: [751] loading /mnt/storage/video/setup.conf
Mar 8 08:34:40 atom vdr: [751] loading /mnt/storage/video/sources.conf
Mar 8 08:34:40 atom vdr: [751] loading /mnt/storage/video/diseqc.conf
Mar 8 08:34:40 atom vdr: [751] loading /mnt/storage/video/scr.conf
Mar 8 08:34:40 atom vdr: [751] loading /mnt/storage/video/channels.conf
Mar 8 08:34:40 atom vdr: [751] loading /mnt/storage/video/timers.conf
Mar 8 08:34:40 atom vdr: [751] loading /mnt/storage/video/svdrphosts.conf
Mar 8 08:34:40 atom vdr: [751] loading /mnt/storage/video/remote.conf
Mar 8 08:34:40 atom vdr: [751] loading /mnt/storage/video/keymacros.conf
Mar 8 08:34:40 atom vdr: [756] video directory scanner thread started
(pid=751, tid=756)
Mar 8 08:34:40 atom vdr: [757] video directory scanner thread started
(pid=751, tid=757)
Mar 8 08:34:40 atom vdr: [751] registered source parameters for 'A - ATSC'
Mar 8 08:34:40 atom vdr: [751] registered source parameters for 'C - DVB-C'
Mar 8 08:34:40 atom vdr: [751] registered source parameters for 'S - DVB-S'
Mar 8 08:34:40 atom vdr: [751] registered source parameters for 'T - DVB-T'
Mar 8 08:34:40 atom vdr: [751] probing /dev/dvb/adapter1/frontend0
Mar 8 08:34:40 atom vdr: [751] creating cDvbDevice
Mar 8 08:34:40 atom vdr: [751] new device number 2
Mar 8 08:34:40 atom vdr: [758] epg data reader thread started (pid=751,
tid=758)
Mar 8 08:34:40 atom vdr: [758] reading EPG data from
/mnt/storage/video/epg.data
Mar 8 08:34:40 atom vdr: [751] frontend 1/0 provides DVB-S,DVB-S2,DSS
with QPSK ("STV090x Multistandard")
Mar 8 08:34:40 atom vdr: [761] tuner on frontend 1/0 thread started
(pid=751, tid=761)
Mar 8 08:34:40 atom vdr: [751] found 1 DVB device
Mar 8 08:34:40 atom vdr: [761] cTimeMs: using monotonic clock
(resolution is 1 ns)
Mar 8 08:34:40 atom vdr: [762] section handler thread started (pid=751,
tid=762)
Mar 8 08:34:40 atom vdr: [751] initializing plugin: dvbhddevice
(0.0.4): HD Full Featured DVB device
Mar 8 08:34:40 atom vdr: [751] initializing plugin: femon (1.7.12): DVB
Signal Information Monitor (OSD)
Mar 8 08:34:40 atom vdr: [751] setting primary device to 1
Mar 8 08:34:40 atom vdr: [751] device 1 has no MPEG decoder
Mar 8 08:34:40 atom vdr: [751] assuming manual start of VDR
Mar 8 08:34:40 atom vdr: [751] SVDRP listening on port 6419
Mar 8 08:34:40 atom vdr: [751] setting current skin to "classic"
Mar 8 08:34:40 atom vdr: [751] loading
/mnt/storage/video/themes/classic-default.theme
Mar 8 08:34:40 atom vdr: [758] epg data reader thread ended (pid=751,
tid=758)
Mar 8 08:34:40 atom vdr: [751] starting plugin: dvbhddevice
Mar 8 08:34:40 atom vdr: [751] starting plugin: femon
Mar 8 08:34:40 atom vdr: [751] remote control LIRC - keys known
Mar 8 08:34:40 atom vdr: [751] switching to channel 3
Mar 8 08:34:40 atom vdr: [763] LIRC remote control thread started
(pid=751, tid=763)
Mar 8 08:34:40 atom vdr: [751] OSD size changed to 720x480 @ 1
Mar 8 08:34:40 atom vdr: [751] ERROR: no OSD provider available - using
dummy OSD!
Mar 8 08:34:40 atom vdr: [751] timer 1 (3 1755-1910 '3 News') set to
event Thu 08.03.2012 18:00-19:00 '3 News'
Mar 8 08:34:40 atom vdr: [751] timer 2 (11 1425-1610 'Speedweek') set
to event Sun 11.03.2012 14:30-16:30 'Speedweek'
Mar 8 08:34:40 atom vdr: [751] timer 3 (3 2025-2140 'Homeland') set to
event Mon 12.03.2012 20:30-21:40 'Homeland'
Mar 8 08:34:40 atom kernel: [ 11.602406] vdr[751]: segfault at 0 ip
00007f0e8728e6d0 sp 00007fffeeb89d08 error 4 in
libvdr-dvbhddevice.so.1.7.25[7f0e87281000+18000]



Regards,

Richard
Richard Scobie
2012-03-07 20:01:13 UTC
Permalink
Richard Scobie wrote:

> DVB-T'
> Mar 8 08:34:40 atom vdr: [751] probing /dev/dvb/adapter1/frontend0
> Mar 8 08:34:40 atom vdr: [751] creating cDvbDevice
> Mar 8 08:34:40 atom vdr: [751] new device number 2
> Mar 8 08:34:40 atom vdr: [758] epg data reader thread started (pid=751,
> tid=758)
> Mar 8 08:34:40 atom vdr: [758] reading EPG data from
> /mnt/storage/video/epg.data
> Mar 8 08:34:40 atom vdr: [751] frontend 1/0 provides DVB-S,DVB-S2,DSS
> with QPSK ("STV090x Multistandard")
> Mar 8 08:34:40 atom vdr: [761] tuner on frontend 1/0 thread started
> (pid=751, tid=761)
> Mar 8 08:34:40 atom vdr: [751] found 1 DVB device
> Mar 8 08:34:40 atom vdr: [761] cTimeMs: using monotonic clock
> (resolution is 1 ns)
> Mar 8 08:34:40 atom vdr: [762] section handler thread started (pid=751,
> tid=762)
> Mar 8 08:34:40 atom vdr: [751] initializing plugin: dvbhddevice
> (0.0.4): HD Full Featured DVB device
> Mar 8 08:34:40 atom vdr: [751] initializing plugin: femon (1.7.12): DVB
> Signal Information Monitor (OSD)
> Mar 8 08:34:40 atom vdr: [751] setting primary device to 1
> Mar 8 08:34:40 atom vdr: [751] device 1 has no MPEG decoder

I notice here that it is only findin one frontend and it thinks the card
does not have MPEG decoder.

Here is the output from a correct startup:

Mar 8 08:35:35 atom vdr: [837] VDR version 1.7.25 started
Mar 8 08:35:35 atom vdr: [837] codeset is 'UTF-8' - known
Mar 8 08:35:35 atom vdr: [837] ERROR (tools.c,1388): ./locale: No such
file or directory
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'deu,ger'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'slv,slo'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'ita'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'dut,nla,nld'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'prt'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'fra,fre'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'nor'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'fin,suo'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'pol'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'esl,spa'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'ell,gre'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'sve,swe'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'rom,rum'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'hun'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'cat,cln'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'rus'
Mar 8 08:35:35 atom vdr: [837] no locale for language code
'srb,srp,scr,scc'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'hrv'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'est'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'dan'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'cze,ces'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'tur'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'ukr'
Mar 8 08:35:35 atom vdr: [837] no locale for language code 'ara'
Mar 8 08:35:35 atom vdr: [837] loading plugin:
/home/rs/vdr/PLUGINS/lib/libvdr-dvbhddevice.so.1.7.25
Mar 8 08:35:35 atom vdr: [837] loading plugin:
/home/rs/vdr/PLUGINS/lib/libvdr-femon.so.1.7.25
Mar 8 08:35:35 atom vdr: [837] loading /mnt/storage/video/setup.conf
Mar 8 08:35:35 atom vdr: [837] loading /mnt/storage/video/sources.conf
Mar 8 08:35:35 atom vdr: [837] loading /mnt/storage/video/diseqc.conf
Mar 8 08:35:35 atom vdr: [837] loading /mnt/storage/video/scr.conf
Mar 8 08:35:35 atom vdr: [837] loading /mnt/storage/video/channels.conf
Mar 8 08:35:35 atom vdr: [837] loading /mnt/storage/video/timers.conf
Mar 8 08:35:35 atom vdr: [837] loading /mnt/storage/video/svdrphosts.conf
Mar 8 08:35:35 atom vdr: [837] loading /mnt/storage/video/remote.conf
Mar 8 08:35:35 atom vdr: [837] loading /mnt/storage/video/keymacros.conf
Mar 8 08:35:35 atom vdr: [838] video directory scanner thread started
(pid=837, tid=838)
Mar 8 08:35:35 atom vdr: [839] video directory scanner thread started
(pid=837, tid=839)
Mar 8 08:35:35 atom vdr: [837] registered source parameters for 'A - ATSC'
Mar 8 08:35:35 atom vdr: [837] registered source parameters for 'C - DVB-C'
Mar 8 08:35:35 atom vdr: [837] registered source parameters for 'S - DVB-S'
Mar 8 08:35:35 atom vdr: [837] registered source parameters for 'T - DVB-T'
Mar 8 08:35:35 atom vdr: [837] probing /dev/dvb/adapter0/frontend0
Mar 8 08:35:35 atom vdr: [837] creating cDvbHdFfDevice
Mar 8 08:35:35 atom vdr: [837] new device number 1
Mar 8 08:35:35 atom vdr: [840] epg data reader thread started (pid=837,
tid=840)
Mar 8 08:35:35 atom vdr: [840] reading EPG data from
/mnt/storage/video/epg.data
Mar 8 08:35:35 atom vdr: [837] frontend 0/0 provides DVB-S,DVB-S2,DSS
with QPSK ("STV090x Multistandard")
Mar 8 08:35:35 atom vdr: [842] tuner on frontend 0/0 thread started
(pid=837, tid=842)
Mar 8 08:35:35 atom vdr: [842] cTimeMs: using monotonic clock
(resolution is 1 ns)
Mar 8 08:35:35 atom vdr: [843] section handler thread started (pid=837,
tid=843)
Mar 8 08:35:35 atom vdr: [837] probing /dev/dvb/adapter1/frontend0
Mar 8 08:35:35 atom vdr: [837] creating cDvbDevice
Mar 8 08:35:35 atom vdr: [837] new device number 2
Mar 8 08:35:35 atom vdr: [837] frontend 1/0 provides DVB-S,DVB-S2,DSS
with QPSK ("STV090x Multistandard")
Mar 8 08:35:35 atom vdr: [845] tuner on frontend 1/0 thread started
(pid=837, tid=845)
Mar 8 08:35:35 atom vdr: [837] found 2 DVB devices
Mar 8 08:35:35 atom vdr: [837] initializing plugin: dvbhddevice
(0.0.4): HD Full Featured DVB device
Mar 8 08:35:35 atom vdr: [837] initializing plugin: femon (1.7.12): DVB
Signal Information Monitor (OSD)
Mar 8 08:35:35 atom vdr: [837] setting primary device to 1
Mar 8 08:35:35 atom vdr: [837] assuming manual start of VDR
Mar 8 08:35:35 atom vdr: [837] SVDRP listening on port 6419
Mar 8 08:35:35 atom vdr: [846] section handler thread started (pid=837,
tid=846)
Mar 8 08:35:35 atom vdr: [837] setting current skin to "classic"
Mar 8 08:35:35 atom vdr: [837] loading
/mnt/storage/video/themes/classic-default.theme
Mar 8 08:35:35 atom vdr: [837] starting plugin: dvbhddevice
Mar 8 08:35:35 atom vdr: [837] starting plugin: femon
Mar 8 08:35:35 atom vdr: [837] remote control LIRC - keys known
Mar 8 08:35:35 atom vdr: [837] switching to channel 3
Mar 8 08:35:35 atom vdr: [847] LIRC remote control thread started
(pid=837, tid=847)
Mar 8 08:35:35 atom vdr: [837] OSD size changed to 1920x1080 @ 1


Regards,

Richard
Richard Scobie
2012-03-07 20:19:10 UTC
Permalink
I have found that adding a "sleep 5" to my startup script, between
loading the drivers and starting vdr, has caused it to successfully
survive five reboots.

Regards,

Richard
Udo Richter
2012-03-07 20:43:51 UTC
Permalink
Am 07.03.2012 21:19, schrieb Richard Scobie:
> I have found that adding a "sleep 5" to my startup script, between
> loading the drivers and starting vdr, has caused it to successfully
> survive five reboots.

I'm doing an udevadm settle --timeout=30 after load/unload, haven't had
any issues with that. Before I had that solution, I was polling for all
devices to appear under /dev/dvb, before starting VDR.

Cheers,

Udo
Lars Hanisch
2012-03-07 21:21:09 UTC
Permalink
Am 07.03.2012 21:43, schrieb Udo Richter:
> Am 07.03.2012 21:19, schrieb Richard Scobie:
>> I have found that adding a "sleep 5" to my startup script, between
>> loading the drivers and starting vdr, has caused it to successfully
>> survive five reboots.
>
> I'm doing an udevadm settle --timeout=30 after load/unload, haven't had
> any issues with that. Before I had that solution, I was polling for all
> devices to appear under /dev/dvb, before starting VDR.

"udevadm settle" is a nice replacement for a sleep, something learned today, thanks. :-)

<Advertisement> ;-)
This is where the dynamite-plugin comes in (needs a patch for the vdr). It creates device-proxies so vdr can start
without the actual devices. dynamite listens on udev and attachs the devices as they got created.
This scenario was one of the reasons to develop that plugin...
</Advertisement>

If the environment is not too fancy (device bonding is not tested by me, I have only DVB-C/-T) it should "just work"...

Lars.

>
> Cheers,
>
> Udo
>
> _______________________________________________
> vdr mailing list
> ***@linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>
s***@no-log.org
2012-03-08 11:52:11 UTC
Permalink
Lars Hanisch <***@flensrocker.de> writes:

> Am 07.03.2012 21:43, schrieb Udo Richter:
>> Am 07.03.2012 21:19, schrieb Richard Scobie:
>>> I have found that adding a "sleep 5" to my startup script, between
>>> loading the drivers and starting vdr, has caused it to successfully
>>> survive five reboots.
>>
>> I'm doing an udevadm settle --timeout=30 after load/unload, haven't had
>> any issues with that. Before I had that solution, I was polling for all
>> devices to appear under /dev/dvb, before starting VDR.
>
> "udevadm settle" is a nice replacement for a sleep, something learned today, thanks. :-)
>
> <Advertisement> ;-)
> This is where the dynamite-plugin comes in (needs a patch for the
> vdr). It creates device-proxies so vdr can start without the actual
> devices. dynamite listens on udev and attachs the devices as they got
> created.
> This scenario was one of the reasons to develop that plugin...
> </Advertisement>

I use it because it adds ways to detach cards from vdr, reload drivers
and use them again without stopping vdr.

Thanks again for this wonderful plugin !

btw, i haven't tested, does vdr-1.7.24-dynamite-subdevice.patch apply
on 1.7.26+(patches from the ml)

--
Lars Hanisch
2012-03-08 18:04:16 UTC
Permalink
Am 08.03.2012 12:52, schrieb ***@no-log.org:
> Lars Hanisch<***@flensrocker.de> writes:
>
>> Am 07.03.2012 21:43, schrieb Udo Richter:
>>> Am 07.03.2012 21:19, schrieb Richard Scobie:
>>>> I have found that adding a "sleep 5" to my startup script, between
>>>> loading the drivers and starting vdr, has caused it to successfully
>>>> survive five reboots.
>>>
>>> I'm doing an udevadm settle --timeout=30 after load/unload, haven't had
>>> any issues with that. Before I had that solution, I was polling for all
>>> devices to appear under /dev/dvb, before starting VDR.
>>
>> "udevadm settle" is a nice replacement for a sleep, something learned today, thanks. :-)
>>
>> <Advertisement> ;-)
>> This is where the dynamite-plugin comes in (needs a patch for the
>> vdr). It creates device-proxies so vdr can start without the actual
>> devices. dynamite listens on udev and attachs the devices as they got
>> created.
>> This scenario was one of the reasons to develop that plugin...
>> </Advertisement>
>
> I use it because it adds ways to detach cards from vdr, reload drivers
> and use them again without stopping vdr.
>
> Thanks again for this wonderful plugin !
>
> btw, i haven't tested, does vdr-1.7.24-dynamite-subdevice.patch apply
> on 1.7.26+(patches from the ml)

Haven't tested that yet, I'm still working on 1.7.25. And I think there will be soon a 1.7.26...

Lars.
Loading...