Opened 12 years ago

Closed 12 years ago

#2037 closed defect (fixed)

Possibly wrong option type for -pphelp, gives segmentation fault

Reported by: atle@… Owned by: reimar
Priority: normal Component: core
Version: HEAD Severity: normal
Keywords: Cc: cehoyos
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

Segmentation fault when running
$ mplayer -pphelp

Bug exist in current SVN and Debian testing (SVN-r33713-4.6).

GDB:

Starting program: /usr/bin/mplayer -pphelp
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
0x00007fffeec3c038 in vfprintf () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0 0x00007fffeec3c038 in vfprintf () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007fffeec5ff82 in vsnprintf () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00000000004b0d62 in mp_msg_va ()
#3 0x00000000004b1202 in mp_msg ()
#4 0x00000000004ada72 in ?? ()
#5 0x00000000004ab044 in ?? ()
#6 0x0000000000447d0a in m_config_parse_mp_command_line ()
#7 0x0000000000437410 in main ()
(gdb)

This patch seems to fix the issue:

Index: cfg-common.h
===================================================================
--- cfg-common.h (revision 34600)
+++ cfg-common.h (working copy)
@@ -527,7 +527,7 @@

postprocessing:

#ifdef CONFIG_FFMPEG

{"pp", &divx_quality, CONF_TYPE_INT, 0, 0, 0, NULL},

  • {"pphelp", &pp_help, CONF_TYPE_PRINT_INDIRECT, CONF_NOCFG, 0, 0, NULL},

+ {"pphelp", &pp_help, CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},

#endif


scaling:

Atle.

Change History (2)

comment:1 by cehoyos, 12 years ago

Cc: cehoyos@… added

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff0312186 in vfprintf () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff0312186 in vfprintf () from /lib64/libc.so.6
#1 0x00007ffff0338852 in vsnprintf () from /lib64/libc.so.6
#2 0x00000000004ca9f5 in mp_msg_va (mod=11, lev=4, format=<value optimized out>,

va=<value optimized out>) at mp_msg.c:195

#3 0x00000000004cae71 in mp_msg (mod=<value optimized out>, lev=<value optimized out>,

format=<value optimized out>) at mp_msg.c:182

#4 0x00000000004c636a in parse_print (opt=0xb0ccc0, name=<value optimized out>,

param=<value optimized out>, dst=<value optimized out>, src=<value optimized out>) at m_option.c:909

#5 0x00000000004c4ba4 in m_option_parse (src=<value optimized out>, dst=<value optimized out>, param=

0x0, name=0x7fffffffe27a "pphelp", opt=<value optimized out>) at m_option.h:495

#6 m_config_parse_option (src=<value optimized out>, dst=<value optimized out>, param=0x0, name=

0x7fffffffe27a "pphelp", opt=<value optimized out>) at m_config.c:471

#7 0x0000000000471fb9 in m_config_parse_mp_command_line (config=0x16378c0, argc=2, argv=0x7fffffffde18)

at parser-mpcmd.c:203

#8 0x000000000046d58c in main (argc=2, argv=0x7fffffffde18) at mplayer.c:2767

comment:2 by reimar, 12 years ago

Resolution: fixed
Status: newclosed

Yes, this happens due to a libpostprocess API change, v52 would cause this.

Note: See TracTickets for help on using tickets.