hi,
I tried to upgrade to xine-lib 1.2 from mercurial.
Now I have a weird problem (that does not go away even if I downgrade back to 1.1-xine-lib)
- When I start xine from the startup scripts, it segfaults:
This is the command:
XINEPRG="/usr/local/bin/xine" XINECMD="$XINEPRG -L -A alsa -a spdif --no-splash -g -f -V xv --stdctl vdr://tmp/vdr-xine/stream#demux:mpeg_pes --post vdr_video --post vdr_audio --verbose=2"
su vdr <<EOF cp /home/vdr/.xine/config-backup /home/vdr/.xine/config (sleep 1; while (test ! -f /home/vdr/xup) ; do sleep 1; done; while (test ! -p $VDRSTREAM) ; do sleep 1; done; sleep 5; DISPLAY=:0.0 $XINECMD ) &
(xup is created when X server is up and running, $VDRSTREAM is the socket, so it should be there, sleep 5 is just in case.
This is an excerpt:
xine_stream_new video_out: thread created audio_out: thread created xine_interface: unknown or deprecated stream param 10 set xine_stream_new xine_interface: unknown or deprecated stream param 10 set xine_stream_new xine_interface: unknown or deprecated stream param 10 set video_out_xv: VO_PROP_ASPECT_RATIO(0) init class succeeded bash: line 6: 3350 Muistialueen ylitys (core dumped) DISPLAY=:0.0 /usr/local/bin/xine -L -A alsa -a spdif --no-splash -g -f -V xv --stdctl vdr://tmp/vdr-xine/stream#demux:mpeg_pes --post vdr_video -- post vdr_audio --verbose=2 frame: (0, 0)-(-1, -1), zoom: (1,00, 1,00)
(Muistialueen ylitys = segmentation fault)
gdb backtrace:
Core was generated by `/usr/local/bin/xine -L -A alsa -a spdif --no-splash -g -f -V xv --stdctl vdr://'. Program terminated with signal 11, Segmentation fault. #0 0x080f888c in destroy_oxine (oxine=0x0) at oxine.c:710 710 if (oxine->otk) otk_free(oxine->otk); (gdb) bt #0 0x080f888c in destroy_oxine (oxine=0x0) at oxine.c:710 #1 0x080f8906 in oxine_exit () at oxine.c:731 #2 0x08050a1c in gui_exit (w=0x0, data=0x0) at actions.c:607 #3 0x080592d8 in gui_execute_action_id (action=ACTID_QUIT) at event.c:564 #4 0x0809a6e8 in xine_stdctl_loop (dummy=0x0) at stdctl.c:152 #5 0xb7c2a240 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #6 0xb7d0249e in clone () from /lib/tls/i686/cmov/libc.so.6 (gdb)
BUT:
If I start the same command on the command line, the result is:
video_out: thread created audio_out: thread created xine_interface: unknown or deprecated stream param 10 set xine_stream_new xine_interface: unknown or deprecated stream param 10 set xine_stream_new xine_interface: unknown or deprecated stream param 10 set video_out_xv: VO_PROP_ASPECT_RATIO(0) init class succeeded gui_xine_open_and_play(): mrl: 'vdr://tmp/vdr-xine/stream#demux:mpeg_pes', sub 'NONE', start_pos 0, start_time 0, av_offset 0, spu_offset 0. xine: found input plugin : VDR display device plugin xine: found demuxer plugin: mpeg pes demux plugin video discontinuity #1, type is 0, disc_off 0 waiting for audio discontinuity #1 audio discontinuity #1, type is 0, disc_off 0 waiting for in_discontinuity update #1 vpts adjusted with prebuffer to 22483 av_offset=0 pts spu_offset=0 pts xine_play
and so on - Flawless!
I have already checked PATH - not a problem. su -l in the script does not help either. It is not about some setup script not finished yet, either, as if I kill vdr, so that the loop will try to restart xine, the same effect happens.
Any ideas?
yours, Jouni
hi,
I found the problem actually right after sending the email (but it is still a bug in xine):
XINECMD="$XINEPRG -L -A alsa -a spdif --no-splash -g -f -V xv --stdctl vdr://tmp/vdr-xine/stream#demux:mpeg_pes --post vdr_video --post vdr_audio --verbose=2"
The --stdctl option causes xine to crash if it is used when starting from the script...
gdb backtrace:
Core was generated by `/usr/local/bin/xine -L -A alsa -a spdif --no-splash -g -f -V xv --stdctl vdr://'. Program terminated with signal 11, Segmentation fault. #0 0x080f888c in destroy_oxine (oxine=0x0) at oxine.c:710 710 if (oxine->otk) otk_free(oxine->otk); (gdb) bt #0 0x080f888c in destroy_oxine (oxine=0x0) at oxine.c:710 #1 0x080f8906 in oxine_exit () at oxine.c:731 #2 0x08050a1c in gui_exit (w=0x0, data=0x0) at actions.c:607 #3 0x080592d8 in gui_execute_action_id (action=ACTID_QUIT) at event.c:564 #4 0x0809a6e8 in xine_stdctl_loop (dummy=0x0) at stdctl.c:152 #5 0xb7c2a240 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #6 0xb7d0249e in clone () from /lib/tls/i686/cmov/libc.so.6 (gdb)
yours, Jouni
On Feb 7, 2008 4:27 PM, Jouni Karvo Jouni.Karvo@iki.fi wrote:
The --stdctl option causes xine to crash if it is used when starting from the script...
I found the same problem without the --stdctl flag (is it default?) and reported it to xine-devel. The Hg version of xine-lib cannot start from /etc/inittab or rc.local type scripts without segfaulting.
Someone advised me of a workaround, you can use the startup script with a sudo xine, or a su - xine and it will not segfault. I guess using su or sudo setup some different environment variables (or something) that xine is happy with.
Morfsta kirjoitti:
On Feb 7, 2008 4:27 PM, Jouni Karvo Jouni.Karvo@iki.fi wrote:
The --stdctl option causes xine to crash if it is used when starting from the script...
Someone advised me of a workaround, you can use the startup script with a sudo xine, or a su - xine and it will not segfault. I guess using su or sudo setup some different environment variables (or something) that xine is happy with.
Ah. But I used su already, and -l (or -) did not help, so this --stdctl bug is a different bug.
Well, anyway. There seems to be something else wrong, too, as some streams (namely the IPTV-ones) have audio when xine is started as a user, but not when started from a script.
yours, Jouni