Bug 708891 - if there is any file whose suffix is ".py" put in ~/.nautilus/python-extensions, nautilus crashes
Summary: if there is any file whose suffix is ".py" put in ~/.nautilus/python-extensio...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: nautilus-python
Version: 15
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Patrick Dignan
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 720647 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-05-30 03:34 UTC by Hong Xu
Modified: 2012-08-08 11:09 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2012-08-07 16:08:20 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
patch for updating spec to 1.0 (2.27 KB, patch)
2011-08-16 22:55 UTC, Mads Kiilerich
no flags Details | Diff

Description Hong Xu 2011-05-30 03:34:12 UTC
Description of problem:
if there is any file whose suffix is ".py" put in ~/.nautilus/python-extensions, restart nautilus would cause nautilus crashing

Version-Release number of selected component (if applicable):
nautilus-python-0.7.0-4.fc15.x86_64

How reproducible:
Everytime

Steps to Reproduce:
1. $ mkdir -p ~/.nautilus/python-extensions
2. $ touch ~/.nautilus/python-extensions/anything.py
3. $ nautilus -q
4. $ nautilus
  
Actual results:
nautilus crashes and the following message is printed:

Initializing nautilus-gdu extension
Initializing nautilus-open-terminal extension
Initializing nautilus-sound-converter extension
/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py:40: Warning: specified class size for type `PyGtkGenericCellRenderer' is smaller than the parent type's `GtkCellRenderer' class size
  from gtk import _gtk
/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py:40: Warning: g_type_get_qdata: assertion `node != NULL' failed
  from gtk import _gtk
Segmentation fault (core dumped)


Expected results:
nautilus start up successfully.

Comment 1 Hong Xu 2011-05-30 03:35:56 UTC
When there is no file in ~/.nautilus/python-extensions, nautilus boots up normally.

Comment 2 Alex Hudson (Fedora Address) 2011-06-08 12:45:09 UTC
I'm seeing this too.

I think the basic issue here is that the nautilus python extension is linked to Gtk+ 3:

$ ldd /usr/lib64/nautilus/extensions-3.0/libnautilus-python.so | grep gtk
	libgtk-x11-2.0.so.0 => /usr/lib64/libgtk-x11-2.0.so.0 (0x00007f0295dc9000)
	libgtk-3.so.0 => /usr/lib64/libgtk-3.so.0 (0x00007f02952f9000)

However, pygtk is still using Gtk+ 2. I can't imagine that trying to use both Gtk 2 and 3 in the same process space is going to work.

I don't know much about how python extensions are handled in nautilus: if they're a separate process, maybe the extension could be compiled against Gtk 2. If it's in-process I suppose this is basically busted for extensions which use Gtk until pygtk is using v3?

Comment 3 Hong Xu 2011-06-08 14:15:28 UTC
Although we don't know what's happening here, why not give it a try? Link the extension with gtk 2 and see whether it works fine.

Comment 4 Hong Xu 2011-06-10 02:08:07 UTC
nautilus-python 0.7 does not work on nautilus 3.0, we should upgrade to nautilus-python 1.0. 
http://git.gnome.org/browse/nautilus-python/log/?h=nautilus-3.0

Comment 5 Mads Kiilerich 2011-08-11 19:52:05 UTC
*** Bug 720647 has been marked as a duplicate of this bug. ***

Comment 6 Mads Kiilerich 2011-08-16 22:55:26 UTC
Created attachment 518568 [details]
patch for updating spec to 1.0

This patch updates to 1.0.

That seems to fix the crashes, and extensions works ... when they are updated to gtk3 and moved to /usr/share/nautilus-python/extensions.

Please update the F15 and F16 version ASAP. It is an API change, but the old API was apparently completely broken anyway.

Comment 7 Alec Leamas 2011-09-19 16:00:07 UTC
The spec file in comment 5 (thanks!) has some dependency problems and rpmlint issues. Seems that this will take some time (F16?). Meanwhile, temporary rpms can occasionally be found at http://mumin.dnsalias.net/leamas-repo. Grab the README to use. The package is called nautilus-python-10.

Comment 8 Fedora End Of Life 2012-08-07 16:08:22 UTC
This message is a notice that Fedora 15 is now at end of life. Fedora
has stopped maintaining and issuing updates for Fedora 15. It is
Fedora's policy to close all bug reports from releases that are no
longer maintained. At this time, all open bugs with a Fedora 'version'
of '15' have been closed as WONTFIX.

(Please note: Our normal process is to give advanced warning of this
occurring, but we forgot to do that. A thousand apologies.)

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, feel free to reopen
this bug and simply change the 'version' to a later Fedora version.

Bug Reporter: Thank you for reporting this issue and we are sorry that
we were unable to fix it before Fedora 15 reached end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora, you are encouraged to click on
"Clone This Bug" (top right of this page) and open it against that
version of Fedora.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

The process we are following is described here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 9 Mads Kiilerich 2012-08-08 11:09:37 UTC
Seems to work in f17 - with the extension folder moved to ~/.local/share/nautilus-python/extensions/


Note You need to log in before you can comment on or make changes to this bug.