goodmind / sunflower-fm

Automatically exported from code.google.com/p/sunflower-fm
GNU General Public License v3.0
1 stars 0 forks source link

Properties on files or directories make python 2.7 CPU 100% #325

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. I am on OpenSuse 12.1 with XFCE
2. I try to look at properties on a file or directory
3. Everything else working fine

What is the expected output?

The file and/or directory properties

 What do you see instead?

After a (very) long time, the properties appears.

What version of the product are you using? On what operating system?
sunflower-0.1a.56-1.noarch.opensuse.rpm on OpenSuse 12.1 with XFCE

Please provide any additional information below.

When i lunch sunflower i have these messages :
######:~> sunflower 

/usr/share/sunflower/application/gui/preferences/terminal.py:92: GtkWarning: 
Failed to set text from markup due to error parsing markup: Erreur à la ligne 
4, caractère 67 : L'élément « small » a été fermé, mais l'élément 
actuellement ouvert est « i »
  label_note.set_use_markup(True)
/usr/share/sunflower/application/gui/preferences_window.py:125: GtkWarning: 
Failed to set text from markup due to error parsing markup: Erreur à la ligne 
4, caractère 67 : L'élément « small » a été fermé, mais l'élément 
actuellement ouvert est « i »
  self.add(vbox)
