After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 576599 - 100% cpu usage on "Rescan Music Library"
100% cpu usage on "Rescan Music Library"
Status: RESOLVED DUPLICATE of bug 548131
Product: banshee
Classification: Other
Component: general
1.4.2
Other Linux
: Normal normal
: 1.x
Assigned To: Banshee Maintainers
Banshee Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-03-24 18:14 UTC by Panagiotis
Modified: 2009-03-25 19:55 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Panagiotis 2009-03-24 18:14:19 UTC
Please describe the problem:
Ok, the problem is when i put a new folder with mp3 on my music folder and click on "Rescan Music Library" from Tools menu it starts rescaning and finds the new folder but when it's downloading the artwork the cpu usage goes to 100%. The download never completes.

The problem occurs every time i do the previous.

Steps to reproduce:
1. Open banshee
2. Put a new folder with music on music library
3. Click on "rescan music library"


Actual results:
The cpu usage goes top...

Expected results:
refresh the library and stop that process.

Does this happen every time?
yes

Other information:
[godfath3r@kermit ~]$ uname -a
Linux kermit.localdomain 2.6.27.19-170.2.35.fc10.i686 #1 SMP Mon Feb 23 13:21:22 EST 2009 i686 i686 i386 GNU/Linux

[godfath3r@kermit ~]$ mono --version
Mono JIT compiler version 2.0.1 (tarball)
Copyright (C) 2002-2008 Novell, Inc and Contributors. www.mono-project.com
	TLS:           __thread
	GC:            Included Boehm (with typed GC)
	SIGSEGV:       altstack
	Notifications: epoll
	Architecture:  x86
	Disabled:      none

[godfath3r@kermit ~]$ kill -s QUIT $(pidof banshee-1); cp ~/.config/banshee-1/log ~/Desktop/banshee.log

exec -a banshee-1 mono  /usr/lib/banshee-1/Banshee.exe   --redirect-log --play-enqueued

