[vdr] VDR crash with DirectFB+softdevice in a Nova-t (Correct mail version)

Nicolas Huillard nhuillard at e-dition.fr
Thu Jun 2 11:16:55 CEST 2005


Scanning DVB and crash do not seem to be related.
It seems to crash in DirectFB, somewhere related to fusion (ie. 
multi-application core).
Could you try to recompile DirectFB in single application core, and do 
not load the fusion kernel module.

PS : you may be better helped on the directfb-users mailing-list if it's 
really related to DirectFB...

Rose M a écrit :
> Sorry my last mail is not quite good. This is correct
> mail.
>  
>  Hello list!
>  
>  Firstly I have to say this mail is very long cause I
>  attached lot of information to be helped.
>  My problem is that I have vdr running in my system
>  Fedora Core 2 with kernel 2.6.10. I could see image
>  from some days (two or three maximum) but it's not
>  quite often. The system can't begin to take image
>  unless it has a full-scan made when computer is
>  powered on, but also it crashes lots of times
>  before,
>  so related with this problem I use a script to get
>  all
>  working.
>  
>  My script consist in these lines:
>  
>  #commands and lines used:
>  DVBDIR="../DVB"
>  VDRPRG00="export LD_ASSUME_KERNEL=2.4.1"
>  VDRPRG01="export LANG=en.US"
>  VDRPRG02="export LC_TYPE=POSIX"
>  VDRPRG="./vdr -P softdevice -P 'remote -i
>  /dev/input/event3' -P femon -P subtitles"
> 
> SCANCMD="../linuxtv-dvb-apps-1.1.0/util/scan/scan-all"
>  LSMOD="`/sbin/lsmod | grep -n 'tda' | wc -l`"
>  KILL="/usr/bin/killall -q -TERM"
>  
>  # Load driver if it hasn't been loaded already:
>  if [ $LSMOD -eq 0 ] ; then
>     (./terrestrial.sh; modprobe fusion;"$SCANCMD")
>     fi
>  
>  PROB="`grep null /video/channels.conf|wc -l`"
>  
>  n1=0
>  
>  CHANLINES="`cat /video/channels.conf |wc -l`"
>  #This is used to have a complete channels.conf to my
>  config and not to be in a bug
>  while ([ "$CHANLINES" -lt 10 ] && [ $n1 -lt 5 ] || [
>  "$PROB" -gt 0 ] && [ $n1 -lt 5 ]) do
>  	"$SCANCMD"
>  	CHANLINES="`wc -l /video/channels.conf|cut -c1-2`"
>  	PROB="`grep null /video/channels.conf|wc -l`"
>  	n1=`expr $n1 + 1`
>  	done
>  
>  #Infinite bucle to have an scan in restart option
>  and
>  always vdr crushes and it could be "solved"
>  while (true) do
>        export LD_ASSUME_KERNEL=2.4.1
>        export LANG=en.US
>        export LC_TYPE=POSIX 
>        ./vdr -P softdevice -P 'remote -i
>  /dev/input/event3' -P femon -P subtitles
>        if test $? -eq 1; then (echo "Making a scan";
>  "$SCANCMD") fi
>        echo "Restarting VDR"
>        done
>  
>  
>  When I execute this script I take:
>  
>  -------------> ./script
>  Inserting DVB modules into kernel
>  saa7146: register extension 'dvb'.
>  saa7146: register extension 'budget dvb'.
>  saa7146: register extension 'budget_ci dvb'.
>  saa7146: found saa7146 @ mem e2abee00 (revision 1,
>  irq
>  5) (0x13c2,0x1011).
>  DVB: registering new adapter (TT-Budget/WinTV-NOVA-T
>  
>  PCI).
>  tda1004x: Detected Philips TDA10045H.
>  tda1004x: Detected Philips TD1316 tuner.
>  DVB: registering frontend 0:0 (Philips TDA10045H)...
>  TT-Budget/WinTV-NOVA-T  PCI adapter 0 has MAC addr =
>  00:d0:5c:23:19:fc
>  saa7146: register extension 'budget dvb /w video
>  in'.
>  
>  
>  Then I make a full scan, cause if I don't do it, I
>  can't get image in a long time or in a lot of
>  crashes.
>  
>  
>  This is the result of making a full scan in my area;
>  then channels.conf:
>  
>  :Canals sintonitzats
> 
> TVC;TV3:650000:I0B8C23D23M64T8G4Y0:T:27500:111:112,114:113:0:801:0:0:0
> 
> TVC;K3/33:650000:I0B8C23D23M64T8G4Y0:T:27500:121:122,124:123:0:802:0:0:0
> 
> TVC;3/24:650000:I0B8C23D23M64T8G4Y0:T:27500:131:132:123:0:803:0:0:0
>  TVC;Canal
> 
> Pilot:650000:I0B8C23D23M64T8G4Y0:T:27500:141:142,143:0:0:804:0:0:0
>  Televisióspañ;TVE
> 
> 1:794000:I0B8C23D12M64T8G4Y0:T:27500:101:103,104:102:0:1377:0:0:0
>  Televisióspañ;TVE
> 
> 2:794000:I0B8C23D12M64T8G4Y0:T:27500:201:203,204:202:0:1441:0:0:0
>  ANTENA 3;ANTENA
> 
> 3:794000:I0B8C23D12M64T8G4Y0:T:27500:301:303:302:0:1121:0:0:0
> 
> SOGECABLE;CANAL+:794000:I0B8C23D12M64T8G4Y0:T:27500:501:503:0:1:1057:0:0:0
>  GESTEVISION
> 
> TELECINCO;TELECINCO:794000:I0B8C23D12M64T8G4Y0:T:27500:401:403:402:0:1185:0:0:0
>  Veo TV 1536;Veo
> 
> TV:834000:I0B8C23D12M64T8G4Y0:T:27500:301:302:0:0:1536:0:0:0
>  Net TV 1825;Net
> 
> TV:834000:I0B8C23D12M64T8G4Y0:T:27500:401:402:0:0:1825:0:0:0
>  
>  
>  I get problems like these:
>  
>  -------------->FIRST
>  [dfb] Enumeratig display Layers
>  Layer 0 FBDev Primary Layer  Type: graphics
>    Caps: brightness contrast saturation surface
>  Layer 1 Matrox Backend Scaler  Type: graphics
>  picture
>  video
>    Caps: brightness contrast deinterlacing
>  dst_colorkey
>  screen_location surface
>  [dfb] width = 640, height = 480
>  [dfb] got fmt = 0x00418c04 bpp = 32
>  [dfb] Using this layer for OSD: (FBDev Primary Layer
>  -
>  [640x480])
>  osdSurface::
>   - videoonly
>   - flipping
>   (!!!)  *** WARNING [letting unprivileged
>  IDirectFBDisplayLayer::GetSurface() call pass until
>  cooperative level handling is finished] ***
>  [idirectfbdisplaylayer.c:159 in
>  IDirectFBDisplayLayer_GetSurface()]
>  videoSurface::
>   - videoonly
>  [dfb] Configuring CooperativeLevel for Overlay
>  [dfb] Configuring ColorKeying
>  [dfb] Configuring CooperativeLevel for OSD
>  [dfb] Using this layer for OSD: FBDev Primary Layer
>  [dfb] Using this layer for Video out: Matrox Backend
>  Scaler
>  [dfb] (re)configuring Videolayer to 720 x 576
>  (720x576)
>  [dfb] (re)configured 0x08100609
>  [softdevice] Video Out seems to be OK
>  [softdevice] Initializing Audio Out
>  [softdevice] Audio out seems to be OK
>  [softdevice] A/V devices initialized, now
>  initializing
>  MPEG2 Decoder
>  cSoftDevice::MakePrimaryDevice
>  (!) [ 2947:    5.522] --> Caught signal 8 (at
>  0xb7a6f097, integer divide by zero) <--
>  (!) [ 2917:    5.560] --> Caught signal 11 (at
>  0x6c65644c, invalid address) <--
>  (!) Direct/Thread: Killing 'Fusion Dispatch' (2922)!
>  Floating point exception
> 
> ---------------------------> SECOND
> [dfb] Enumeratig display Layers
> Layer 0 FBDev Primary Layer  Type: graphics
>   Caps: brightness contrast saturation surface
> Layer 1 Matrox Backend Scaler  Type: graphics picture
> video
>   Caps: brightness contrast deinterlacing dst_colorkey
> screen_location surface
> [dfb] width = 640, height = 480
> [dfb] got fmt = 0x00418c04 bpp = 32
> [dfb] Using this layer for OSD: (FBDev Primary Layer -
> [640x480])
> osdSurface::
>  - videoonly
>  - flipping
>  (!!!)  *** WARNING [letting unprivileged
> IDirectFBDisplayLayer::GetSurface() call pass until
> cooperative level handling is finished] ***
> [idirectfbdisplaylayer.c:159 in
> IDirectFBDisplayLayer_GetSurface()]
> videoSurface::
>  - videoonly
> [dfb] Configuring CooperativeLevel for Overlay
> [dfb] Configuring ColorKeying
> [dfb] Configuring CooperativeLevel for OSD
> [dfb] Using this layer for OSD: FBDev Primary Layer
> [dfb] Using this layer for Video out: Matrox Backend
> Scaler
> [dfb] (re)configuring Videolayer to 720 x 576
> (720x576)
> [dfb] (re)configured 0x08100609
> [softdevice] Video Out seems to be OK
> [softdevice] Initializing Audio Out
> [softdevice] Audio out seems to be OK
> [softdevice] A/V devices initialized, now initializing
> MPEG2 Decoder
> cSoftDevice::MakePrimaryDevice
> (!) [ 3126:    1.870] --> Caught signal 8 (at
> 0xb7a6f097, integer divide by zero) <--
> [softdevice] allocating picture buffer for resolution
> 720x576
> (!) Fusion/Lock: invalid skirmish
> (!) Fusion/Lock: invalid skirmish
> (!) [ 3086:    1.952] --> Caught signal 11 (at 0x3c,
> invalid address) <--
> [softdevice] pp-filter fd:a couldn't be initialized,
> [softdevice] switching postprocessing off !
> [dfb] (re)configuring Videolayer to 720 x 576
> (720x576)
> (!) [ 3127:    1.967] --> Caught signal 11 (at 0x1c,
> invalid address) <--
> (!) Direct/Thread: Killing 'Fusion Dispatch' (3091)!
> Floating point exception
> 
> ---------------------------->THIRD
> [dfb] Enumeratig display Layers
> Layer 0 FBDev Primary Layer  Type: graphics
>   Caps: brightness contrast saturation surface
> Layer 1 Matrox Backend Scaler  Type: graphics picture
> video
>   Caps: brightness contrast deinterlacing dst_colorkey
> screen_location surface
> [dfb] width = 640, height = 480
> [dfb] got fmt = 0x00418c04 bpp = 32
> [dfb] Using this layer for OSD: (FBDev Primary Layer -
> [640x480])
> osdSurface::
>  - videoonly
>  - flipping
>  (!!!)  *** WARNING [letting unprivileged
> IDirectFBDisplayLayer::GetSurface() call pass until
> cooperative level handling is finished] ***
> [idirectfbdisplaylayer.c:159 in
> IDirectFBDisplayLayer_GetSurface()]
> videoSurface::
>  - videoonly
> [dfb] Configuring CooperativeLevel for Overlay
> [dfb] Configuring ColorKeying
> [dfb] Configuring CooperativeLevel for OSD
> [dfb] Using this layer for OSD: FBDev Primary Layer
> [dfb] Using this layer for Video out: Matrox Backend
> Scaler
> [dfb] (re)configuring Videolayer to 720 x 576
> (720x576)
> [dfb] (re)configured 0x08100609
> [softdevice] Video Out seems to be OK
> [softdevice] Initializing Audio Out
> [softdevice] Audio out seems to be OK
> [softdevice] A/V devices initialized, now initializing
> MPEG2 Decoder
> cSoftDevice::MakePrimaryDevice
> [softdevice] allocating picture buffer for resolution
> 720x576
> [softdevice] pp-filter fd:a couldn't be initialized,
> [softdevice] switching postprocessing off !
> [dfb] (re)configuring Videolayer to 720 x 576
> (720x576)
> [dfb] (re)configured 0x08100609
> [softdevice] picture buffer released
> (!) [ 3190:    6.539] --> Caught signal 11 (at 0x40,
> invalid address) <--
> (!) [ 3161:    6.613] --> Caught signal 11 (at 0x3c,
> invalid address) <--
> (!) Direct/Thread: Killing 'Fusion Dispatch' (3166)!
> Segmentation fault
> 
> ----------> And I can continue
> 
> If I make an ulimit -c unlimited to take core files
> and use gdb to solve the problem, but the only thing I
> get from debugging are results like 0xb7f0a31a,
> 0xb7fa2a26, 0xb7a6f097, 0x ffffe410...
> 
> More info could be util related to DirectFB:
> 
> ------------------->fbset -i:
>  
> mode "1280x1024-60"
>     # D: 106.735 MHz, H: 63.837 kHz, V: 59.997 Hz
>     geometry 1280 1024 1280 3276 32
>     timings 9369 224 32 32 4 136 4
>     accel true
>     rgba 8/16,8/8,8/0,8/24
> endmode
>  
> Frame buffer device information:
>     Name        : MATROX
>     Address     : 0xdc000000
>     Size        : 16777216
>     Type        : PACKED PIXELS
>     Visual      : TRUECOLOR
>     XPanStep    : 8
>     YPanStep    : 1
>     YWrapStep   : 0
>     LineLength  : 5120
>     MMIO Address: 0xdfdfc000
>     MMIO Size   : 16384
>     Accelerator : Matrox G400
> 
> ----------------------> dfbinfo
> 
>        ---------------------- DirectFB v0.9.21
> ---------------------
>              (c) 2000-2002  convergence integrated
> media GmbH
>              (c) 2002-2004  convergence GmbH
>        
> -----------------------------------------------------------
>  
> (*) DirectFB/Core: Multi Application Core. (with MMX
> support) (2005-01-26 13:42)(*) Direct/Memcpy: Using
> SSE optimized memcpy()
> (*) Direct/Thread: Running 'Fusion Dispatch'
> (MESSAGING, 32577)...
> (*) Direct/Thread: Running 'VT Switcher' (CRITICAL,
> 32582)...
> (*) Direct/Thread: Running 'Keyboard Input' (INPUT,
> 32589)...
> (*) DirectFB/Input: Keyboard 0.9 (convergence
> integrated media GmbH)
> (*) Direct/Thread: Running 'PS/2 Input' (INPUT,
> 32593)...
> (*) DirectFB/Input: IMPS/2 Mouse 0.9 (convergence
> integrated media GmbH)
> (*) DirectFB/Genefx: MMX detected and enabled
> (*) DirectFB/Graphics: Matrox G550 0.7 (convergence
> integrated media GmbH)
> (*) DirectFB/WM: Default 0.1 (Convergence GmbH)
>  
>  
> Screen (00) FBDev Primary Screen            (primary
> screen)
>    Caps: VSYNC POWER_MANAGEMENT
>  
>      Layer (00) FBDev Primary Layer            
> (primary layer)
>         Type: GRAPHICS
>         Caps: SURFACE BRIGHTNESS CONTRAST SATURATION
>  
>      Layer (01) Matrox Backend Scaler
>         Type: GRAPHICS VIDEO STILL_PICTURE
>         Caps: SURFACE SCREEN_LOCATION DEINTERLACING
> DST_COLORKEY BRIGHTNESS CONTRAST
>  
>  
> Input (00) Keyboard                        (primary
> keyboard)
>    Type: KEYBOARD
>    Caps: KEYS
>  
> Input (01) IMPS/2 Mouse                    (primary
> mouse)
>    Type: MOUSE
>    Caps: AXES BUTTONS

-- 
NH



More information about the vdr mailing list