Page 1 of 1

vlc crashes when transcoding mp4a flv to mp3

Posted: 18 Oct 2011 02:04
by madhusud
I was piping rtmpdump to vlc for transcoding. If the format is flv and codec is mp4a, vlc crashes with a glibc corruption error. This happens if you use vlc directly on the rtmp url as well.
Here is the output
Starting download at: -0.001 kB
INFO: Metadata:
INFO: duration 2620.08
INFO: moovPosition 36.00
INFO: width 80.00
INFO: height 60.00
INFO: videocodecid avc1
INFO: audiocodecid mp4a
INFO: avcprofile 66.00
INFO: avclevel 31.00
INFO: aacaot 2.00
INFO: videoframerate 20.00
INFO: audiosamplerate 44100.00
INFO: audiochannels 1.00
INFO: trackinfo:
INFO: length 2620020.00
INFO: timescale 1000.00
INFO: language eng
INFO: sampledescription:
INFO: sampletype avc1
INFO: length 2620079.00
INFO: timescale 1000.00
INFO: language eng
INFO: sampledescription:
INFO: sampletype mp4a
INFO: length 2619053.00
INFO: timescale 1000.00
INFO: language eng
INFO: sampledescription:
INFO: sampletype amf0
0.688 kB / 0.00 sec (0.0%)[flv @ 0x16df6a0] Estimating duration from bitrate, this may be inaccurate
*** glibc detected *** /usr/bin/vlc: double free or corruption (!prev): 0x00000000016e4600 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x78a8f)[0x7ffac5110a8f]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x73)[0x7ffac51148e3]
/usr/lib/vlc/plugins/stream_out/libstream_out_transcode_plugin.so(+0x5314)[0x7ffabb5eb314]
/usr/lib/vlc/plugins/stream_out/libstream_out_transcode_plugin.so(+0x2cad)[0x7ffabb5e8cad]
/usr/lib/libvlccore.so.4(+0xa9362)[0x7ffac58f7362]
/usr/lib/libvlccore.so.4(+0x42ebc)[0x7ffac5890ebc]
/usr/lib/libvlccore.so.4(+0x438bb)[0x7ffac58918bb]
/usr/lib/libvlccore.so.4(+0x8f914)[0x7ffac58dd914]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x6d8c)[0x7ffac5636d8c]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7ffac517e04d]
======= Memory map: ========
00400000-00403000 r-xp 00000000 fb:00 11809695 /usr/bin/vlc
00602000-00603000 r--p 00002000 fb:00 11809695 /usr/bin/vlc
00603000-00604000 rw-p 00003000 fb:00 11809695 /usr/bin/vlc
00985000-01972000 rw-p 00000000 00:00 0 [heap]
7ffaaa934000-7ffaaa939000 r-xp 00000000 fb:00 13510857 /usr/lib/vlc/plugins/audio_filter/libaudio_format_plugin.so
7ffaaa939000-7ffaaab38000 ---p 00005000 fb:00 13510857 /usr/lib/vlc/plugins/audio_filter/libaudio_format_plugin.so
7ffaaab38000-7ffaaab39000 r--p 00004000 fb:00 13510857 /usr/lib/vlc/plugins/audio_filter/libaudio_format_plugin.so
7ffaaab39000-7ffaaab3a000 rw-p 00005000 fb:00 13510857 /usr/lib/vlc/plugins/audio_filter/libaudio_format_plugin.so
7ffaaab3a000-7ffaaab3d000 r-xp 00000000 fb:00 13510855 /usr/lib/vlc/plugins/audio_filter/libmono_plugin.so
7ffaaab3d000-7ffaaad3c000 ---p 00003000 fb:00 13510855 /usr/lib/vlc/plugins/audio_filter/libmono_plugin.so
7ffaaad3c000-7ffaaad3d000 r--p 00002000 fb:00 13510855 /usr/lib/vlc/plugins/audio_filter/libmono_plugin.so
7ffaaad3d000-7ffaaad3e000 rw-p 00003000 fb:00 13510855 /usr/lib/vlc/plugins/audio_filter/libmono_plugin.so
7ffaaad3e000-7ffaaad3f000 r-xp 00000000 fb:00 13510847 /usr/lib/vlc/plugins/audio_filter/libugly_resampler_plugin.so
7ffaaad3f000-7ffaaaf3e000 ---p 00001000 fb:00 13510847 /usr/lib/vlc/plugins/audio_filter/libugly_resampler_plugin.so
7ffaaaf3e000-7ffaaaf3f000 r--p 00000000 fb:00 13510847 /usr/lib/vlc/plugins/audio_filter/libugly_resampler_plugin.so
7ffaaaf3f000-7ffaaaf40000 rw-p 00001000 fb:00 13510847 /usr/lib/vlc/plugins/audio_filter/libugly_resampler_plugin.so
7ffaaaf40000-7ffaaaf42000 r-xp 00000000 fb:00 13510841 /usr/lib/vlc/plugins/audio_filter/libdolby_surround_decoder_plugin.so
7ffaaaf42000-7ffaab141000 ---p 00002000 fb:00 13510841 /usr/lib/vlc/plugins/audio_filter/libdolby_surround_decoder_plugin.so
7ffaab141000-7ffaab142000 r--p 00001000 fb:00 13510841 /usr/lib/vlc/plugins/audio_filter/libdolby_surround_decoder_plugin.so
7ffaab142000-7ffaab143000 rw-p 00002000 fb:00 13510841 /usr/lib/vlc/plugins/audio_filter/libdolby_surround_decoder_plugin.so
7ffaab143000-7ffaab145000 r-xp 00000000 fb:00 13510849 /usr/lib/vlc/plugins/audio_filter/libdtstospdif_plugin.so
7ffaab145000-7ffaab344000 ---p 00002000 fb:00 13510849 /usr/lib/vlc/plugins/audio_filter/libdtstospdif_plugin.so
7ffaab344000-7ffaab345000 r--p 00001000 fb:00 13510849 /usr/lib/vlc/plugins/audio_filter/libdtstospdif_plugin.so
7ffaab345000-7ffaab346000 rw-p 00002000 fb:00 13510849 /usr/lib/vlc/plugins/audio_filter/libdtstospdif_plugin.so
7ffaab346000-7ffaab347000 r-xp 00000000 fb:00 13510842 /usr/lib/vlc/plugins/audio_filter/liba52tospdif_plugin.so
7ffaab347000-7ffaab546000 ---p 00001000 fb:00 13510842 /usr/lib/vlc/plugins/audio_filter/liba52tospdif_plugin.so
7ffaab546000-7ffaab547000 r--p 00000000 fb:00 13510842 /usr/lib/vlc/plugins/audio_filter/liba52tospdif_plugin.so
7ffaab547000-7ffaab548000 rw-p 00001000 fb:00 13510842 /usr/lib/vlc/plugins/audio_filter/liba52tospdif_plugin.so
7ffaab548000-7ffaab54a000 r-xp 00000000 fb:00 13510851 /usr/lib/vlc/plugins/audio_filter/libsimple_channel_mixer_plugin.so
7ffaab54a000-7ffaab74a000 ---p 00002000 fb:00 13510851 /usr/lib/vlc/plugins/audio_filter/libsimple_channel_mixer_plugin.so
7ffaab74a000-7ffaab74b000 r--p 00002000 fb:00 13510851 /usr/lib/vlc/plugins/audio_filter/libsimple_channel_mixer_plugin.so
7ffaab74b000-7ffaab74c000 rw-p 00003000 fb:00 13510851 /usr/lib/vlc/plugins/audio_filter/libsimple_channel_mixer_plugin.so
7ffaab74c000-7ffaab74e000 r-xp 00000000 fb:00 13510852 /usr/lib/vlc/plugins/audio_filter/libconverter_fixed_plugin.so
Caught signal: 13, cleaning up, just a second...
ERROR: Download: Failed writing, exiting!


