This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Amarok lost my collection on update scan

Tags: None
(comma "," separated)
dicepackage
Registered Member
Posts
6
Karma
0
OS
I am running Amarok 2.3.2 using KDE 4.5.1 on Ubuntu 10.04.

The other day I added a couple CDs to my music folder and hit update collection. I let it sit for awhile to do the scan and when I came back Amarok is gone.

When I opened it back up I noticed the playlist I had is gone as well as the entire collection. I tried to update again and rescan the entire collection from the terminal. After some time Amarok would disappear but the terminal output would still be showing. The collection_scan.log file shows it making its way through the last file in my collection.

Where do I go from here to attempt get things back?
eric.void
Registered Member
Posts
2
Karma
0
OS
Similar problem for me: after using settings panel (nothing changed however) amarok started a full rescan, than hangs and after that i lost 90% of my collection.

Now, even if i force a full rescan, amarok stop after a while, and only 987 files are indexed (30000 total).

NOTES:
- i've just upgraded to kubuntu 10.10
- Amarok version: 2.3.2
- my collection is not changed (with previous version of amarok full rescan always worked).
- with previous version of amarok it happened often that after a settings update my collection was TOTALLY CLEANED and a full rescan was called. This is a very annoying thing: if for some reason amarok is closed before the full rescan (or if a crash happens) collection remains empty. However after a new full rescan (and a wait of several minutes...) all was ok.

This is relevant parts of debug log (in bold the line i think is more important):

marok: BEGIN: virtual void ScanManager::startFullScan()
amarok: BEGIN: void ScanManager::checkTables(bool)
amarok: BEGIN: void DatabaseUpdater::checkTables(bool)
amarok: END__: void DatabaseUpdater::checkTables(bool) - Took 2.2s
amarok: END__: void ScanManager::checkTables(bool) - Took 2.2s
amarok: BEGIN: XmlParseJob::XmlParseJob(ScanManager*, Collections::SqlCollection*)
amarok: END__: XmlParseJob::XmlParseJob(ScanManager*, Collections::SqlCollection*) - Took 0.00095s
amarok: [ScanManager] Checking for batch file in "/home/eric/.kde/share/apps/amarok/amarokcollectionscanner_batchfullscan.xml"
amarok: BEGIN: virtual void XmlParseJob::run()
amarok: END__: virtual void ScanManager::startFullScan() - Took 2.2s
amarok: [ScanResultProcessor] Setting up database
amarok: BEGIN: void DatabaseUpdater::createTemporaryTables()
amarok: Initialized thread, count== 3
amarok: END__: void DatabaseUpdater::createTemporaryTables() - Took 0.013s
amarok: BEGIN: void ScanResultProcessor::populateCacheHashes()
amarok: END__: void ScanResultProcessor::populateCacheHashes() - Took 0.71s
amarok: BEGIN: virtual void ScanManager::startIncrementalScan(const QString&)
amarok: [ScanManager] scanner already running
amarok: END__: virtual void ScanManager::startIncrementalScan(const QString&) - Took 0.00013s

TagLib: [... several ID3 tag warning ...]

amarok: [ScanResultProcessor] Skipping file with uniqueid "amarok-sqltrackuid://#######" as it was already seen this scan, file is at "#######" , original file is at "#######"
[... other lines like these ...]

amarok: [ScanManager] [ERROR!] Collection scanner abort error: 3
amarok: [ScanManager] Trying to restart the QXmlStreamReader..
amarok: [ScanManager] Success. Committing result to database.
amarok: BEGIN: void DatabaseUpdater::cleanPermanentTables()
amarok: END__: void DatabaseUpdater::cleanPermanentTables() - Took 0.048s
amarok: BEGIN: void ScanResultProcessor::copyHashesToTempTables()
amarok: [ScanResultProcessor] obtained max_allowed_packet is "16777216"
amarok: [ScanResultProcessor] urls key size is 34392

TagLib: [...]

amarok: [ScanResultProcessor] tracks key size is 987
amarok: END__: void ScanResultProcessor::copyHashesToTempTables() - Took 3.6s
amarok: [ScanResultProcessor] temp_tracks: ("987")
amarok: [ScanResultProcessor] tracks before commit: ("0")
amarok: BEGIN: void DatabaseUpdater::copyToPermanentTables()


TagLib: [...]

