Skip to content
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

Segfault on updating library #3713

Closed
Clementine-Issue-Importer opened this issue Dec 14, 2013 · 5 comments
Closed

Segfault on updating library #3713

Clementine-Issue-Importer opened this issue Dec 14, 2013 · 5 comments

Comments

@Clementine-Issue-Importer

From teunkloo...@gmail.com on June 01, 2013 23:11:57

What steps will reproduce the problem? 1. Enable scanning library folder on startup
2. Start up
3. Wait What is the expected output? What do you see instead? I believe I have an issue with UTF encoded files or a recursive directory scan, either way I'm having a hard time figuring out which files are causing this segfault. What version of the product are you using? On what operating system? Clementine 1.0.1
Linux Mint 14 Nadia / Ubuntu Quantal Please provide any additional information below. gdb --args clementine --verbose

[...]
TagLib: MPEG::Header::parse() -- Invalid sample rate.
TagLib: MPEG::Header::parse() -- Invalid sample rate.
TagLib: ID3v2.4 no longer supports the frame type TDAT. It will be discarded from the tag.
TagLib: ID3v2.4 no longer supports the frame type TDAT. It will be discarded from the tag.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff7cff9700 (LWP 5034)]
0x00007fffe83ce824 in gconv () from /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so

Backtrace:
#0 0x00007fffe83ce824 in gconv () from /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so
#1 0x00007ffff1ee8eee in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007ffff1ee39a4 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3 0x00007ffff1ee2f7a in iconv () from /lib/x86_64-linux-gnu/libc.so.6
#4 0x00007ffff716c40e in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5 0x00007ffff707cb52 in QString::fromLocal8Bit(char const*, int) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#6 0x00007ffff70bcea5 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7 0x00007ffff70bd33a in QFile::decodeName(QByteArray const&) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8 0x00007ffff7106ba9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9 0x00007ffff7106c4c in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#10 0x00007ffff710743a in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#11 0x00007ffff7107ace in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#12 0x00007ffff70bb314 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#13 0x00007ffff70bbb59 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#14 0x00007ffff70bc027 in QDirIterator::QDirIterator(QString const&, QFlagsQDir::Filter, QFlagsQDirIterator::IteratorFlag) ()

from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#15 0x0000000000863c9a in LibraryWatcher::ScanSubdirectory(QString const&, Subdirectory const&, LibraryWatcher::ScanTransaction*, bool) ()
#16 0x00000000008648a8 in LibraryWatcher::ScanSubdirectory(QString const&, Subdirectory const&, LibraryWatcher::ScanTransaction*, bool) ()
#17 0x00000000008648a8 in LibraryWatcher::ScanSubdirectory(QString const&, Subdirectory const&, LibraryWatcher::ScanTransaction*, bool) ()
#18 0x00000000008648a8 in LibraryWatcher::ScanSubdirectory(QString const&, Subdirectory const&, LibraryWatcher::ScanTransaction*, bool) ()
#19 0x00000000008648a8 in LibraryWatcher::ScanSubdirectory(QString const&, Subdirectory const&, LibraryWatcher::ScanTransaction*, bool) ()

[...]
#18715 0x00000000008648a8 in LibraryWatcher::ScanSubdirectory(QString const&, Subdirectory const&, LibraryWatcher::ScanTransaction*, bool) ()
#18716 0x00000000008648a8 in LibraryWatcher::ScanSubdirectory(QString const&, Subdirectory const&, LibraryWatcher::ScanTransaction*, bool) ()
#18717 0x00000000008648a8 in LibraryWatcher::ScanSubdirectory(QString const&, Subdirectory const&, LibraryWatcher::ScanTransaction*, bool) ()
#18718 0x00000000008648a8 in LibraryWatcher::ScanSubdirectory(QString const&, Subdirectory const&, LibraryWatcher::ScanTransaction*, bool) ()
#18719 0x00000000008635ba in LibraryWatcher::AddDirectory(Directory const&, QList const&) ()
#18720 0x00000000009115e2 in ?? ()
#18721 0x00007ffff714743e in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#18722 0x00007ffff61dbe9c in QApplicationPrivate::notify_helper(QObject_, QEvent_) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#18723 0x00007ffff61e030a in QApplication::notify(QObject_, QEvent_) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#18724 0x00007ffff713256e in QCoreApplication::notifyInternal(QObject_, QEvent_) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#18725 0x00007ffff71363f1 in QCoreApplicationPrivate::sendPostedEvents(QObject_, int, QThreadData_) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#18726 0x00007ffff7160a63 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#18727 0x00007ffff3673ab5 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18728 0x00007ffff3673de8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18729 0x00007ffff3673ea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18730 0x00007ffff7160c16 in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#18731 0x00007ffff71312bf in QEventLoop::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#18732 0x00007ffff7131548 in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#18733 0x00007ffff7032b10 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#18734 0x0000000000858fd3 in BackgroundThreadImplementation<LibraryWatcher, LibraryWatcher>::run() ()
#18735 0x00007ffff7035aec in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#18736 0x00007ffff51bee9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#18737 0x00007ffff1fb4ccd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#18738 0x0000000000000000 in ?? ()

