Ruby crashes while using gnome-art-manager

Bug #60258 reported by calabris
92
Affects Status Importance Assigned to Milestone
gnome-art (Debian)
Fix Released
Unknown
gnome-art (Ubuntu)
Fix Released
Medium
Sebastien Bacher

Bug Description

I opened Gnome Art Manager and tried to download a wallpaper to my desktop. I clicked "Download Only", and seconds later got a crash dialog. I am running a fully up-to-date Edgy installation on VMWare Player.

Revision history for this message
calabris (calabris) wrote :
Revision history for this message
Rocco Stanzione (trappist) wrote :

Reassigning to gnome-art. I tried and failed to reproduce the problem in edgy (in kde). It seems to work just fine.

Revision history for this message
Rocco Stanzione (trappist) wrote :

Confirming, as there are several duplicates of this bug.

Changed in gnome-art:
status: Unconfirmed → Confirmed
Revision history for this message
Rocco Stanzione (trappist) wrote :

I do a lot of work in ruby, so I have a pretty good selection of ruby packages installed. This may explain why I can't reproduce it, which would mean this is a missing dependency issue. I'll look into that.

Revision history for this message
Rocco Stanzione (trappist) wrote :

This works on one machine and not another. Both machines are running amd64 kubuntu. On the machine where it doesn't segfault, I get this in the console when the download dialog appears (instead of the segfault):

(gnome-art:6132): libgnomevfs-WARNING **: Failed to open session DBUS connection: Unable to determine the address of the message bus (try 'man dbus-launch' and 'man dbus-daemon' for help)
Volume monitoring will not work.
6132: arguments to dbus_connection_send_with_reply_and_block() were incorrect, assertion "connection != NULL" failed in file dbus-connection.c line 2873.
This is normally a bug in some application using the D-Bus library.
6132: arguments to dbus_connection_send_with_reply_and_block() were incorrect, assertion "connection != NULL" failed in file dbus-connection.c line 2873.
This is normally a bug in some application using the D-Bus library.

Revision history for this message
Rocco Stanzione (trappist) wrote :

