[vdr] xineliboutput crashes when closing the xineliboutput/videomenu

Nicolas Huillard nicolas at huillard.net
Mon Nov 24 11:30:34 CET 2008


(since SF.net didn't bother to confirm my subscription, no admin 
approved my post either, and there doesn't seems to much people there, I 
post back to this more active VDR ML)

>> This is the most annoying bug : after some time tweaking the video 
>> output (which works), the video submenu just crashes VDR upon closing 
>> (with "back", "menu" or "ok" keys).
>> No matter that I change setting or not : closing will crash.
>>
>> The current video setup is :
>> xineliboutput.Video.AspectRatio = 0
>> xineliboutput.Video.AutoCrop = 0
>> xineliboutput.Video.AutoCrop.AutoDetect = 1
>> xineliboutput.Video.AutoCrop.DetectSubs = 1
>> xineliboutput.Video.AutoCrop.FixedSize = 1
>> xineliboutput.Video.AutoCrop.SoftStart = 1
>> xineliboutput.Video.Brightness = -1
>> xineliboutput.Video.Contrast = -1
>> xineliboutput.Video.Deinterlace = bob
>> xineliboutput.Video.DeinterlaceOptions = 
>> method=Linear,cheap_mode=1,pulldown=none,framerate_mode=full,judder_correction=1,use_progressive_frame_flag=1,chroma_filter=0,enabled=1
>> xineliboutput.Video.Driver = xxmc
>> xineliboutput.Video.FieldOrder = 0
>> xineliboutput.Video.HUE = -1
>> xineliboutput.Video.IBPTrickSpeed = 0
>> xineliboutput.Video.MaxTrickSpeed = 12
>> xineliboutput.Video.Overscan = 0
>> xineliboutput.Video.Port = :0.0
>> xineliboutput.Video.Saturation = -1
>> xineliboutput.Video.Scale = 0
>> xineliboutput.Video.SwScale = 0
>> xineliboutput.Video.SwScale.Aspect = 0
>> xineliboutput.Video.SwScale.Downscale = 0
>> xineliboutput.Video.SwScale.Height = 576
>> xineliboutput.Video.SwScale.Resize = 0
>> xineliboutput.Video.SwScale.Width = 720
>> xineliboutput.VideoModeSwitching = 1
>>
>> I guess there is some kind of "impossibility" here, but I didn't tweak 
>> these setting manually.
>>
>> (I didn't find an english-speaking xineliboutput-specific mailing list 
>> anywhere, so I guess the good spot is here)
> 
> you can send gdb ouput of crash to this list 
> http://sourceforge.net/mailarchive/forum.php?forum_name=xineliboutput-devel
> xineliboutput-devel 

It appears the problem only occurs with --video=xxmc, not --video=xv (I
didn't test other outputs, but trace seems to be clear, even without
debug symbols):

....
libmpeg2: output port has XxMC capability
video_out_xxmc: New format. Need to change XvMC Context.
width: 704 height: 576 mpeg: 2 acceleration: 7
video_out_xxmc: Surface type 0. Capabilities 0x       2 0x       4
video_out_xxmc:   Requests: 0x       2 0x       4
video_out_xxmc: Creating new XvMC Context 842094169
video_out_xxmc: Using Backend subpictures.
video_out_xxmc: Using hardware decoding for this stream.
audio_decoder: error, unknown buffer type: 010a0000
prebuffer=14400 pts
[New Thread -1340986448 (LWP 2628)]
[New Thread -1349379152 (LWP 2629)]
prebuffer=14400 pts
[New Thread -1358824528 (LWP 2630)]
[New Thread -1367217232 (LWP 2631)]
[New Thread -1380078672 (LWP 2632)]
[New Thread -1388471376 (LWP 2633)]
[New Thread -1396864080 (LWP 2634)]
prebuffer=14400 pts
(no debugging symbols found)
video_out_xxmc: New format. Need to change XvMC Context.
width: 720 height: 576 mpeg: 2 acceleration: 7
video_out_xxmc: Freeing up XvMC Surfaces and subpictures.
video_out_xxmc: Freeing up XvMC Context.
video_out_xxmc: Surface type 0. Capabilities 0x       2 0x       4
video_out_xxmc:   Requests: 0x       2 0x       4
video_out_xxmc: Creating new XvMC Context 842094169
video_out_xxmc: Using Backend subpictures.
video_out_xxmc: Using hardware decoding for this stream.
....
video_out_xxmc: VO_PROP_ZOOM_X = 100
X Error of failed request:  BadRequest (invalid request code or no such
operation)
   Major opcode of failed request:  141 (XVideo)
   Minor opcode of failed request:  18 ()
   Serial number of failed request:  226
   Current serial number in output stream:  228
