User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:18.104.22.168) Gecko/20070309 Firefox/22.214.171.124
The XMMS panel plugin is crashing Audacious when the menu item 'Settings' is selected.
Steps to Reproduce:
1.Insert XMMS plugin into panel.
2.Configure it to use Audacious.
3.Open the popup-menu and select 'Settings'.
Audacious' settings window is showing up and freezing right then.
I took a quick look at it but couldn't see anything wrong with the plugin code. Maybe it's an Audacious bug? This plugin uses the same code for XMMS, BMP and Audacious. The player control function names are the same in all of these programs, we just bind the plugin control functions to those in the chosen player's library. I verified this bug with Audacious 1.2.2 and checked its code, however I can't see anything wrong about our function calls.
Also I made the following observation: If you start Audacious and open the preferences from within Audacious (say, by Ctrl+P), from that point on you can open the preferences from the panel plugin without a freeze. So maybe Audacious doesn't initialize some things correctly when called by remote control functions. I found in Audacious main.c the lines
/* FIXME: delayed, because it deals directly with the plugin
* interface to set menu items */
so maybe that's the source of the problem.
I think we should close this bug, marking it invalid since I think it's an Audacious bug. But I'll be happy to look again if you find out mistakes in the plugin code. (I just realised that I'm not authorized to change the status, someone do it please :)).
Audacious is not XMMS nor BMP. However, to answer your question, the controlsocket runs in another thread, which is likely the source of this problem. You see, GTK2 and multiple threads using GTK2 doesn't work very well. (Well, it works OK but you have to protect all operations with a giant lock.)
Anyway, we've switched to DBus which will fix the problem here. As I reproduce this with audtool and Audacious 1.3, however, I would say the bug is either a weird thread synchronization bug, or a bug in the XMMS panel plugin (seems unlikely though. I'd go with synchronization bug, in which case, it probably won't ever be fixed, sorry. I suggest porting the plugin to our DBus interface in SVN and using that instead.).
Do note that we don't like bugs that are basically "it doesn't work like XMMS." We are not XMMS, have no interest in being XMMS, nor wish to provide the same functionality as XMMS. I hope that the switch to DBus will make this more clear.
Er, to clarify, that was "cannot reproduce".
I know that Audacious is not trying to be like XMMS and that there was a major overhaul in version 1.3. What I meant to say that, this plugin uses common code for XMMS, BMP and Audacious, as all three use the XMMS API. Therefore I don't think that the plugin code is wrong -- else it wouldn't work with the two others either. Besides, my observation mentioned above strongly suggests that the bug is about the "internals" of Audacious or Xfce/Gtk. I agree with you that it could be a thread management issue in Gtk+2.
But in any case, I don't think that there's anything to be done in the plugin code to resolve this issue. So I ask the authorized maintainers to close this bug with the appropriate resolution.
P.S.: I'll try to look into porting the plugin to the D-bus interface for Audacious.
(In reply to comment #0)
> Actual Results:
> Audacious' settings window is showing up and freezing right then.
I have seen the same behaviour with audacious-docklet from http://nedudu.hu/static.php?page=audacious , see