mixxxdj / mixxx

Mixxx is Free DJ software that gives you everything you need to perform live mixes.
http://mixxx.org
Other
4.51k stars 1.28k forks source link

Mixxx crashes on M4A load #5918

Closed mixxxbot closed 2 years ago

mixxxbot commented 2 years ago

Reported by: dante1 Date: 2011-06-02T00:09:34Z Status: Fix Released Importance: Critical Launchpad Issue: lp791623 Tags: aac, faad, linux, m4a, plugin


I compiled Mixxx from source on my Ubuntu 11.04 box with an Intel Core 2 Duo 2.93 GHz processor Whenever I try to play an m4a file in any way, Mixxx crashes. On the command line, this message appears:

Debug: []: Getting SoundSource plugin object for "m4a" 
mixxx: symbol lookup error: /usr/lib/mixxx/plugins/soundsource/libsoundsourcem4a.so: undefined symbol: MP4Read

It seems that the shared library "libsoundsourcem4a.so" has problems

mixxxbot commented 2 years ago

Commented by: bkgood Date: 2011-06-02T04:11:41Z


Could you paste the output of ldd /usr/lib/mixxx/plugins/soundsource/libsoundsourcem4a.so?

mixxxbot commented 2 years ago

Commented by: dante1 Date: 2011-06-03T20:57:44Z


Here you go:

