Amarok's "global hotkeys" become stuck often

Bug #149507 reported by Bogdan Butnaru
This bug report is a duplicate of:  Bug #194214: Keys get "stuck" down. Edit Remove
10
Affects Status Importance Assigned to Milestone
amarok (Ubuntu)
Incomplete
Undecided
Unassigned
xorg (Ubuntu)
Incomplete
Undecided
Unassigned

Bug Description

Binary package hint: amarok

Hello! I'm using Amarok on an otherwise Gnome-exclusive Ubuntu Gutsy box.

One thing I'm very fond of is using global hotkeys to control the music player (in this case Amarok) from any application. For example, I have hotkeys set for skipping to the next track, and for showing/hiding the player's window.

The problem is that very often these become stuck. This means that I'd press a hot-key (Start-; for instance to show the player), and Amarok starts doing the given command in a loop forever. Since the show/hide command is a toggle, this means that Amarok becomes unusable (no command works anymore), and uses up all the processor time which makes it hard to kill it. Skipping to the next track has the same effect: since I use 'smart' playlists, which refill themselves as the music plays, Amarok gets into an infinite loop through my entire collection, using even more processor time.

Sometimes the show/hide bug stops if I press the shortcut a lot, but it's not easy to reproduce. Since it happens randomly, I can't think of any way of debugging this.

Revision history for this message
Josh (hashbrowncipher) wrote :

Seems to be a duplicate of #55585

Revision history for this message
Bogdan Butnaru (bogdanb) wrote :

I hadn't noticed the relationship with key press duration, but other than that it seems it's the same problem.

I've just tried it, and indeed, it happens right away when a key is pressed longer than an instant.

Revision history for this message
Bogdan Butnaru (bogdanb) wrote :

I've just linked Xorg to this bug, at least to get some developers to take a look at the problem. This just happened to me again and I got annoyed enough to find a different computer and take a look through SSH.

Precise description of the situation: I use Super+[1-5] to assign ratings to songs in Amarok, and I pressed Super+4 twice (this toggles between 4 and 3.5 stars). So Amarok got stuck in a loop between the two ratings. I suppose the second event happened before the first was fully treated, or something similar, and there's a command stack somewhere that missed a pop due to an unsynchronized operation. Or something like that. (I notice that the lock happens much more often for slower operations, like switching to the next track, than quick ones, like changing ratings. It also happens regularly when I hold the key a bit. So it's very likely time-based.)

During such a loop, weird things happen: I can maximize/unmaximize windows using the title-bar button. I can also press the full-screen button in Evince and it works. However, menus and other buttons don't seem to do anything. This includes the "force application to quit" button on the panel. No key-presses seem to work, ever. I can't switch to a text console.

I have my music on a sshfs-mounted remote directory. If Amarok is stuck in a 'next-track' loop and I shut down the WiFi through the hardware switch, it stops playing, but remains in the loop (ie, I can't do anything); if I re-set the switch it resumes looping.

However, today I had another laptop nearby and I SSH-ed to the locked machine. It worked OK, so it's only the X session that's locked up. I killed Amarok, and I was surprised to see that the machine was still locked up. So I took another look, and the Xorg process was at 100% processor usage. That's why I thought this might be something related to an X flaw. I killed both X and GDM, but I still couldn't do anything on the machine, so I rebooted.

This is very easily reproducible (though annoying because of the reboots), so if someone has any ideas for tracking the issue, let me know.

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Please use gdb to get a trace of the Xorg process when it's stuck. First you should install xserver-xorg-core-dbg package. Short introduction here:

https://wiki.ubuntu.com/DebuggingXorg

Changed in xorg:
status: New → Incomplete
Revision history for this message
Lydia Pintscher (lydia-pintscher) wrote :

Marking as incomplete.

Changed in amarok:
status: New → Incomplete
Revision history for this message
FriedChicken (domlyons) wrote :

I've got the same problem. I will try to get a trace but I'm not sure if this problem will occur if I want ist ...

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.