Original issue: http://code.google.com/p/clementine-player/issues/detail?id=3713

@Clementine-Issue-Importer
Copy link
Author

From john.maguire on June 01, 2013 14:48:59

Please use a newer version of Clementine.

Status: Obsolete

@Clementine-Issue-Importer
Copy link
Author

From teunkloo...@gmail.com on June 04, 2013 03:08:50

I tried it again with Clementine 1.1.1 from your website and now I can see the DEBUG messages with the song information.

I found it probably doesn't choke on a specific song, but rather the amount of tracks since it always SIGSEGVs at about the 10,000~12,000th track. Also, when I point the library to the temporary folder I used to move out bad tracks, it loads them fine.

Isn't there some stack overflow happening with 10,000+ calls to LibraryWatcher::ScanSubdirectory?

12:07:28.832 DEBUG MessageReply:93 Releasing ID 11199 (finished)
12:07:28.832 DEBUG _MessageReplyBase:30 Acquired ID 11199
12:07:28.832 DEBUG LibraryWatcher:358 "/media/tkteun/red/audio/music/The White Stripes/The White Stripes/The White Stripes - The White Stripes - 06 - Wasting My Time.mp3" created

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffc48ac700 (LWP 5226)]
0x00007ffff17decfd in ?? () from /lib/x86_64-linux-gnu/libc.so.6

Backtrace:

#0 0x00007ffff17decfd in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007ffff17d99a4 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007ffff17d8f7a in iconv () from /lib/x86_64-linux-gnu/libc.so.6
#3 0x00007ffff789e40e in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#4 0x00007ffff77aeb52 in QString::fromLocal8Bit(char const_, int) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5 0x00007ffff77eeea5 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#6 0x00007ffff77ef33a in QFile::decodeName(QByteArray const&) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7 0x00007ffff7838ba9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8 0x00007ffff7838c4c in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9 0x00007ffff783943a in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#10 0x00007ffff7839ace in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#11 0x00007ffff77ed314 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#12 0x00007ffff77edb59 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#13 0x00007ffff77ee027 in QDirIterator::QDirIterator(QString const&, QFlagsQDir::Filter, QFlagsQDirIterator::IteratorFlag)
() from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#14 0x000000000081e373 in LibraryWatcher::ScanSubdirectory(QString const&, Subdirectory const&, LibraryWatcher::ScanTransaction_, bool) ()
#15 0x000000000081f1d7 in LibraryWatcher::ScanSubdirectory(QString const&, Subdirectory const&, LibraryWatcher::ScanTransaction*, bool) ()

[...]

#14976 0x000000000081f1d7 in LibraryWatcher::ScanSubdirectory(QString const&, Subdirectory const&, LibraryWatcher::ScanTransaction_, bool) ()
#14977 0x000000000081f1d7 in LibraryWatcher::ScanSubdirectory(QString const&, Subdirectory const&, LibraryWatcher::ScanTransaction_, bool) ()
#14978 0x000000000081dcb0 in LibraryWatcher::AddDirectory(Directory const&, QList const&) ()
#14979 0x0000000000959552 in ?? ()
#14980 0x00007ffff787943e in QObject::event(QEvent_) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#14981 0x00007ffff328de9c in QApplicationPrivate::notify_helper(QObject_, QEvent_) ()
from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#14982 0x00007ffff329230a in QApplication::notify(QObject_, QEvent_) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#14983 0x00007ffff786456e in QCoreApplication::notifyInternal(QObject_, QEvent_) ()
from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#14984 0x00007ffff78683f1 in QCoreApplicationPrivate::sendPostedEvents(QObject_, int, QThreadData*) ()
from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#14985 0x00007ffff7892a63 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#14986 0x00007ffff5625ab5 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#14987 0x00007ffff5625de8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#14988 0x00007ffff5625ea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#14989 0x00007ffff7892c16 in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) ()
from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#14990 0x00007ffff78632bf in QEventLoop::processEvents(QFlagsQEventLoop::ProcessEventsFlag) ()
from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#14991 0x00007ffff7863548 in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) ()
from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#14992 0x00007ffff7764b10 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#14993 0x00007ffff7767aec in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#14994 0x00007ffff436ce9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#14995 0x00007ffff18aaccd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#14996 0x0000000000000000 in ?? ()

@Clementine-Issue-Importer
Copy link
Author

From davidsansome on June 04, 2013 03:23:03

It looks like you might have a symlink loop somewhere in your library that Clementine is following forever. Try running this from your music directory and see if there's anything suspicious:

find -type l -printf "%p -> %l\n"

@Clementine-Issue-Importer
Copy link
Author

From teunkloo...@gmail.com on June 04, 2013 03:27:43

I tried that, but no symlinks to be found... unfortunately.

@Clementine-Issue-Importer
Copy link
Author

From chrisder...@gmail.com on September 09, 2013 10:36:00

I'm able to confirm this issue under Ubuntu 12.04 with the actual version, installed through PPA.
While creating the database, Clementine (1.1.1) crashes with an segmentation fault.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant