milohr / babe-qt

This version is unmantained. The new version is now named VVAVE
https://phabricator.kde.org/source/vvave/
Other
140 stars 9 forks source link

Crash importing library #55

Closed mnd999 closed 6 years ago

mnd999 commented 6 years ago

Hope this is useful.


writting to db:  "Morfe" "Morfe"
Process 80412 stopped
* thread #1, stop reason = signal SIGSEGV: address access protected (fault address: 0x819e00000)
    frame #0: 0x000000080a482cb6 libc.so.7`memmove + 22
libc.so.7`memmove:
->  0x80a482cb6 <+22>: rep    
    0x80a482cb7 <+23>: movsq  (%rsi), %es:(%rdi)
    0x80a482cb9 <+25>: movq   %rdx, %rcx
    0x80a482cbc <+28>: andq   $0x7, %rcx

(lldb) bt all
error: Babe DWARF DW_TAG_array_type DIE at 0x0001c22e has a class/union/struct element type DIE 0x0001c23a that is a forward declaration, not a complete definition.
Try compiling the source file with -fno-limit-debug-info or disable -gmodule
* thread #1, stop reason = signal SIGSEGV: address access protected (fault address: 0x819e00000)
  * frame #0: 0x000000080a482cb6 libc.so.7`memmove + 22
    frame #1: 0x0000000808f08d38 libQt5Core.so.5`QListData::remove(int) + 104
    frame #2: 0x0000000832e072a8 libqsqlite.so`___lldb_unnamed_symbol17$$libqsqlite.so + 312
    frame #3: 0x0000000832e0732e libqsqlite.so`___lldb_unnamed_symbol18$$libqsqlite.so + 14
    frame #4: 0x0000000807f1cb9d libQt5Sql.so.5`QSqlQuery::~QSqlQuery(void) + 61
    frame #5: Babe`CollectionDB::insert(this=<unavailable>, tableName=<unavailable>, insertData=<unavailable>) at collectionDB.cpp:162
    frame #6: Babe`CollectionDB::addTrack(this=0x0000000815c25cc0, track=<unavailable>) at collectionDB.cpp:208
    frame #7: 0x000000080908a481 libQt5Core.so.5`QObject::event(QEvent*) + 657
    frame #8: 0x000000080176ff60 libQt5Widgets.so.5`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 272
    frame #9: 0x0000000801771300 libQt5Widgets.so.5`QApplication::notify(QObject*, QEvent*) + 368
    frame #10: 0x0000000809061593 libQt5Core.so.5`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 147
    frame #11: 0x000000080906229a libQt5Core.so.5`QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 810
    frame #12: 0x00000008090b1508 libQt5Core.so.5`___lldb_unnamed_symbol2447$$libQt5Core.so.5 + 24
    frame #13: 0x000000080be4d56b libglib-2.0.so.0`g_main_context_dispatch + 315
    frame #14: 0x000000080be4d89e libglib-2.0.so.0`___lldb_unnamed_symbol114$$libglib-2.0.so.0 + 430
    frame #15: 0x000000080be4d924 libglib-2.0.so.0`g_main_context_iteration + 100
    frame #16: 0x00000008090b0ffb libQt5Core.so.5`QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 107
    frame #17: 0x000000080905d58e libQt5Core.so.5`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 414
    frame #18: 0x0000000809061c01 libQt5Core.so.5`QCoreApplication::exec(void) + 321
    frame #19: Babe`main(argc=<unavailable>, argv=0x00007fffffffe418) at main.cpp:41
    frame #20: 0x000000000042deff Babe`_start + 383
milohr commented 6 years ago

not really useful, are you using the right repo? this is the right one: https://phabricator.kde.org/source/babe/ to use it you need to remove the db file collection.db located in ~/.local/share/babe/

let me know if you try it.

mnd999 commented 6 years ago

I'm using: origin git://anongit.kde.org/babe

I built and ran for the first time this morning, there is no legacy collection.db.

Anything I can do to make it more useful?

Ran it again, with a new collection.db, I got;

writting to db: "Sliced Tomatoes" "Just Brothers" TagLib: MP4: Invalid atom size TagLib: FileRef::tag() - Called without a valid file. Segmentation fault (core dumped)

Different trace this time

error: Babe DWARF DW_TAG_array_type DIE at 0x0179feb4 has a class/union/struct element type DIE 0x0179fec0 that is a forward declaration, not a complete definition.
Try compiling the source file with -fno-limit-debug-info or disable -gmodule
* thread #1, name = 'Babe', stop reason = signal SIGSEGV
  * frame #0: Babe`TagInfo::getAlbum(this=0x00007fffde9f27a8) at taginfo.cpp:32
    frame #1: Babe`FileLoader::getTracks(this=0x0000000815c25cf8, path=<unavailable>) at fileloader.h:68
    frame #2: Babe`FileLoader::qt_static_metacall(_o=0x0000000815c25cf8, _c=<unavailable>, _id=<unavailable>, _a=<unavailable>) at moc_fileloader.cpp:91
    frame #3: 0x000000080908a481 libQt5Core.so.5`QObject::event(QEvent*) + 657
    frame #4: 0x000000080176ff60 libQt5Widgets.so.5`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 272
milohr commented 6 years ago

Could you try with an isolated folder containing a few known files. In order to check if maybe the problem is the files format.

mnd999 commented 6 years ago

I tried with a smaller subset, which appeared to work in that I was able to play songs. On attempting to quit it said it was still importing though. At this point it had allocated 52Gb of RAM, and for some reason seems to have downloaded the text of a novel.

Log attached. babe.log

milohr commented 6 years ago

What do you mean by 52Gb of ram? The text from the novel is because it failed to find the right music lyrics. In the background Babe is fetching g information about the music collection making use of multiple APIS. That's the warning you saw when tying to quit.

mnd999 commented 6 years ago

Apologies, I should have been clearer. The box I develop on has 64gb of ram. At the point I killed it (having tried to exit normally) the babe process had allocated 52Gb of that. I think perhaps a memory leak.

milohr commented 6 years ago

I will try to catch that memory leak. Thank you. If you have any idea where it might be, please let me know.

mnd999 commented 6 years ago

Memory usage seems better now. Can import those three albums with sensible memory usage. Attempting all my music now and seems stable.