Also, output of cvlc -v
VLC media player 1.1.12 The Luggage (revision exported)
Blocked: call to unsetenv("DBUS_ACTIVATION_ADDRESS")
Blocked: call to unsetenv("DBUS_ACTIVATION_BUS_TYPE")
[0x149d160] inhibit interface error: Failed to connect to the D-Bus session daemon: //bin/dbus-launch terminated abnormally with the following error: Autolaunch error: X11 initialization failed.

[0x149d160] main interface error: no suitable interface module
[0x14810e0] main interface error: no suitable interface module
[0x1398120] main libvlc error: interface "globalhotkeys,none" initialization failed
[0x14810e0] dummy interface: using the dummy interface module...

I am using n-muench ppa on Ubuntu Natty.

Re: vlc crashes when transcoding mp4a flv to mp3

Posted: 18 Oct 2011 08:21
by Sébastien Escudier
please provide a stack trace of the crash with gdb

Re: vlc crashes when transcoding mp4a flv to mp3

Posted: 18 Oct 2011 08:39
by Rémi Denis-Courmont
Not really. For heap corruption cases, valgrind is far better than gdb.

In any case, this looks like an audio filtering bug, in which case, it might already be fixed in VLC 1.2.

Re: vlc crashes when transcoding mp4a flv to mp3

Posted: 18 Oct 2011 10:27
by madhusud
You are right, I tried the nightly 1.2 build and this problem does not occur.

I have attached valgrind trace for the 1.12 build in any case.

==10687== Memcheck, a memory error detector
==10687== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==10687== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info
==10687== Command: /usr/bin/cvlc vmciti.flv --play-and-exit --no-sout-video --sout=#transcode{acodec=mp3,abit=24}:std{access=file,mux=raw,dst=./vmwciti.mp3}
==10687== Parent PID: 525
==10687==
--10687--
--10687-- Valgrind options:
--10687-- --suppressions=/usr/lib/valgrind/debian-libc6-dbg.supp
--10687-- -v
--10687-- --log-file=vlc1.12_m4a_to_mp3_heap_crash.log
--10687-- Contents of /proc/version:
--10687-- Linux version 2.6.38-8-server (buildd@allspice) (gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu3) ) #42-Ubuntu SMP Mon Apr 11 03:49:04 UTC 2011
--10687-- Arch and hwcaps: AMD64, amd64-sse3-cx16
--10687-- Page sizes: currently 4096, max supported 4096
--10687-- Valgrind library directory: /usr/lib/valgrind
--10687-- Reading syms from /bin/dash (0x400000)
--10687-- object doesn't have a symbol table
--10687-- Reading syms from /lib/x86_64-linux-gnu/ld-2.13.so (0x4000000)
--10687-- Considering /lib/x86_64-linux-gnu/ld-2.13.so ..
--10687-- .. CRC mismatch (computed ee3c3909 wanted a7cbe0d5)
--10687-- Considering /usr/lib/debug/lib/x86_64-linux-gnu/ld-2.13.so ..
--10687-- .. CRC is valid
--10687-- Reading syms from /usr/lib/valgrind/memcheck-amd64-linux (0x38000000)
--10687-- object doesn't have a dynamic symbol table
--10687-- Reading suppressions file: /usr/lib/valgrind/debian-libc6-dbg.supp
--10687-- Reading suppressions file: /usr/lib/valgrind/default.supp
--10687-- REDIR: 0x4017800 (strlen) redirected to 0x3804049b (vgPlain_amd64_linux_REDIR_FOR_strlen)
--10687-- Reading syms from /usr/lib/valgrind/vgpreload_core-amd64-linux.so (0x4a23000)
--10687-- Reading syms from /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so (0x4c25000)
==10687== WARNING: new redirection conflicts with existing -- ignoring it
--10687-- new: 0x04017800 (strlen ) R-> 0x04c2978b strlen
--10687-- REDIR: 0x4017670 (index) redirected to 0x4c2944f (index)
--10687-- REDIR: 0x40176f0 (strcmp) redirected to 0x4c2a08f (strcmp)
--10687-- Reading syms from /lib/x86_64-linux-gnu/libc-2.13.so (0x4e2f000)
--10687-- Considering /lib/x86_64-linux-gnu/libc-2.13.so ..
--10687-- .. CRC mismatch (computed e3dd9730 wanted b2c43336)
--10687-- Considering /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.13.so ..
--10687-- .. CRC is valid
--10687-- REDIR: 0x4eb4fc0 (strcasecmp) redirected to 0x4a2360a (_vgnU_ifunc_wrapper)
--10687-- REDIR: 0x4eb7280 (strncasecmp) redirected to 0x4a2360a (_vgnU_ifunc_wrapper)
--10687-- REDIR: 0x4eb30a0 (__GI_strrchr) redirected to 0x4c292bd (__GI_strrchr)
--10687-- REDIR: 0x4eafa90 (index) redirected to 0x4a2360a (_vgnU_ifunc_wrapper)
--10687-- REDIR: 0x4f53e30 (__strchr_sse42) redirected to 0x4c29337 (index)
--10687-- REDIR: 0x4eab2b0 (malloc) redirected to 0x4c28f2a (malloc)
--10687-- REDIR: 0x4ebadc0 (strchrnul) redirected to 0x4c2b067 (strchrnul)
--10687-- REDIR: 0x4eb15c0 (__GI_strlen) redirected to 0x4c29757 (__GI_strlen)
--10687-- REDIR: 0x4eb9960 (memcpy) redirected to 0x4c2a156 (memcpy)
--10687-- REDIR: 0x4eb1580 (strlen) redirected to 0x4a2360a (_vgnU_ifunc_wrapper)
--10687-- REDIR: 0x4f5e490 (__strlen_sse42) redirected to 0x4c2973d (strlen)
--10687-- REDIR: 0x4eb4960 (mempcpy) redirected to 0x4c2b14e (mempcpy)
--10687-- REDIR: 0x4eafb40 (strcmp) redirected to 0x4a2360a (_vgnU_ifunc_wrapper)
--10687-- REDIR: 0x4f53ee0 (__strcmp_sse42) redirected to 0x4c29fff (strcmp)
--10687-- REDIR: 0x4eb10e0 (strcspn) redirected to 0x4a2360a (_vgnU_ifunc_wrapper)
--10687-- REDIR: 0x4f5e530 (__strcspn_sse42) redirected to 0x4c2b4ce (strcspn)
--10687-- REDIR: 0x4eb3140 (strpbrk) redirected to 0x4a2360a (_vgnU_ifunc_wrapper)
--10687-- REDIR: 0x4f5e660 (__strpbrk_sse42) redirected to 0x4c2b462 (strpbrk)
--10687-- REDIR: 0x4eb0fd0 (strcpy) redirected to 0x4a2360a (_vgnU_ifunc_wrapper)
--10687-- REDIR: 0x4f5e8a0 (???) redirected to 0x4c297a5 (strcpy)