linux-gate.so.1 =>  (0x0094c000)
libportaudio.so.2 => /usr/lib/libportaudio.so.2 (0x00388000)
libporttime.so.0 => /usr/lib/libporttime.so.0 (0x00eb7000)
libportmidi.so.0 => /usr/lib/libportmidi.so.0 (0x00a24000)
libQtOpenGL.so.4 => /usr/lib/libQtOpenGL.so.4 (0x00110000)
libQtXml.so.4 => /usr/lib/libQtXml.so.4 (0x00ef8000)
libQtSvg.so.4 => /usr/lib/libQtSvg.so.4 (0x0084e000)
libQtSql.so.4 => /usr/lib/libQtSql.so.4 (0x007f2000)
libQtScript.so.4 => /usr/lib/libQtScript.so.4 (0x004f2000)
libQtXmlPatterns.so.4 => /usr/lib/libQtXmlPatterns.so.4 (0x00a2d000)
libQtWebKit.so.4 => /usr/lib/libQtWebKit.so.4 (0x00f39000)
libQtGui.so.4 => /usr/lib/libQtGui.so.4 (0x039e2000)
libQtNetwork.so.4 => /usr/lib/libQtNetwork.so.4 (0x003b1000)
libQtCore.so.4 => /usr/lib/libQtCore.so.4 (0x1de2f000)
libmad.so.0 => /usr/lib/libmad.so.0 (0x008b7000)
libid3tag.so.0 => /usr/lib/libid3tag.so.0 (0x001fd000)
libsndfile.so.1 => /usr/lib/libsndfile.so.1 (0x0020d000)
libFLAC.so.8 => /usr/lib/libFLAC.so.8 (0x002d7000)
libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0x00273000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x0027c000)
libogg.so.0 => /usr/lib/libogg.so.0 (0x00ee9000)
libGL.so.1 => /usr/lib/mesa/libGL.so.1 (0x00323000)
libGLU.so.1 => /usr/lib/libGLU.so.1 (0x008ce000)
libtag.so.1 => /usr/lib/libtag.so.1 (0x0094d000)
libshout.so.3 => /usr/lib/libshout.so.3 (0x002a3000)
libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0x0b200000)
libmp4.so.0 => /usr/lib/libmp4.so.0 (0x00793000)
libfaad.so.2 => /usr/lib/libfaad.so.2 (0x007b0000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0x0bd3c000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0x009e0000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0x0082f000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x13e51000)
libasound.so.2 => /usr/lib/libasound.so.2 (0x103af000)
libjack.so.0 => /usr/lib/libjack.so.0 (0x00a06000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0x00379000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0x00e3f000)
libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0x0816e000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0x002b4000)
libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0x008a2000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0x0e353000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0x00e58000)
libsqlite3.so.0 => /usr/lib/i386-linux-gnu/libsqlite3.so.0 (0x13455000)
libphonon.so.4 => /usr/lib/libphonon.so.4 (0x1aa70000)
libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1 (0x00e6d000)
libaudio.so.2 => /usr/lib/libaudio.so.2 (0x00e9c000)
libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0x037d6000)
libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0x00eba000)
libgobject-2.0.so.0 => /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 (0x2093a000)
libSM.so.6 => /usr/lib/i386-linux-gnu/libSM.so.6 (0x008ac000)
libICE.so.6 => /usr/lib/i386-linux-gnu/libICE.so.6 (0x1caf0000)
libXi.so.6 => /usr/lib/i386-linux-gnu/libXi.so.6 (0x0093b000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0x03464000)
libgthread-2.0.so.0 => /usr/lib/i386-linux-gnu/libgthread-2.0.so.0 (0x00382000)
libXdamage.so.1 => /usr/lib/i386-linux-gnu/libXdamage.so.1 (0x00eb3000)
libXfixes.so.3 => /usr/lib/i386-linux-gnu/libXfixes.so.3 (0x00edf000)
libXxf86vm.so.1 => /usr/lib/i386-linux-gnu/libXxf86vm.so.1 (0x00ef0000)
libdrm.so.2 => /lib/i386-linux-gnu/libdrm.so.2 (0x0a246000)
/lib/ld-linux.so.2 (0x002b9000)
libtheora.so.0 => /usr/lib/libtheora.so.0 (0x077e5000)
libspeex.so.1 => /usr/lib/sse2/libspeex.so.1 (0x1916f000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0x0828c000)
libpulse.so.0 => /usr/lib/libpulse.so.0 (0x02dab000)
libpulse-mainloop-glib.so.0 => /usr/lib/libpulse-mainloop-glib.so.0 (0x0daf8000)
libQtDBus.so.4 => /usr/lib/libQtDBus.so.4 (0x0229f000)
libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0x05ee9000)
libXt.so.6 => /usr/lib/i386-linux-gnu/libXt.so.6 (0x0a18d000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0x00ee5000)
libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0x07ed1000)
libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0x113ad000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0x0e930000)
libX11-xcb.so.1 => /usr/lib/i386-linux-gnu/libX11-xcb.so.1 (0x007ef000)
libXtst.so.6 => /usr/lib/libXtst.so.6 (0x10154000)
libxcb-atom.so.1 => /usr/lib/libxcb-atom.so.1 (0x04e9b000)
libpulsecommon-0.9.22.so => /usr/lib/libpulsecommon-0.9.22.so (0x0c2df000)
libdbus-1.so.3 => /lib/i386-linux-gnu/libdbus-1.so.3 (0x14cb5000)
libwrap.so.0 => /lib/libwrap.so.0 (0x0efab000)
libnsl.so.1 => /lib/i386-linux-gnu/libnsl.so.1 (0x1500c000)
mixxxbot commented 2 years ago

Commented by: dante1 Date: 2011-06-03T21:01:38Z


By the way, I'm using Mixxx 1.9.0

mixxxbot commented 2 years ago

Commented by: Pegasus-RPG Date: 2011-07-14T05:32:26Z


Sorry for the delay. Dante, do you have libmp4 or libmp4v2 installed?  (do   dpkg -l | grep 'mp4'   from a command line)
mixxxbot commented 2 years ago

Commented by: jared-robert Date: 2011-07-14T05:58:36Z


Having same issue. Ubuntu 11.04 64bit compiles with trunk last night. using libmp4v2-0 and libmp4v2-dev. Here is ldd.

    linux-vdso.so.1 =>  (0x00007fff551ff000)
