You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Nicotine+ version: 2.1.1 and 2.1.2-dev1
Operating System/Distribution: Fedora Workstation 32
Describe the bug
nicotine+ kept crashing when i was trying to import my collection, it kept bringing up C++ assertions and running it through gdb i found out a few of the songs in my library were only 4 bytes (half of the flac signature), removing these fixed it and i was able to continue using it.
#1 0x00007ffff7dff895 in abort () from /lib64/libc.so.6
#2 0x00007fffe8555608 in std::__replacement_assert(char const*, int, char const*, char const*) () from /lib64/libtag.so.1
#3 0x00007fffe8553bbb in TagLib::ByteVector::operator(int) const ()
#4 0x00007fffe855b59a in TagLib::FLAC::File::scan() () from /lib64/libtag.so.1
#5 0x00007fffe855b9fc in TagLib::FLAC::File::read(bool) ()
#6 0x00007fffe855bddc in TagLib::FLAC::File::File(char const*, TagLib::ID3v2::FrameFactory*, bool, TagLib::AudioProperties::ReadStyle) ()
#7 0x00007fffe85822f5 in TagLib::File* (anonymous namespace)::createInternal<char const*>(char const*, bool, TagLib::AudioProperties::ReadStyle) ()
#8 0x00007fffea68a123 in __pyx_tp_new_6taglib_File(_typeobject*, _object*, _object*) ()
#9 0x00007ffff7bb6885 in type_call (type=0x7fffea693980,
#10 0x00007ffff7bb6681 in _PyObject_MakeTpCall
The text was updated successfully, but these errors were encountered:
The behavior seems to vary a lot depending on the TagLib package in different operating systems. On Arch and Debian, no warning messages are shown, while a warning message from TagLib is shown on Windows. No crashes on any of these setups though.
We might just have to skip metadata scanning for files that are too small to realistically contain anything useful.