I’ll bet that xmms2d is using sigwait() to handle signals, which breaks gdb’s ability to catch CTRL-C. See https://bugzilla.kernel.org/show_bug.cgi?id=9039
I got an idea for a workaround by reading Continue to debug after failed assertion on Linux? — when I’m ready to break in gdb, I run “kill -TRAP <pid>” from another terminal window.