libportaudio.so.2 => /usr/lib/libportaudio.so.2 (0x00007f96c80a7000)
libporttime.so.0 => /usr/lib/libporttime.so.0 (0x00007f96c7ea5000)
libportmidi.so.0 => /usr/lib/libportmidi.so.0 (0x00007f96c7c9b000)
libQtOpenGL.so.4 => /usr/lib/libQtOpenGL.so.4 (0x00007f96c79ad000)
libQtXml.so.4 => /usr/lib/libQtXml.so.4 (0x00007f96c7769000)
libQtSvg.so.4 => /usr/lib/libQtSvg.so.4 (0x00007f96c7510000)
libQtSql.so.4 => /usr/lib/libQtSql.so.4 (0x00007f96c72d2000)
libQtScript.so.4 => /usr/lib/libQtScript.so.4 (0x00007f96c6e19000)
libQtXmlPatterns.so.4 => /usr/lib/libQtXmlPatterns.so.4 (0x00007f96c67ab000)
libQtWebKit.so.4 => /usr/lib/libQtWebKit.so.4 (0x00007f96c5049000)
libQtGui.so.4 => /usr/lib/libQtGui.so.4 (0x00007f96c43a8000)
libQtNetwork.so.4 => /usr/lib/libQtNetwork.so.4 (0x00007f96c4077000)
libQtCore.so.4 => /usr/lib/libQtCore.so.4 (0x00007f96c3be7000)
libsndfile.so.1 => /usr/lib/libsndfile.so.1 (0x00007f96c397f000)
libFLAC.so.8 => /usr/lib/libFLAC.so.8 (0x00007f96c3734000)
libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0x00007f96c352c000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x00007f96c3300000)
libogg.so.0 => /usr/lib/libogg.so.0 (0x00007f96c30f8000)
libGL.so.1 => /usr/lib/mesa/libGL.so.1 (0x00007f96c2e7b000)
libGLU.so.1 => /usr/lib/libGLU.so.1 (0x00007f96c2c0c000)
libtag.so.1 => /usr/lib/libtag.so.1 (0x00007f96c297b000)
libmad.so.0 => /usr/lib/libmad.so.0 (0x00007f96c275c000)
libid3tag.so.0 => /usr/lib/libid3tag.so.0 (0x00007f96c2546000)
libshout.so.3 => /usr/lib/libshout.so.3 (0x00007f96c2334000)
libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0x00007f96c1e65000)
libmp4.so.0 => /usr/lib/libmp4.so.0 (0x00007f96c1c46000)
libfaad.so.2 => /usr/lib/libfaad.so.2 (0x00007f96c1a03000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f96c16fd000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f96c1478000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f96c1261000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f96c0ecd000)
libasound.so.2 => /usr/lib/libasound.so.2 (0x00007f96c0be2000)
libjack.so.0 => /usr/lib/libjack.so.0 (0x00007f96c09c4000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f96c07bc000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f96c059e000)
libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f96c0304000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f96c0100000)
libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f96bfef5000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f96bfbba000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f96bf9a2000)
libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f96bf708000)
libphonon.so.4 => /usr/lib/libphonon.so.4 (0x00007f96bf497000)
libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f96bf261000)
libaudio.so.2 => /usr/lib/libaudio.so.2 (0x00007f96bf047000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f96bed58000)
libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007f96beb31000)
libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f96be8df000)
libSM.so.6 => /usr/lib/x86_64-linux-gnu/libSM.so.6 (0x00007f96be6d7000)
libICE.so.6 => /usr/lib/x86_64-linux-gnu/libICE.so.6 (0x00007f96be4bc000)
libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6 (0x00007f96be2ab000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f96be099000)
libgthread-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007f96bde93000)
libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f96bdc90000)
libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f96bda89000)
libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007f96bd883000)
libdrm.so.2 => /lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f96bd678000)
/lib64/ld-linux-x86-64.so.2 (0x00007f96c8510000)
libtheora.so.0 => /usr/lib/libtheora.so.0 (0x00007f96bd429000)
libspeex.so.1 => /usr/lib/libspeex.so.1 (0x00007f96bd20f000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f96bcff2000)
libpulse.so.0 => /usr/lib/libpulse.so.0 (0x00007f96bcdb1000)
libpulse-mainloop-glib.so.0 => /usr/lib/libpulse-mainloop-glib.so.0 (0x00007f96bcbac000)
libQtDBus.so.4 => /usr/lib/libQtDBus.so.4 (0x00007f96bc934000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f96bc70a000)
libXt.so.6 => /usr/lib/x86_64-linux-gnu/libXt.so.6 (0x00007f96bc4a4000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f96bc2a0000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f96bc064000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f96bbe5f000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f96bbc58000)
libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007f96bba56000)
libXtst.so.6 => /usr/lib/libXtst.so.6 (0x00007f96bb84f000)
libxcb-atom.so.1 => /usr/lib/libxcb-atom.so.1 (0x00007f96bb64a000)
libpulsecommon-0.9.22.so => /usr/lib/libpulsecommon-0.9.22.so (0x00007f96bb3fe000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f96bb1b9000)
libwrap.so.0 => /lib/libwrap.so.0 (0x00007f96bafae000)
libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007f96bad93000)
mixxxbot commented 2 years ago

