pyjama hangs frequently until a keyboard interrupt
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
pyjama |
Confirmed
|
High
|
Unassigned |
Bug Description
Hello!
I use a 0.3.0.1 version of Pyjama and I frequently experience some 'hangs' of it.
For example, when I lesten to some album and the playlist ends, I click on another album, but Pyjama hangs and begins to consume as much of CPU time as possible (usually about 80% or more).
To avoid killing Pyjama every time (and this happens *really* often) I tried to start Pyjama from the command line in my terminal emulator. When it hangs, I press "Ctrl+C" and see something like this:
Traceback (most recent call last):
File "/usr/share/
x,y = self.vbControl.
KeyboardInterrupt
Or like this:
Traceback (most recent call last):
File "/usr/share/
self.
KeyboardInterrupt
It starts to work properly after this action usually.
I must say this is the most annoying thing about Pyjama. I have to always start it from the console to have an ability to control it. Everything else seems to be more or less all right. I have made an ebuild request in Gentoo Bugzilla (http://
Regards,
Vladimir
Hi Vladimir,
thanks for reporting this bug. Sadly it's something like a "known issue": As far as I can tell this is mostly a concurrency-issue. As Pyjama needs to a) draw a lot of widgets b) query jamendo via the internet and c) query the local database, I had do add some concurrency in order to speed up things. I guess I messed up the code here a bit - concurrency and GTK is a topic on its own. When I started writing Pyjama I wasn't aware that concurrency might become such a central topic for the program one day.
To make this short: I'd like to fix it, but I think, I'd have to rewrite large parts of Pyjama to do so. Sebastian is working on a branch "pyjama 2" which - in my oppinon - fixes a lot of serious issues, which my current Pyjama builds have. Additionaly "pyjama 2.0" matches the GNOME human interface guideline much better than I do - even if it isn't finished yet.
Perhaps someone finds a way to make Pyjama more stable without rewriting large parts of the code base. But I'm afraid that this won't be possible and that fixing Pyjama 1 is not worth the effort. I will have a closer look at your tracebacks later - perhaps its just a small issue - but I don't think so.
Sincerely,
Daniel