/usr/share/sunflower/application/accelerator_group.py:81: GtkWarning: 
IA__gtk_accel_group_connect: assertion `accel_key > 0' failed
  self._accel_group.connect_group(keyval, modifier, 0, self._handle_activate)

And when i Kill the python2.7 process :

Failed running with python2.7

Feel free to ask for more tests or messages.
I also could make sunflower more verbose if you know how to do that.

Thanks,

Jacques-Olivier

Original issue reported on code.google.com by jacques....@gmail.com on 7 Oct 2013 at 12:39

GoogleCodeExporter commented 9 years ago
Thanks for reporting this issue. Can you answer the following questions:

1. When does the CPU usage spike, during normal use or only when opening 
file/dir properties?
2. Does this issue happen when opening properties on specific files or any 
file/dir in general?
3. What is the underlying file system?
4. Did you upgrade to 0.1a-56 from a previous version or this is the first one 
you installed?

Original comment by MeanEYE.rcf on 7 Oct 2013 at 12:44

GoogleCodeExporter commented 9 years ago
Hi,

Thank you to answer that quickly.

1 : At normal usage CPU is also at 100%
2 : I have tested on several files / directories, it always freeze.
3 : No it's a new install.

Original comment by jacques....@gmail.com on 7 Oct 2013 at 1:07

GoogleCodeExporter commented 9 years ago
Which file system are you using?

Original comment by MeanEYE.rcf on 7 Oct 2013 at 2:50

GoogleCodeExporter commented 9 years ago
ext4

Original comment by jacques....@gmail.com on 7 Oct 2013 at 2:55

GoogleCodeExporter commented 9 years ago
Hi,

Today i also reproduce the bug only with right-click without clicking on 
properties. 

Original comment by jacques....@gmail.com on 8 Oct 2013 at 8:20

GoogleCodeExporter commented 9 years ago
Do you have any other python installed?

Original comment by MeanEYE.rcf on 8 Oct 2013 at 8:24

GoogleCodeExporter commented 9 years ago
All python* installed :

i | dbus-1-python            | Python bindings for D-Bus                        
                       | paquet
i | gimp-plugins-python      | The GNU Image Manipulation Program - python-gtk 
based plugins           | paquet
i | libpeas-loader-python    | GObject-based Plugin Engine - Python runtime 
loader                     | paquet
i | libpyglib-gi-2_0-python0 | Python Gobject Introspeciton binding             
                       | paquet
i | libpython2_7-1_0         | Python Interpreter shared library                
                       | paquet
i | libxml2-python           | Python Bindings for libxml2                      
                       | paquet
i | python                   | Python Interpreter                               
                       | paquet
i | python-Beaker            | A Session and Caching library with WSGI 
Middleware                      | paquet
i | python-Louie             | Signal dispatching mechanism                     
                       | paquet
i | python-Mako              | A super-fast Python templating language          
                       | paquet
i | python-MarkupSafe        | Implements a XML/HTML/XHTML Markup safe string 
for Python               | paquet
i | python-Twisted           | An asynchronous networking framework written in 
Python                  | paquet
i | python-base              | Python Interpreter base package                  
                       | paquet
i | python-bonobo            | Python bindings for Bonobo                       
                       | paquet
i | python-cairo             | Python Bindings for Cairo                        
                       | paquet
i | python-coherence         | Python implementation of the UPnP specification  
                       | paquet
i | python-cups              | Python Bindings for CUPS                         
                       | paquet
i | python-cupshelpers       | High-level Python Bindings for CUPS              
                       | paquet
i | python-distribute        | Easily download, build, install, upgrade, and 
uninstall Python packages | paquet
i | python-gconf             | Python bindings for GConf                        
                       | paquet
i | python-gdata             | Python library to access data through Google 
Data APIs                  | paquet
i | python-gnome             | Python bindings for GNOME                        
                       | paquet
i | python-gnomecanvas       | Python bindings for libgnomecanvas               
                       | paquet
i | python-gnomekeyring      | Python bindings for GNOME Keyring                
                       | paquet
i | python-gnomevfs          | Python bindings for GNOME-VFS                    
                       | paquet
i | python-gobject           | Python bindings for GObject                      
                       | paquet
i | python-gobject-cairo     | Python bindings for GObject -- Cairo bindings    
                       | paquet
i | python-gobject2          | Python bindings for GObject                      
                       | paquet
i | python-gstreamer-0_10    | Python Bindings for GStreamer                    
                       | paquet
i | python-gtk               | Python bindings for the GTK+ widget set          
                       | paquet
i | python-kde4              | Python bindings for KDE 4                        
                       | paquet
i | python-kdebase4          | Python bindings for KDE 4 desktop shell          
                       | paquet
i | python-notify            | Python bindings for libnotify                    
                       | paquet
i | python-numpy             | NumPy array processing for numbers, strings, 
records and objects        | paquet
i | python-orbit             | Python bindings for ORBit                        
                       | paquet
i | python-pam               | Python bindings for PAM                          
                       | paquet
i | python-pyOpenSSL         | Python wrapper module around the OpenSSL library 
                       | paquet
i | python-pycurl            | PycURL -- cURL library module                    
                       | paquet
i | python-pyserial          | Python Serial Port Extension                     
                       | paquet
i | python-qt4               | PyQt - python bindings for Qt 4                  
                       | paquet
i | python-satsolver         | Python bindings for sat solver                   
                       | paquet
i | python-simplejson        | Simple, fast, extensible JSON encoder/decoder 
for Python                | paquet
i | python-sip               | SIP tool to use python sip bindings              
                       | paquet
i | python-smbc              | Python bindings for samba clients (libsmbclient) 
                       | paquet
i | python-urlgrabber        | A high-level cross-protocol url-grabber          
                       | paquet
i | python-vte               | Terminal Emulator Library -- Python Bindings     
                       | paquet
i | python-xdg               | Python library to use freedesktop.org 
specifications                    | paquet
i | python-xlib              | Python X11 interface                             
                       | paquet
i | python-xml               | A Python XML Interface                           
                       | paquet
i | python-zope.interface    | Interfaces for Python                            
                       | paquet
i | rpm-python               | Python Bindings for Manipulating RPM Packages    
                       | paquet

Original comment by jacques....@gmail.com on 8 Oct 2013 at 8:37

GoogleCodeExporter commented 9 years ago
Can you save the following to a python file and run it:

    import signal
    import gtk

    signal.signal(signal.SIGCHLD, lambda *args: None)
    gtk.main()

Tell me if CPU spikes.

Original comment by MeanEYE.rcf on 8 Oct 2013 at 9:02

GoogleCodeExporter commented 9 years ago
I made a test.py file and run with python test.py.
No cpu charge.

Original comment by jacques....@gmail.com on 8 Oct 2013 at 11:48

GoogleCodeExporter commented 9 years ago
Hi,

Is there anything else i could try ?

Original comment by jacques....@gmail.com on 9 Oct 2013 at 9:38

GoogleCodeExporter commented 9 years ago
What I am finding strange is that everything is causing CPU jump even when 
Sunflower is not doing anything. Basically PyGTK applications work in a way 
where you create UI and then connect callbacks. GTK is doing all the work until 
your program has to handle some signal. 

Sunflower is not suppose to take 100% of CPU when showing a popup menu. 
Can you execute this and give me the output:

python -c "import gtk; print gtk.ver"

Original comment by MeanEYE.rcf on 9 Oct 2013 at 12:29

GoogleCodeExporter commented 9 years ago
The answer is : (2, 28, 6)

Original comment by jacques....@gmail.com on 14 Oct 2013 at 7:33

GoogleCodeExporter commented 9 years ago
Any other Python based programs that have this issue?

Original comment by MeanEYE.rcf on 16 Oct 2013 at 8:59

GoogleCodeExporter commented 9 years ago
Hi. Sorry for neglecting this issue for so long. Can you tell me if this issue 
is still present and if so can you answer the following questions:

1. What's the number you get by running this command: ls -l 
~/.local/share/applications/ | wc -l
2. Which icon theme you are using
3. During the high CPU use are controls in window properly updated (drawn)?

Thanks!

Original comment by MeanEYE.rcf on 18 Feb 2014 at 9:19