[Info  20:04:12.119] Running Banshee 1.4.2: [source-tarball (linux-gnu, i386) @ 2009-02-12 10:44:10 EST]
[Info  20:04:13.953] All services are started 1.614109s
[Info  20:04:14.729] nereid Client Started
[Warn  20:04:38.234] Caught an exception - The remote server returned an error: (503) Service Temporarily Unavailable. (in `System')
  at System.Net.HttpWebRequest.CheckFinalStatus (System.Net.WebAsyncResult result) [0x00000] 
  at System.Net.HttpWebRequest.SetResponseData (System.Net.WebConnectionData data) [0x00000] 
[Warn  20:04:39.894] Caught an exception - The remote server returned an error: (503) Service Temporarily Unavailable. (in `System')
  at System.Net.HttpWebRequest.CheckFinalStatus (System.Net.WebAsyncResult result) [0x00000] 
  at System.Net.HttpWebRequest.SetResponseData (System.Net.WebConnectionData data) [0x00000] 
[Warn  20:04:58.777] Caught an exception - The remote server returned an error: (503) Service Temporarily Unavailable. (in `System')
  at System.Net.HttpWebRequest.CheckFinalStatus (System.Net.WebAsyncResult result) [0x00000] 
  at System.Net.HttpWebRequest.SetResponseData (System.Net.WebConnectionData data) [0x00000] 
Full thread dump:

"" tid=0x0x15b9b90 this=0x0xb6e18870:

"" tid=0x0xb80466e0 this=0x0x34dd0:
  at (wrapper managed-to-native) Gtk.Application.gtk_main () <0x00004>
  at (wrapper managed-to-native) Gtk.Application.gtk_main () <0xffffffff>
  at Gtk.Application.Run () <0x00007>
  at Banshee.Gui.GtkBaseClient.Run () <0x00035>
  at Banshee.Gui.GtkBaseClient.Startup () <0x00031>
  at Hyena.Gui.CleanRoomStartup.Startup (Hyena.Gui.CleanRoomStartup/StartupInvocationHandler) <0x00080>
  at Banshee.Gui.GtkBaseClient.Startup () <0x00038>
  at Banshee.Gui.GtkBaseClient.Startup (string[]) <0x000b9>
  at Nereid.Client.Main (string[]) <0x0000a>
  at (wrapper runtime-invoke) Nereid.Client.runtime_invoke_void_string[] (object,intptr,intptr,intptr) <0xffffffff>
  at (wrapper managed-to-native) System.AppDomain.ExecuteAssembly (System.Reflection.Assembly,string[]) <0x00004>
  at (wrapper managed-to-native) System.AppDomain.ExecuteAssembly (System.Reflection.Assembly,string[]) <0xffffffff>
  at System.AppDomain.ExecuteAssemblyInternal (System.Reflection.Assembly,string[]) <0x00028>
  at System.AppDomain.ExecuteAssembly (string,System.Security.Policy.Evidence,string[]) <0x00021>
  at (wrapper remoting-invoke-with-check) System.AppDomain.ExecuteAssembly (string,System.Security.Policy.Evidence,string[]) <0xffffffff>
  at System.AppDomain.ExecuteAssembly (string) <0x00014>
  at (wrapper remoting-invoke-with-check) System.AppDomain.ExecuteAssembly (string) <0xffffffff>
  at Booter.Booter.BootClient (string) <0x00055>
  at Booter.Booter.Main () <0x00188>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff>

"" tid=0x0x317ab90 this=0x0xb5fa3ea0:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitAny_internal (System.Threading.WaitHandle[],int,bool) <0x00004>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitAny_internal (System.Threading.WaitHandle[],int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitAny (System.Threading.WaitHandle[],System.TimeSpan,bool) <0x000c5>
  at System.Threading.RegisteredWaitHandle.Wait (object) <0x000a6>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this___object (object,intptr,intptr,intptr) <0xffffffff>

"" tid=0x0x1284b90 this=0x0xb5fa30d0:
  at (wrapper managed-to-native) Avahi.Client.poll (intptr,uint,int) <0x00004>
  at (wrapper managed-to-native) Avahi.Client.poll (intptr,uint,int) <0xffffffff>
  at Avahi.Client.OnPollCallback (intptr,uint,int) <0x0001c>
  at (wrapper native-to-managed) Avahi.Client.OnPollCallback (intptr,uint,int) <0xffffffff>
  at (wrapper managed-to-native) Avahi.Client.avahi_simple_poll_loop (intptr) <0x00004>
  at (wrapper managed-to-native) Avahi.Client.avahi_simple_poll_loop (intptr) <0xffffffff>
  at Avahi.Client.PollLoop () <0x00029>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"" tid=0x0x1385b90 this=0x0xb5fa3000:
  at (wrapper managed-to-native) System.Net.Sockets.Socket.Accept_internal (intptr,int&) <0x00004>
  at (wrapper managed-to-native) System.Net.Sockets.Socket.Accept_internal (intptr,int&) <0xffffffff>
  at System.Net.Sockets.Socket.Accept () <0x0007e>
  at Banshee.Daap.DaapProxyWebServer.ServerLoop () <0x0002d>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"" tid=0x0x8399b90 this=0x0xb6e18e10:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitAny_internal (System.Threading.WaitHandle[],int,bool) <0x00004>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitAny_internal (System.Threading.WaitHandle[],int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitAny (System.Threading.WaitHandle[],System.TimeSpan,bool) <0x000c5>
  at System.Threading.RegisteredWaitHandle.Wait (object) <0x000a6>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this___object (object,intptr,intptr,intptr) <0xffffffff>

"" tid=0x0x2df9b90 this=0x0xb5fa3dd0:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitAny_internal (System.Threading.WaitHandle[],int,bool) <0x00004>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitAny_internal (System.Threading.WaitHandle[],int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitAny (System.Threading.WaitHandle[],System.TimeSpan,bool) <0x000c5>
  at System.Threading.RegisteredWaitHandle.Wait (object) <0x000a6>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this___object (object,intptr,intptr,intptr) <0xffffffff>

"" tid=0x0xc99b90 this=0x0xb9f00:
  at (wrapper managed-to-native) Mono.Data.SqliteClient.Sqlite.sqlite3_prepare16 (intptr,intptr,int,intptr&,intptr&) <0x00004>
  at (wrapper managed-to-native) Mono.Data.SqliteClient.Sqlite.sqlite3_prepare16 (intptr,intptr,int,intptr&,intptr&) <0xffffffff>
  at Mono.Data.SqliteClient.SqliteCommand.GetNextStatement (intptr,intptr&,intptr&) <0x0004a>
  at Mono.Data.SqliteClient.SqliteCommand.ExecuteReader (System.Data.CommandBehavior,bool,int&) <0x000ca>
  at Mono.Data.SqliteClient.SqliteCommand.ExecuteReader (System.Data.CommandBehavior) <0x0001d>
  at Mono.Data.SqliteClient.SqliteCommand.ExecuteReader () <0x0000c>
  at Mono.Data.SqliteClient.SqliteCommand.ExecuteScalar () <0x00011>
  at Hyena.Data.Sqlite.HyenaSqliteCommand.Execute (Hyena.Data.Sqlite.HyenaSqliteConnection,Mono.Data.SqliteClient.SqliteConnection) <0x000dc>
  at Hyena.Data.Sqlite.HyenaSqliteConnection.ProcessQueue () <0x000ad>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"" tid=0x0x1486b90 this=0x0xb6e18960:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00004>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00052>
  at Hyena.Data.Sqlite.HyenaSqliteCommand.WaitForResult (Hyena.Data.Sqlite.HyenaSqliteConnection) <0x00028>
  at Hyena.Data.Sqlite.HyenaSqliteConnection.Query (Hyena.Data.Sqlite.HyenaSqliteCommand) <0x0003f>
  at Hyena.Data.Sqlite.HyenaSqliteConnection.Query (Hyena.Data.Sqlite.HyenaSqliteCommand,object[]) <0x00035>
  at Banshee.CoverArt.CoverArtJob.Run () <0x002ee>
  at Banshee.Kernel.Scheduler.ProcessJobThread () <0x000fe>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>
Comment 1 Panagiotis 2009-03-24 18:24:59 UTC
Oops, i forgot, even if i click on the x button and then "stop" on "Stop Downloading Cover Art" the cpu usage is 100% as well, for as long the banshee runs...
Comment 2 Bertrand Lorentz 2009-03-24 19:05:43 UTC
I think you might be having the problem described in bug #548131.

To confirm this, could you run the commands given in comment 9 of that bug ? Also run the following command :

sqlite3 ~/.config/banshee-1/banshee.db "select count(*) from CoreAlbums where ArtistID not in (select ArtistID from CoreArtists)"

If any one of these returns something else than 0, it means that it's the same problem.
Comment 3 Panagiotis 2009-03-24 21:46:46 UTC
Ehm, your query returns 3
but the other 2 queries in bug #548131 returned 0.

Comment 4 Bertrand Lorentz 2009-03-25 19:55:08 UTC
I'm marking this as a duplicate of bug #548131 then.

The fix will be in the next release of banshee.

Thank you for your bug report.

*** This bug has been marked as a duplicate of 548131 ***