-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Taglib crash with a flac file #7811
Comments
Commented by: stragu |
Commented by: stragu I tried to scan the same music folder (a copy of it on an external hard drive) with a fresh install of 1.11.0 on a different computer (a Samsung N310 with Ubuntu Studio 14.04.1) and I get a crash with the following error message: The scan stalled on a different track though, but I am not sure how relevant this is. |
Commented by: stragu I just gave it another go and it crashed on the same track, which is a similar behaviour. If I put the track it crashes on in a folder, on its own, and use this folder as Mixxx's library, then rescan, it does indeed crash again. Could there be something wrong with my files? Or is it likely to be something that Mixxx does not lilke in those files? I tried renaming the file, or removing all tags, to no avail. It still crashes on that particular file. |
Commented by: stragu Interestingly, still with the testing on my Samsung N310, I removed the album that was making it crash, and now it scanned the whole library without a problem! I am planning to do a clean OS install on the first computer (the one that I actually use for DJing, the Asus x201ep, currently with Mixxx 1.12.0-alpha (build master r5167)) and a clean stable Mixxx install and see how it goes. I will keep you posted of any development. For the time being, here is one track from the album that made Mixxx crash on both computer. |
Commented by: daschuer Can confirm it on Ubuntu Precise. An other reason for a quarantine process for reading tags .. |
Commented by: daschuer As well on Ubuntu Trusty |
Commented by: stragu OK, I have some more info. On the first computer (Asus x201ep, Ubuntu 14.04, Mixxx 1.12.0-alpha (build master r5167)) I deleted the mixxxdb.sqlite to do a clean scan of the copy of my library on my external hard drive (the same folder that I used as a library on the Samsung N310) and it worked fine without that particular album (of which I attached that track above). I did not encounter any of the issues I listed in the bug description (a large number of problematic files).
|
Commented by: stragu I am now on a clean install of KXstudio 14.04 64bits, with the Mixxx PPA to have 1.11.0. I just did a first scan of my library and I have the same issue, with another FLAC file, interestingly from the same album as the audio file I attached above. The results are similar. When using the command: I get the following: And after that, if I use the following command inside dbg: I get the attached output. I hope this helps. |
Commented by: vlada-dudr I got similar problem. ChakraOS "Euler", Lenovo Thinkpad T520. It crashes with: When I am rescanning library with my main database (I am using it for my sets), mixxx rescans without problem, than the scanner says "Scanning for cover art (Safe to cancel)" and than it crashes with same error. Both bts are in attached file.
tried today with git branch 1.12 and compiled with faad=1 and tuned=1 |
Commented by: sblaisot Do you have opus files in your library ? |
Commented by: daschuer Can confirm with current master and current 1.12 running on Ubuntu Trusty |
Commented by: stragu I just wanted to say that I do not have this problem anymore on my system, I am now on KXStudio 14.04 64 bits and a clean scan of my library works fine, using 1.11 or the 1.12 from the beta PPA. The only thing I can think of is that on my previous install, my library was in my encrypted home folder... Could that be why there was an issue? |
Commented by: daschuer
I am afraid not. Since I can reproduce it on an unencrypted drive. It looks like the bug is somewhere inside taglib What is yours? |
Commented by: stragu
I've got libtag1-vanilla 1.9.1-2 too, so that doesn't look like it. |
Commented by: daschuer Strange. What else coud be the reason that it does not crash anymore? |
Commented by: daschuer Just filed a Taglib bug: taglib/taglib#635 |
Commented by: daschuer Got an answere! We see here a bug that is already fixed upstream in taglib. @rryan: Can you give an update. You have cherry picked the fix into our buildserver repro. But the code is gone. |
Commented by: forkotov02 PPA with taglib from git: https://launchpad.net/~forkotov02/+archive/ubuntu/ppa See my bugreport https://bugs.launchpad.net/ubuntu/+source/taglib/+bug/1353988 |
Commented by: ywwg we have upgraded the version of taglib to be included with mixxx, maybe this bug has gone away in recent builds? |
Commented by: daschuer It will be gone for Mac and Windows, but it persists on Linux. |
Commented by: rryan It's hard to tell what the scope of this bug (and other TagLib 1.9 bugs we see) are in terms of users affected. So I'm not really able to determine a priority for whether I should spend time working on this. In general I'm not opposed if we have a strong reason to believe it's worth it. If someone can provide me a source package for TagLib 1.10 that supports Wily, Precise and Trusty -- I can push it to our PPAs. I have a general concern about publishing other libraries to our PPA. I think most likely we'll push the library once and then forget about it (we still have a lost and forgotten portaudiov19 in our lp:mixxx/mixxx PPA from the one time we did this in the past!). What happens in this case? Is the user stuck on our old version when their distro offers a newer package? |
Commented by: daschuer You find the taglib source in the taglib repro on github. |
Commented by: Pegasus-RPG @RJ: As long as the package naming convention is respected, the apt system will install the latest version of a given package regardless of which source supplies it. So in the case of an old PortAudio, people on the older version of the OS would have our PA version since it's named newer than what the OS supplies, but those that have upgraded will get the OS version since it's newer than ours. Again, package version numbering is critical to this working correctly. (https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version) |
Commented by: rryan
I don't see a Debian source package in their repository. I'm asking for a Debian source package that I can sign with our Mixxx master key and dput to our PPA. |
Commented by: ywwg I believe deb does the right thing and will not hold a user back on an old version of a library if a newer one is available from a different repo. I think we can recommend taglib 1.10, but I wouldn't require it. My first preference is to file a bug with the ubuntu packagers and ask them to update taglib rather than try to roll our own. |
Commented by: daschuer Yes, we can ask them, since the serious falc crasher will effect almost all other media applications. I am only afraid that this discussion my delay our release. So putting taglib 1.10 in out ppa in the meantime is my preferred solution. I would really prefer to require taglib 1.10. It will be rely no fun to being blamed for 1.9 crashes in upcoming press reviews. This will also equalize the situation for all our target. |
Commented by: daschuer @rryan: |
Commented by: daschuer The Taglib binary was successfully tested on Ubuntu Precise and Trusty |
Commented by: daschuer Here is an example how other apps handle this: I think we should do the same. Any thoughts? |
Commented by: ywwg Daniel you've committed a change that requires taglib >=1.10 even in old versions of ubuntu, do you even know if old versions of ubuntu have access to that version? |
Commented by: rryan Thanks for the package Daniel, hopefully I did this right: https://launchpad.net/~mixxx/+archive/ubuntu/mixxxbetas/+packages I uploaded it for Precise. Does it need to be explicitly uploaded for Trusty/Vivid/Wily/Xenial? |
Commented by: daschuer I would say yes, however the must be a chance to get around it. |
Commented by: rryan Received confirmation from a forum user that the PPA automatically upgraded their taglib package to 1.10. Our mixxx/mixxx and mixxx/mixxxbetas PPA has the taglib 1.10 package. |
Commented by: daschuer Sorry, I cannot confirm. |
Commented by: daschuer
|
Commented by: rryan Trusty, Utopic, Vivid, and Wily are up now |
Commented by: daschuer Confirmed |
Issue closed with status Fix Released. |
Reported by: stragu
Date: 2015-01-16T01:40:03Z
Status: Fix Released
Importance: Critical
Launchpad Issue: lp1411479
Attachments: [log file](https://bugs.launchpad.net/bugs/1411479/+attachment/4299630/+files/log file), [file that makes mixxx crash while scanning.flac](https://bugs.launchpad.net/bugs/1411479/+attachment/4316915/+files/file that makes mixxx crash while scanning.flac), [thread apply all bt output](https://bugs.launchpad.net/bugs/1411479/+attachment/4377061/+files/thread apply all bt output), [Backtrace after mixxx crash on library scan](https://bugs.launchpad.net/bugs/1411479/+attachment/4404070/+files/Backtrace after mixxx crash on library scan), taglib-1.9.1-bug-308.diff
Hi there
I have had this problem for a while, and it has happened to me with versions 1.10.1, 1.11.0 and the master build I am using currently (mixxx_1.12.0-alpha-git5124
master-git5124-ppa1trusty1_trusty_amd64.deb).The issue is that, when I start a fresh database (by removing or renaming my current mixxxdb.sqlite), Mixxx crashes while scanning my (rather large) library. I noticed that it happened on the same folder every time (I sometimes can see what folder it was scanning when it got stuck, but other times the windows close straight away) , so I removed that folder, but then it started doing it on a different one, etc.
Because of that problem, I have been using the same database for a while, but I would like to start clean because I noticed some albums do not appear in the library, even after a rescan. (A problem I have been talking about on the forum: http://www.mixxx.org/forums/viewtopic.php?f=3&t=6575)
When it crashes, the only extra line in the terminal is: "Segmentation fault (core dumped)"
I used the command "gdb --eval-command=run mixxx" and I get the following extra lines when Mixxx crashes:
[Thread 0x7fffd3392700 (LWP 7112) exited]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffeff170700 (LWP 7120)]
__memcpy_sse2_unaligned ()
at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:36
36 ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S: No such file or directory.
I then use the command "thread apply all bt" in gdb, and I get the following:
Thread 33 (Thread 0x7ffeff170700 (LWP 7120)):
#0 __memcpy_sse2_unaligned ()
at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:36
#1 0x00007ffff3f139aa in TagLib::ByteVector::replace(TagLib::ByteVector const&, TagLib::ByteVector const&) () from /usr/lib/x86_64-linux-gnu/libtag.so.1
#2 0x00007ffff3ee5d69 in TagLib::ID3v2::SynchData::decode(TagLib::ByteVector const&) () from /usr/lib/x86_64-linux-gnu/libtag.so.1
#3 0x00007ffff3ee541d in TagLib::ID3v2::FrameFactory::createFrame(TagLib::ByteVector const&, TagLib::ID3v2::Header*) const ()
from /usr/lib/x86_64-linux-gnu/libtag.so.1
#4 0x00007ffff3ee984f in TagLib::ID3v2::Tag::parse(TagLib::ByteVector const&)
These tests were made with mixxx_1.12.0-alpha-git5124~master-git5124 on Ubuntu 14.04, on an Asus x201ep.
Attached is a log of when the crash happens (but I don't think it contains anything interesting).
The text was updated successfully, but these errors were encountered: