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 358017 - >=gtk+2.10.3 freezes audacious
>=gtk+2.10.3 freezes audacious
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: Other
2.10.x
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2006-09-27 19:44 UTC by Brad Walker
Modified: 2006-10-02 21:06 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16


Attachments
gdb with audacious-1.2.0-r1 and gtk+-2.10.3 (6.72 KB, text/plain)
2006-09-27 19:46 UTC, Brad Walker
Details

Description Brad Walker 2006-09-27 19:44:33 UTC
"open playlist" and "save playlist" commands will freeze audacious when
gtk+-2.10 is installed. select a playlist, and click "save" or "open", and the
modal FileChooserDialog will freeze with the selected button inset.

i've isolated the problem to the function "playlist_file_selection" on
ui_playlist.c:954. playlist_file_selection will properly return the chosen
playlist filename, but doesn't return from "gtk_widget_destroy", freeing the
dialog. i don't know what's going on with "gtk_widget_destroy". please check out the attached gdb session and ui_playlist.c excerpt.

I don't think this is related to broken CFLAGS. I've tried compiling pango, atk, glib, gtk+, audacious, and audacious-plugins with CFLAGS="-ggdb -pipe" with the same results. i run gcc 4.1.1, glibc-2.4, and i've tried gtk+-2.10.3 and 2.10.4.

i'm guessing it's probably a gtk+-2.10 bug because audacious w/gtk+-2.8.20 works.
Comment 1 Brad Walker 2006-09-27 19:46:40 UTC
Created attachment 73513 [details]
gdb with audacious-1.2.0-r1 and gtk+-2.10.3

here i did "open playlist", selected an .m3u, break at gtk_widget_destroy, get
a nice backtrace, see there's a filename, continue to gtk_widget_destroy, the dialog freezes, and it never returns!
Comment 2 Brad Walker 2006-09-27 19:48:25 UTC
excerpt from audacious/ui_playlist.c:921-961
-------------->8------------------>8---------------->8--------------------------
playlist_file_selection(const gchar * title,
                        gboolean save,
                        const gchar * default_filename)
{
    GtkWidget *dialog, *button;
    gchar *filename;

    g_return_val_if_fail(title != NULL, NULL);

    dialog = gtk_file_chooser_dialog_new(title, GTK_WINDOW(mainwin),
                                         save ? GTK_FILE_CHOOSER_ACTION_SAVE :
                                         GTK_FILE_CHOOSER_ACTION_OPEN, NULL, NULL);
    if (default_filename)
        gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog),
                                      default_filename);

    button = gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_CANCEL,
                                   GTK_RESPONSE_REJECT);
    gtk_button_set_use_stock(GTK_BUTTON(button), TRUE);
    GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);

    button = gtk_dialog_add_button(GTK_DIALOG(dialog),
                                   save ? GTK_STOCK_SAVE : GTK_STOCK_OPEN,
                                   GTK_RESPONSE_ACCEPT);
    gtk_button_set_use_stock(GTK_BUTTON(button), TRUE);
    gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT);

    if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT)
        filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
    else
        filename = NULL;

    gtk_widget_destroy(dialog);

    return filename;
}
Comment 3 André Klapper 2006-09-30 10:27:13 UTC
mmmm, autechre? very good taste! :-)

perhaps related to the other problems we are facing with gtk+ 2.10.4 like bug 358405. :-/
Comment 4 Matthias Clasen 2006-09-30 14:29:52 UTC
Are you using the gnome-vfs filesystem backend ? 
Both the gnome-vfs and the unix backends had deadlock issues,
which should be fixed in cvs.
Comment 5 Brad Walker 2006-10-02 21:06:16 UTC
hooray! i tried gtk+2.10.5 and audacious doesn't freeze opening/saving playlists. good work!