In my vain pursuit of fixing tags, I found what seems to break the
inotify based scanner.  Have a mistagged album (ie a variant in the
album tag on a single track) which forces the album to be split into
two.  Fixing it does not 'remerge' the album back together, though I
understand that is messy.

So I do a 'clear and rescan' to force it to merge the album back to the
way it should have been to begin with, which invokes the external
'scanner.pl' process just like the olden days.

But if there is darned near any activity (ie playing a track) during
this time, server.log gets:


Code:
--------------------
    
  [10-04-05 15:55:13.1480] Slim::Schema::Storage::throw_exception (119) Error: 
Carp::Clan::__ANON__(): DBI Exception: DBD::SQLite::st execute failed: database 
is locked [for Statement "UPDATE tracks_persistent SET lastplayed = ?, 
playcount = ? WHERE ( id = ? )"] at /usr/share/perl5/Slim/Schema/Storage.pm 
line 123
  [10-04-05 15:55:13.1491] Slim::Schema::Storage::throw_exception (119) 
Backtrace:
  
  frame 0: Slim::Utils::Log::logBacktrace 
(/usr/share/perl5/Slim/Schema/Storage.pm line 119)
  frame 1: Slim::Schema::Storage::throw_exception 
(/usr/share/squeezeboxserver/CPAN/DBIx/Class/Storage/DBI.pm line 598)
  frame 2: DBIx::Class::Storage::DBI::dbh_do 
(/usr/share/squeezeboxserver/CPAN/DBIx/Class/Storage/DBI.pm line 1297)
  frame 3: DBIx::Class::Storage::DBI::_execute 
(/usr/share/squeezeboxserver/CPAN/DBIx/Class/Storage/DBI.pm line 1419)
  frame 4: DBIx::Class::Storage::DBI::update 
(/usr/share/squeezeboxserver/CPAN/DBIx/Class/Row.pm line 490)
  frame 5: DBIx::Class::Row::update 
(/usr/share/squeezeboxserver/CPAN/DBIx/Class/Relationship/CascadeActions.pm 
line 35)
  frame 6: DBIx::Class::Relationship::CascadeActions::update 
(/usr/share/perl5/Slim/Schema/DBI.pm line 32)
  frame 7: Slim::Schema::DBI::update (/usr/share/perl5/Slim/Player/Song.pm line 
631)
  frame 8: Slim::Player::Song::open 
(/usr/share/perl5/Slim/Player/StreamingController.pm line 1177)
  frame 9: Slim::Player::StreamingController::_Stream 
(/usr/share/perl5/Slim/Player/StreamingController.pm line 1271)
  frame 10: Slim::Player::StreamingController::_PlayIfReady 
(/usr/share/perl5/Slim/Player/StreamingController.pm line 288)
  frame 11: Slim::Player::StreamingController::_eventAction 
(/usr/share/perl5/Slim/Player/StreamingController.pm line 2031)
  frame 12: Slim::Player::StreamingController::playerStopped 
(/usr/share/perl5/Slim/Player/Squeezebox2.pm line 148)
  frame 13: Slim::Player::Squeezebox2::statHandler 
(/usr/share/perl5/Slim/Networking/Slimproto.pm line 870)
  frame 14: Slim::Networking::Slimproto::_stat_handler 
(/usr/share/perl5/Slim/Networking/Slimproto.pm line 407)
  frame 15: Slim::Networking::Slimproto::client_readable 
(/usr/share/perl5/Slim/Networking/IO/Select.pm line 139)
  frame 16: (eval) (/usr/share/perl5/Slim/Networking/IO/Select.pm line 123)
  frame 17: Slim::Networking::IO::Select::__ANON__ 
(/usr/share/perl5/Slim/Networking/IO/Select.pm line 183)
  frame 18: (eval) (/usr/share/perl5/Slim/Networking/IO/Select.pm line 183)
  frame 19: Slim::Networking::IO::Select::loop (/usr/sbin/squeezeboxserver line 
697)
  frame 20: main::idleStreams 
(/usr/share/perl5/Slim/Plugin/AudioScrobbler/Plugin.pm line 881)
  frame 21: Slim::Plugin::AudioScrobbler::Plugin::submitScrobble 
(/usr/share/perl5/Slim/Utils/Timers.pm line 255)
  frame 22: (eval) (/usr/share/perl5/Slim/Utils/Timers.pm line 255)
  frame 23: Slim::Utils::Timers::__ANON__ 
(/usr/share/perl5/Slim/Networking/IO/Select.pm line 183)
  frame 24: (eval) (/usr/share/perl5/Slim/Networking/IO/Select.pm line 183)
  frame 25: Slim::Networking::IO::Select::loop (/usr/sbin/squeezeboxserver line 
684)
  frame 26: main::idle (/usr/sbin/squeezeboxserver line 634)
  frame 27: main::main (/usr/sbin/squeezeboxserver line 1127)
  
--------------------


This is annoying and it breaks the playing of the next track (there is
a LOOONG pause while it waits for the lock to clear, then gives up and
goes to the next track).

Annoying.....  but that's not the worst part of it.

Over in scanner.log we get this:


Code:
--------------------
    
  [10-04-05 15:55:16.9835] Slim::Schema::Storage::throw_exception (119) Error: 
DBI Exception: DBD::SQLite::st execute failed: database is locked [for 
Statement "INSERT INTO tracks_persistent (urlmd5,url,added) VALUES (?,?,?)"]
  [10-04-05 15:55:16.9846] Slim::Schema::Storage::throw_exception (119) 
Backtrace:
  
  frame 0: Slim::Utils::Log::logBacktrace 
(/usr/share/perl5/Slim/Schema/Storage.pm line 119)
  frame 1: Slim::Schema::Storage::throw_exception 
(/usr/share/squeezeboxserver/CPAN/DBIx/Class/Storage/DBI.pm line 1006)
  frame 2: DBIx::Class::Storage::DBI::__ANON__ (/usr/share/perl5/Slim/Schema.pm 
line 1388)
  frame 3: Slim::Schema::_createTrack (/usr/share/perl5/Slim/Schema.pm line 
1615)
  frame 4: Slim::Schema::_newTrack (/usr/share/perl5/Slim/Schema.pm line 1813)
  frame 5: Slim::Schema::updateOrCreateBase 
(/usr/share/perl5/Slim/Utils/Scanner/Local.pm line 610)
  frame 6: Slim::Utils::Scanner::Local::__ANON__ 
(/usr/share/perl5/Slim/Utils/Scanner/Local.pm line 670)
  frame 7: Slim::Utils::Scanner::Local::new 
(/usr/share/perl5/Slim/Utils/Scanner/Local.pm line 289)
  frame 8: Slim::Utils::Scanner::Local::__ANON__ 
(/usr/share/perl5/Slim/Utils/Scanner/Local.pm line 305)
  frame 9: Slim::Utils::Scanner::Local::__ANON__ 
(/usr/share/perl5/Slim/Utils/Scanner/Local/Async.pm line 84)
  frame 10: Slim::Utils::Scanner::Local::Async::__ANON__ 
(/usr/share/perl5/Slim/Utils/Scanner/Local/Async.pm line 157)
  frame 11: Slim::Utils::Scanner::Local::Async::find 
(/usr/share/perl5/Slim/Utils/Scanner/Local.pm line 96)
  frame 12: Slim::Utils::Scanner::Local::find 
(/usr/share/perl5/Slim/Utils/Scanner/Local.pm line 385)
  frame 13: Slim::Utils::Scanner::Local::rescan 
(/usr/share/perl5/Slim/Music/MusicFolderScan.pm line 79)
  frame 14: Slim::Music::MusicFolderScan::startScan 
(/usr/share/perl5/Slim/Music/Import.pm line 475)
  frame 15: Slim::Music::Import::runImporter 
(/usr/share/perl5/Slim/Music/Import.pm line 304)
  frame 16: Slim::Music::Import::runScan (/usr/sbin/squeezeboxserver-scanner 
line 339)
  frame 17: (eval) (/usr/sbin/squeezeboxserver-scanner line 333)
  frame 18: main::main (/usr/sbin/squeezeboxserver-scanner line 530)
  
  [10-04-05 15:55:16.9857] main::main (345) Error: Failed when running main 
scan: [Carp::Clan::__ANON__(): DBI Exception: DBD::SQLite::st execute failed: 
database is locked [for Statement "INSERT INTO tracks_persistent 
(urlmd5,url,added) VALUES (?,?,?)"] at /usr/share/perl5/Slim/Schema/Storage.pm 
line 123
  ]
  [10-04-05 15:55:16.9864] main::main (346) Error: Skipping post-process & Not 
updating lastRescanTime!
  
--------------------


Yes, the two processes hit the lock, locking out the player, and
breaking the scanner, leaving the library mostly unscanned.

It looks like 'functionality during a full clear/rescan' is mostly
nonexistant. :/

Anyone else seeing this?


-- 
snarlydwarf
------------------------------------------------------------------------
snarlydwarf's Profile: http://forums.slimdevices.com/member.php?userid=1179
View this thread: http://forums.slimdevices.com/showthread.php?t=76850

_______________________________________________
beta mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/beta

Reply via email to