[Thread -1380078672 (LWP 2632) exited]
[Thread -1349379152 (LWP 2629) exited]
[Thread -1358824528 (LWP 2630) exited]
thread_db_get_info: cannot get thread info: generic error

(gdb) bt
#0  0xb7f85891 in __nptl_death_event () from
/lib/tls/i686/cmov/libpthread.so.0
Cannot access memory at address 0xaf92146c



libmpeg2: output port has XxMC capability
video_out_xxmc: New format. Need to change XvMC Context.
width: 704 height: 576 mpeg: 2 acceleration: 7
video_out_xxmc: Surface type 0. Capabilities 0x       2 0x       4
video_out_xxmc:   Requests: 0x       2 0x       4
video_out_xxmc: Creating new XvMC Context 842094169
video_out_xxmc: Using Backend subpictures.
video_out_xxmc: Using hardware decoding for this stream.
audio_decoder: error, unknown buffer type: 010a0000
prebuffer=14400 pts
[New Thread -1341453392 (LWP 2652)]
[New Thread -1349846096 (LWP 2653)]
prebuffer=14400 pts
[New Thread -1359291472 (LWP 2654)]
[New Thread -1367684176 (LWP 2655)]
[New Thread -1380545616 (LWP 2656)]
[New Thread -1388938320 (LWP 2657)]
[New Thread -1397331024 (LWP 2658)]
prebuffer=14400 pts
video_out_xxmc: New format. Need to change XvMC Context.
width: 720 height: 576 mpeg: 2 acceleration: 7
video_out_xxmc: Freeing up XvMC Surfaces and subpictures.
video_out_xxmc: Freeing up XvMC Context.
video_out_xxmc: Surface type 0. Capabilities 0x       2 0x       4
video_out_xxmc:   Requests: 0x       2 0x       4
video_out_xxmc: Creating new XvMC Context 842094169
video_out_xxmc: Using Backend subpictures.
video_out_xxmc: Using hardware decoding for this stream.
...
video_out_xxmc: VO_PROP_ZOOM_X = 100
X Error of failed request:  BadRequest (invalid request code or no such
operation)
   Major opcode of failed request:  141 (XVideo)
   Minor opcode of failed request:  18 ()
   Serial number of failed request:  226
   Current serial number in output stream:  228
[Thread -1349846096 (LWP 2653) exited]
thread_db_get_info: cannot get thread info: generic error

(gdb) bt
#0  0xb7f13891 in __nptl_death_event () from
/lib/tls/i686/cmov/libpthread.so.0
Cannot access memory at address 0xaf8af46c


I'm not sure at all that the backtrace relates to the crashed (or
exited) thread. I don't know enough about gdb...
One sure thing is the "X Error of failed request:  BadRequest" is always
the same (same OSD actions before the crash, ie. same "serial number").
The thread number "(LWP 2653)" seems to be related to "video_out_xxmc"

vdr 1.6.0
xineliboutput 1.0.3
xine 1.1.2
all Debian etch + e-tobi repository

Live TV comes from streamdev-client, but the problem also occurs when
playing a recording.

-- 
NH




More information about the vdr mailing list