Another interesting observation: if I create a new user and run gnome-art as that user, it works fine (that is, it behaves just as it does on the machine where it doesn't segfault).

Revision history for this message
Rocco Stanzione (trappist) wrote :

Setting to medium do to the volume of duplicates and confirmations

Changed in gnome-art:
importance: Undecided → Medium
Revision history for this message
Scott Kitterman (kitterman) wrote :

I just asked someone to try to replicate this on a current Feisty installation and he was unable to do so on either i386 or AMD64. The Feisty version of Ruby is substantially less buggy than the Edgy version, so it's likely this is a Ruby bug that's been fixed. If someone can replicate this on Feisty or Guty, please reopen the bug.

Changed in gnome-art:
status: Confirmed → Fix Released
Revision history for this message
Scott Kitterman (kitterman) wrote :

Nevermind. Just reproduced on Feisty:

/usr/lib/ruby/1.8/gnome-art/ui/main_window.rb:253: [BUG] Segmentation Fault

Only on AMD64, i386 appears to be fine.

Changed in gnome-art:
status: Fix Released → Confirmed
Revision history for this message
xtknight (xt-knight) wrote :

This patch should fix the save dialog SIGSEGV during "Download Only".

Revision history for this message
Daniel Holbach (dholbach) wrote :

Sébastien: can you take a look at this one?

Changed in gnome-art:
assignee: nobody → seb128
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for the patch, I've sent it to Debian http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=434767

Revision history for this message
Sebastien Bacher (seb128) wrote :

Could you update the patch to the gutsy version and limit the changes to the code (there is some blank lines and indentation in the current version)? Could you also explain quickly how the changes are fixing the problem and what was wrong in the code logic?

Revision history for this message
Sebastien Bacher (seb128) wrote :

The patch change the code to use Gtk::FileSelection which is a deprecated API, would be better to fix the Gtk::FileChooserDialog use rather

Changed in gnome-art:
status: Confirmed → Incomplete
Revision history for this message
xtknight (xt-knight) wrote :

Sebastien Bacher:

Thanks for taking a look at it. It led me to a better conclusion.

On inspection of gnome-art, half of the program is broken. After downloading one item, menu items don't work, and some buttons don't work properly (regardless of my patch).

I think ruby-gnome2 is broken. In 0.15, which Feisty uses, many events didn't fire and GRClosure warnings appeared. ( http://www.ruby-forum.com/topic/87299#163973 ) Using the testing program listed in there, the program was plagued by GRClosure errors.

Using a clean Ruby 1.8.6 and Ruby-GNOME2 0.16.0 compile seems to fix a lot of the problems, including the Save dialog problems. I also had to edit part of Ruby-GNOME2 to get gnome-art to run properly. Here is somebody else's patch that was in CVS that allows gnome-art to start properly: http://ruby-gnome2.cvs.sourceforge.net/ruby-gnome2/ruby-gnome2/libglade/lib/libglade2.rb?r1=1.17&r2=1.18

I will have to further investigate to find the smallest change possible to make gnome-art run properly.

Revision history for this message
xtknight (xt-knight) wrote :

Actually, the Save dialog issues specifically (which this bug deals with) are due to a portion of the code being thread unsafe, from what I can tell. Commenting "thread.new" near the Gtk::FileChooserDialog fixes the problem. From my testing, this causes no other side effects. I will be posting a patch for Feisty and Gutsy for this problem.

Even after this, there are a lot of very obvious problems with gnome-art. Should these be in another patch? I have summarized them:

gnome-art Feisty:

- Signal issues (GRClosure, Ruby-GNOME2)
-- Breaks all functions after the user chooses once to download backgrounds, themes, etc
-- Even File->Quit doesn't work after one theme section download
- Save dialog doesn't remember last location (Ruby-GNOME2)
- Save dialog SIGSEGV (thread-unsafe function?)
- About dialog 'Close' button is broken
- Download progress window is cut off with some DPIs

gnome-art Gutsy:

- Save dialog SIGSEGV (thread-unsafe function?)
- Install doesn't work (new gnome method of installing themes)
- About dialog 'Close' button is broken
- Download progress window is cut off with some DPIs

Revision history for this message
Áron Sisak (asisak) wrote :

Xtnight, thanks for your investigations, it is very helpful to see these all summarized.

I guess the biggest problem is that upstream gnome-art (http://www.miketech.net/gnome-art/) is not maintained any more.

There is a Google SoC project that aims to redesign / recreate the art.gnome.org website (http://eksperimental.net/soc/).
It should also provide an XML + RPC API that would make possible to design a new application to get artwork from the website.
However this not seems to be feasible before gutsy+1.

Changed in gnome-art:
status: Unknown → New
Revision history for this message
xtknight (xt-knight) wrote :
Revision history for this message
xtknight (xt-knight) wrote :
Revision history for this message
xtknight (xt-knight) wrote :

Please have a look at the updated patches.

Áron Sisak: yeah that is a problem. I think the program needs a complete replacement, to be honest. There is also a problem when you maximize the window that some things aren't painted properly when you scroll through a list of themes.

All: I also have found a fix for the About dialog box problem (use about.run and about.hide instead of about.show in main_window.rb). Should this be in another bug report altogether or shall I just post these here also?

Revision history for this message
Sarah Kowalik (hobbsee-deactivatedaccount) wrote :

seb128 says he'll upload this.

Changed in gnome-art:
status: New → Fix Released
Revision history for this message
xtknight (xt-knight) wrote :

I am changing the status to New because the new patches need to be looked at. From what I can tell this hasn't been uploaded.

http://changelogs.ubuntu.com/changelogs/pool/universe/g/gnome-art/gnome-art_0.2-5/changelog

Changed in gnome-art:
status: Incomplete → New
Revision history for this message
xtknight (xt-knight) wrote :

My apologies. It looks like Sebastien has indeed uploaded it to Debian. However, when will the patches actually see the light of day? Will 0.2-7 need to be sync'd from Debian since those seem to fix the problems?

Revision history for this message
Anatoliy Kounitskiy (bgtroll) wrote :
Download full text (10.3 KiB)

I want just to confirm the bug in Gutsy Gabon i386 with latest updates form 09.27.2007. When I click "Download Only", and before choosing where to save the image - it just crashed.

Log from the console:

/usr/lib/ruby/1.8/rexml/encoding.rb: line 34
   Gtk-WARNING **:Failed to set text from markup due to error parsing markup: Error on line 1: Character ' ' is not valid at the start of an entity name; the & character begins an entity; if this ampersand isn't supposed to be an entity, escape it as &
/usr/lib/ruby/1.8/rexml/encoding.rb: line 34
   Gtk-WARNING **:Failed to set text from markup due to error parsing markup: Error on line 1: Character ' ' is not valid at the start of an entity name; the & character begins an entity; if this ampersand isn't supposed to be an entity, escape it as &
/usr/lib/ruby/1.8/rexml/encoding.rb: line 34
   Gtk-WARNING **:Failed to set text from markup due to error parsing markup: Error on line 1: Character ' ' is not valid at the start of an entity name; the & character begins an entity; if this ampersand isn't supposed to be an entity, escape it as &
/usr/lib/ruby/1.8/rexml/encoding.rb: line 34
   Gtk-WARNING **:Failed to set text from markup due to error parsing markup: Error on line 1: Character ' ' is not valid at the start of an entity name; the & character begins an entity; if this ampersand isn't supposed to be an entity, escape it as &
/usr/lib/ruby/1.8/rexml/encoding.rb: line 34
   Gtk-WARNING **:Failed to set text from markup due to error parsing markup: Error on line 1: Character ' ' is not valid at the start of an entity name; the & character begins an entity; if this ampersand isn't supposed to be an entity, escape it as &
/usr/lib/ruby/1.8/rexml/encoding.rb: line 34
   Gtk-WARNING **:Failed to set text from markup due to error parsing markup: Error on line 1: Character ' ' is not valid at the start of an entity name; the & character begins an entity; if this ampersand isn't supposed to be an entity, escape it as &
/usr/lib/ruby/1.8/rexml/encoding.rb: line 34
   Gtk-WARNING **:Failed to set text from markup due to error parsing markup: Error on line 1: Character ' ' is not valid at the start of an entity name; the & character begins an entity; if this ampersand isn't supposed to be an entity, escape it as &
/usr/lib/ruby/1.8/rexml/encoding.rb: line 34
   Gtk-WARNING **:Failed to set text from markup due to error parsing markup: Error on line 1: Character ' ' is not valid at the start of an entity name; the & character begins an entity; if this ampersand isn't supposed to be an entity, escape it as &
/usr/lib/ruby/1.8/rexml/encoding.rb: line 34
   Gtk-WARNING **:Failed to set text from markup due to error parsing markup: Error on line 1: Character ' ' is not valid at the start of an entity name; the & character begins an entity; if this ampersand isn't supposed to be an entity, escape it as &
/usr/lib/ruby/1.8/rexml/encoding.rb: line 34
   Gtk-WARNING **:Failed to set text from markup due to error parsing markup: Error on line 1: Character ' ' is not valid at the start of an entity name; the & character begins an entity; if this ampersand isn't supposed to be an en...

Revision history for this message
Philipp Kern (pkern) wrote :

gnome-art (0.2-7ubuntu1) gutsy; urgency=low

  * New Debian revision to fix LP: #60258.
  * Removed a whitespace before a bracket which caused Ruby to print a
    warning.

 -- Philipp Kern <email address hidden> Tue, 09 Oct 2007 03:08:22 +0200

Changed in gnome-art:
status: New → Fix Released
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.