Commented by: Pegasus-RPG Date: 2011-07-14T09:56:13Z


After extensive troubleshooting with Jared, something's fishy here. We confirmed that the stock Ubuntu libmp4v2-dev (which is really mpeg4ip) package doesn't have MP4Read in its header files, and obviously not in the .sos. And the real libmp4v2 headers and .sos are not installed. So how is the plugin even building without error if MP4Read isn't there?!

One workaround is to install the real libmp4v2 from the debian-multimedia repo:

Let us know here how it works out for you.

mixxxbot commented 2 years ago

Commented by: jared-robert Date: 2011-07-14T19:26:05Z


Ok, adding the debian-multimedia work-around doesn't work. If you only add libmp4v2-1, you still have the same problem. If you install both the libmp4v2-1 and the -dev, it doesn't compile. I did notice at the beginning when you start the compile, that there is a response of "no" when: "Checking for C header file mp4v2/mp4v2.h... (cached) no". I seem to remember there was a bug report from last year that was fixed, but had to do with SConstruct not looking for a header file in the right place.

https://bugs.launchpad.net/mixxx/+bug/610746

I wonder if these are related and we are dealing with a regression.

mixxxbot commented 2 years ago

Commented by: Pegasus-RPG Date: 2011-07-14T19:49:34Z


To take care of the (cached) issue, delete the .sconf_temp and sconsign.dblite files/directories, then rebuild with the regular flags. That's why it's not building.

mixxxbot commented 2 years ago

Commented by: jared-robert Date: 2011-07-15T04:17:43Z


Ok, after deleting those files/directories, the work around works. Specifically, you can (and should) leave the libmp4v2-0 in place. Install the libmp4v2-1 and libmp4v2-dev, then recompile (make sure to delete those hidden files/folders from the build directory). After you compile and install, REMOVE THE DEBIAN REPOSITORY. If you don't, your computer will try to remove a bunch of programs and update a bunch of others .... not a fun time for anyone (no I didn't make that mistake, but I almost did).

mixxxbot commented 2 years ago

Commented by: rryan Date: 2011-11-27T06:44:50Z


This isn't release blocking since it only affects people who build mixxx themselves.

mixxxbot commented 2 years ago

Commented by: uklotzde Date: 2015-05-14T16:33:55Z


Issue has been reported for Ubuntu 11.04 which is no longer supported. I think we should close this bug now.

mixxxbot commented 2 years ago

Commented by: uklotzde Date: 2015-11-07T20:02:59Z


Won't fix for 1.12

I consider this issue fixed for master = current development branch. The revised SoundSourceM4A plugin has proven to be rock stable now, even when decoding malformed/corrupt files. I've collected and tested many corrupt files, but not a single one is able to crash Mixxx. Playback just continues with silence like for other corrupt files.

mixxxbot commented 2 years ago

Issue closed with status Fix Released.