amarok: END__: void DatabaseUpdater::copyToPermanentTables() - Took 2.2s
amarok: BEGIN: virtual void Dynamic::BiasedPlaylist::invalidate()
amarok: END__: virtual void Dynamic::BiasedPlaylist::invalidate() - Took 0.0001s
amarok: [ScanResultProcessor] tracks after commit: ("987")
amarok: BEGIN: void DatabaseUpdater::removeTemporaryTables()
amarok: Initialized thread, count== 4
amarok: BEGIN: void CollectionTreeItemModelBase::handleSpecialQueryResult(CollectionTreeItem::Type, Collections::QueryMaker*, const Meta::DataList&)
amarok: [CollectionTreeItemModelBase] Received special data: 0
amarok: END__: void CollectionTreeItemModelBase::handleSpecialQueryResult(CollectionTreeItem::Type, Collections::QueryMaker*, const Meta::DataList&) - Took 0.00012s
amarok: END__: void DatabaseUpdater::removeTemporaryTables() - Took 0.16s

TagLib: MPEG::Header::parse() -- Invalid sample rate.
TagLib: MPEG::Header::parse() -- Invalid sample rate.

amarok: [ScanResultProcessor] Sending changed signal
amarok: BEGIN: void Collections::SqlCollection::updateTrackUrlsUids(const ChangedTrackUrls&, const QHash<QString, QString>&)
amarok: END__: void Collections::SqlCollection::updateTrackUrlsUids(const ChangedTrackUrls&, const QHash<QString, QString>&) - Took 0.01s
amarok: BEGIN: virtual void Dynamic::BiasedPlaylist::invalidate()
amarok: END__: virtual void Dynamic::BiasedPlaylist::invalidate() - Took 6.7e-05s
amarok: Initialized thread, count== 5
amarok: BEGIN: void CollectionTreeItemModelBase::handleSpecialQueryResult(CollectionTreeItem::Type, Collections::QueryMaker*, const Meta::DataList&)
amarok: [CollectionTreeItemModelBase] Received special data: 0
amarok: END__: void CollectionTreeItemModelBase::handleSpecialQueryResult(CollectionTreeItem::Type, Collections::QueryMaker*, const Meta::DataList&) - Took 0.00012s

TagLib: String::prepare() - Invalid UTF16 string.
TagLib: String::prepare() - Invalid UTF16 string.

amarok: END__: virtual void XmlParseJob::run() - DELAY Took (quite long) 82s
amarok: BEGIN: virtual XmlParseJob::~XmlParseJob()
amarok: BEGIN: void StatusBar::hideProgress()
amarok: END__: void StatusBar::hideProgress() - Took 0.00066s
amarok: END__: virtual XmlParseJob::~XmlParseJob() - Took 0.0018s
eric.void
Registered Member
Posts
2
Karma
0
OS
This seems the bug:
https://bugs.kde.org/show_bug.cgi?id=251762

(In comments it seems that kubuntu repositories have the patched version, but it doesn't seems to me... last version installed from there is still broken)
dicepackage
Registered Member
Posts
6
Karma
0
OS
I have zero files in my collection. If I run amarok --debug and do an update scan I get the usual output and once the collection scanner finishes the last file this output appears.

amarok: BEGIN: void ScanManager::slotError(QProcess::ProcessError)
amarok: [ScanManager] Error: 1
amarok: BEGIN: void ScanManager::handleRestart()
amarok: [ScanManager] Collection scanner crashed, restart count is 1
amarok: [ScanManager] Success. Committing result to database.
amarok: END__: void ScanManager::handleRestart() - Took 0.0064s
amarok: END__: void ScanManager::slotError(QProcess::ProcessError) - Took 0.05s
amarok: BEGIN: void ScanManager::restartScanner()
amarok: END__: void ScanManager::restartScanner() - Took 0.084s
dicepackage
Registered Member
Posts
6
Karma
0
OS
Well if no one has a good solution I would like to upgrade to Ubuntu 10.10 and try it there. Is all I need backed up for Amorok the .kde/share/apps/amarok folder?
User avatar
evll
Registered Member
Posts
85
Karma
0
OS
I have the same problem. 2000 out of 10000 available songs. I see that it will be fixed in 2.4, but I need to use Amarok now. Is there some workaround?

(In comments it seems that kubuntu repositories have the patched version, but it doesn't seems to me... last version installed from there is still broken)

True, not fixed there.
dicepackage
Registered Member
Posts
6
Karma
0
OS
I have done a clean install and am now on Ubuntu 10.10. I also am starting from scratch and did not bother transferring over any Amarok config files. I was able to get my collection by separating my music collection in half in to two different folders A-L and M-Z. The problem is I can get either one but if I go for the whole thing it will not work. Is there a limit in the database for how big the collection can get?


Bookmarks



Who is online

Registered users: bartoloni, Bing [Bot], Google [Bot], Yahoo [Bot]