Opened 15 years ago
Last modified 14 years ago
#1615 new defect
MPlayer interrupted by signal 11 in module: demux_open
Reported by: | Owned by: | reimar | |
---|---|---|---|
Priority: | normal | Component: | demuxer |
Version: | HEAD | Severity: | normal |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Reproduced by developer: | no | Analyzed by developer: | no |
Description
When trying to play an RTSP stream from my ISP, Mplayer segfaults:
$ gdb ./mplayer
warning: Can not parse XML syscalls information; XML support was disabled at compile time.
GNU gdb (Gentoo 7.0 p1) 7.0
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /tmp/mplayer/mplayer...done.
(gdb) set args "rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=202&flavour=sd"
(gdb) run
Starting program: /tmp/mplayer/mplayer "rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=202&flavour=sd"
[Thread debugging using libthread_db enabled]
MPlayer SVN-r30092-4.4.2 (C) 2000-2009 MPlayer Team
Playing rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=202&flavour=sd.
Resolving mafreebox.freebox.fr for AF_INET...
Connecting to server mafreebox.freebox.fr[212.27.38.253]: 554...
librtsp: server responds: 'RTSP/1.0 403 Forbidden'
Timeout! No data from host 192.168.0.60
rtsp_session: unsupported RTSP server. Server type is 'fbxrtspd/1.2 Freebox RTSP server'.
STREAM_LIVE555, URL: rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=202&flavour=sd
Stream not seekable!
file format detected.
Initiated "video/MP2T" RTP subsession on port 55692
Program received signal SIGSEGV, Segmentation fault.
new_demuxers_demuxer (vd=0x0, ad=0x0, sd=0x0) at libmpdemux/demux_demuxers.c:51
51 ret->stream = vd->stream;
(gdb) bt
#0 new_demuxers_demuxer (vd=0x0, ad=0x0, sd=0x0) at libmpdemux/demux_demuxers.c:51
#1 0x00000000005dc050 in demux_open_rtp ()
#2 0x000000000050ae4e in demux_open_stream (stream=<value optimized out>, file_format=21, force=<value optimized out>, audio_id=<value optimized out>, video_id=<value optimized out>,
dvdsub_id=<value optimized out>, filename=0x12d6400 "rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=202&flavour=sd") at libmpdemux/demuxer.c:794
#3 0x000000000050b474 in demux_open (vs=<value optimized out>, file_format=<value optimized out>, audio_id=19927728, video_id=<value optimized out>, dvdsub_id=2097152,
filename=0x12d6400 "rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=202&flavour=sd") at libmpdemux/demuxer.c:1002
#4 0x000000000047b091 in main (argc=19879302, argv=<value optimized out>) at mplayer.c:3280
I stepped a bit in the code with GDB, the problem comes from libmpdemux/demux_rtp.cpp:285 where the return value from demux_open() isn't checked against NULL.