[Mplayer-advusers] Fw: [MPlayer-users] argument parsing bug

Attila Kinali kinali at gmx.net
Fri May 10 14:59:42 CEST 2002


Hi,

See below for a full bugreport.


		Attila

Begin forwarded message:

Date: Thu, 9 May 2002 03:16:26 +0200
From: bennyben at fleming.u-psud.fr (benoit bourdin)
To: mplayer-users at mplayerhq.hu
Subject: [MPlayer-users] argument parsing bug


[Automatic answer: RTFM (read DOCS, FAQ), also read DOCS/bugreports.html]
Hello guys,

bug reported: 
argument parsing seg faults in the case of :

bennyben at masterbenny:~/softs/MPlayer-20020508$ ./mplayer -sdl:aalib


MPlayer CVS-020508-06:00-2.95.4 (C) 2000-2002 Arpad Gereoffy (see DOCS!)

CPU vendor name: GenuineIntel  max cpuid level: 2
CPU: Intel Celeron Covington/Pentium II Deschutes,Tonga/Pentium II Xeon (Type: 6, Stepping: 2)
CPUflags: Type: 6 MMX: 1 MMX2: 0 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0
Compiled for x86 CPU with features: MMX
Segmentation fault (core dumped)

(but works well using the correct syntax: -vo aa, and -vo sdl)

If I recompile mplayer with --enable-debug=3 option to configure :

Core was generated by `mplayer -vm -sdl:aalib'.
Program terminated with signal 11, Segmentation fault.
#0  0x0806a8ea in play_tree_prepend_entry (pt=0x0, entry=0x0) at playtree.c:103
103       for(iter = pt ; iter->prev != NULL; iter = iter->prev)


It should be a piece of cake now :)
Good luck, you've done a good job.

Bye

----------------------------------

(gdb) run -sdl:aalib
Starting program: /home/attila/src/mplayer/main/mplayer -sdl:aalib
[New Thread 1024 (LWP 16428)]


MPlayer CVS-020415-15:32-2.95.4 (C) 2000-2002 Arpad Gereoffy (see DOCS!)

CPU vendor name: GenuineIntel  max cpuid level: 2
CPU: Intel Celeron Covington/Pentium II Deschutes,Tonga/Pentium II Xeon (Type: 6, Stepping: 2)
CPUflags: Type: 6 MMX: 1 MMX2: 0 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0
Compiled for x86 CPU with features: MMX

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 16428)]
0x08057298 in config_read_option (config=0x825bce0, conf_list=0xbfffe544, 
    opt=0x825bd38 "aalib", param=0x0) at cfgparser.c:446
446                             namelength=strlen(conf[i].name);
(gdb) bt
#0  0x08057298 in config_read_option (config=0x825bce0, conf_list=0xbfffe544, 
    opt=0x825bd38 "aalib", param=0x0) at cfgparser.c:446
#1  0x080582b3 in m_config_set_option (config=0x825bce0, 
    opt=0xbffff995 "sdl:aalib", param=0x0) at cfgparser.c:789
#2  0x08058b77 in m_config_parse_command_line (config=0x825bce0, argc=2, 
    argv=0xbffff844, envp=0xbffff850) at cfgparser.c:1078
#3  0x0804fb82 in main (argc=2, argv=0xbffff844, envp=0xbffff850)
    at mplayer.c:578
(gdb) l
441             for(nconf = 0 ;  conf_list[nconf] != NULL; nconf++) {
442               conf = conf_list[nconf];
443                     for (i = 0; conf[i].name != NULL; i++) {
444                             int namelength;
445                             /* allow 'aa*' in config.name */
446                             namelength=strlen(conf[i].name);
447                             if ( (conf[i].name[namelength-1]=='*') && 
448                                         !memcmp(opt, conf[i].name, namelength-1))
449                               goto option_found;
450                             if (!strcasecmp(opt, conf[i].name))
(gdb) p conf
$1 = (config_t *) 0x81698e0
(gdb) p conf[i]
$2 = {name = 0x20657355 <Address 0x20657355 out of bounds>, p = 0x206f762d, 
  type = 980182131, flags = 1986622052, min = 1.21230215e+25, 
  max = 7.21491702e+22, default_func = 0x6f206461}





-- 
Israel, where the first genocide of this century takes place.



More information about the MPlayer-advusers mailing list