[Solved] Mint 14 Cinnamon Orphaned/Zombie/Ghost Windows

Please post suggestions for improvement of Cinnamon here
https://github.com/linuxmint/Cinnamon

[Solved] Mint 14 Cinnamon Orphaned/Zombie/Ghost Windows

Postby cosminmstroe on Fri Dec 07, 2012 11:12 am

Hi,

There is a bug in Linux Mint 14 Cinnamon relating to windows that close very fast staying on the screen, as just a gray pane with the window border. Mouse events go through the window to the windows below. The orphaned window remains on top of everything. The only way to get rid of the window is to restart Cinnamon (alt+f2, r). It's very annoying when it happens, especially when it's an orphaned window in the middle of the screen.

The screenshot shows an orphaned window that's triggered by closing Eclipse. The Progress Information dialog window comes up is immediately closed, but it does not dissapear, it remains on the screen.

I can reproduce something like the above bug with the following python script, but it's curious that with the python script, the window border goes away, only the window contents stay.
Code: Select all
#!/usr/bin/env python

from gi.repository import Gtk

win = Gtk.Window()
win.connect("draw", Gtk.main_quit)
win.show_all()
Gtk.main()


This bug appeared before in Linux Mint 13, but I fixed it by applyin a patch to some of the internal files of Cinnamon. The patch was a discussion on a launchpad site I think, and I thought the patch would be applied to the codebase and the bug would be fixed, so I didn't save the link.

This bug was also discussed on the forums before:
http://forums.linuxmint.com/viewtopic.php?f=208&t=94973

I'm starting a new post because the old post had a non-descriptive title and seems to have been ignored. Any help with fixing this problem for good would be appreciated.
Attachments
orphaned-window.png
An orphaned (or zombie or ghost) window. Mouse events go through the window.
orphaned-window.png (190.41 KiB) Viewed 2643 times
Last edited by cosminmstroe on Mon Dec 10, 2012 10:02 am, edited 1 time in total.
cosminmstroe
Level 1
Level 1
 
Posts: 5
Joined: Thu Sep 29, 2011 5:10 am

Linux Mint is funded by ads and donations.
 

Re: Mint 14 Cinnamon Orphaned/Zombie/Ghost Windows

Postby cosminmstroe on Sat Dec 08, 2012 1:53 pm

A discussion on this issue is mentioned here:
https://github.com/linuxmint/Cinnamon/issues/1316

There's a fix mentioned to the windowManager.js, and I have downloaded it from this google doc link:
https://docs.google.com/file/d/0B6PIxZrfIvVhWW95R21RUzJFQzA/edit

To install the new windowManager.js, download it to your computer (File -> Download from the Google Doc). Once you have the windowManager.js downloaded somewhere, open a terminal in that directory and use the following:

Code: Select all
sudo mv /usr/share/cinnamon/js/ui/windowManager.js /usr/share/cinnamon/js/ui/windowManager.js.old
sudo mv windowManager.js /usr/share/cinnamon/js/ui
sudo chown root:root /usr/share/cinnamon/js/ui/windowManager.js


This backs up your old file, and puts the new one in its place, with the correct permissions.

Then you just restart Cinnamon with alt + f2.

So far, this seems to fix the problem with the Eclipse dialog, and running the python script does not create any orphaned window. So it seems to fix the problem.
cosminmstroe
Level 1
Level 1
 
Posts: 5
Joined: Thu Sep 29, 2011 5:10 am

Re: [Solved] Mint 14 Cinnamon Orphaned/Zombie/Ghost Windows

Postby genosensor on Tue Dec 25, 2012 12:52 am

Just wanted to Thank You! Great job!!

I'd been working around this problem for about a year now.
I had thought it might be a graphics driver issue on my Zotac 82 (Intel HD 3000, 16MB DRAM) box.
I'm running LMDE update package 6, but I'm pretty sure, that too, is irrelevant.

What more must we do to get this into the next release?
The problem is now easily demonstrable on a variety of hardware and there's a dirt simple test case.

Looking at the patch, I'm guessing that what triggers the bug might be whether the user has overridden the default window mapping/close animation options (aka "Desktop Effects")

I've got:
Closing windows: Fade, easeInSine over 250ms
Mapping windows: Scale, easeOutSine over 250ms
genosensor
Level 1
Level 1
 
Posts: 4
Joined: Tue Dec 25, 2012 12:33 am

Re: [Solved] Mint 14 Cinnamon Orphaned/Zombie/Ghost Windows

Postby cosminmstroe on Fri Dec 28, 2012 4:51 am

From the GitHub discussion it seems that the bug can still be reproduced when using the FadeOut effect even in the latest version. I will post to the thread after the holidays and see if the ball can get rolling on a fix.
cosminmstroe
Level 1
Level 1
 
Posts: 5
Joined: Thu Sep 29, 2011 5:10 am

Re: [Solved] Mint 14 Cinnamon Orphaned/Zombie/Ghost Windows

Postby mensfort on Sun Jan 27, 2013 6:46 am

Very nice solution!! thanks a lot!!

Also had this problem with Linux 14 today, it's really annoying. Every time I print something, have to do ps aux | grep cinnamon, then kill -9 <number>
Please add the lines quickly to the repository!
I hope Linux is usefull for my customers soon, since Linux 11 has other problems...
mensfort
Level 1
Level 1
 
Posts: 7
Joined: Sat Apr 28, 2012 9:39 am

Re: [Solved] Mint 14 Cinnamon Orphaned/Zombie/Ghost Windows

Postby nexus_2006 on Fri Aug 09, 2013 1:11 pm

Found this bug again running Mint 15 64bit, the orphaned window stayed around after closing eclipse.

I inserted the new version of windowManager.js, but cinnamon repeatedly crashed until I switched back to the old one. I made sure the new file had the same content as the google doc, that it was properly named, etc.

The files I have are about 100 lines different, its hard for me to spot differences. Can someone point out what the cause of the bug was so I can try to fix my file, or perhaps update the file available here? Feel free to contact me via PM.

EDIT*
Nevermind, I followed the github linked and mucked around a bit. Found ebbes' solution in comment 6297417 issue #340. Switched to the original (working) file, added this to the destroyWindow function:

Code: Select all
_destroyWindow : function(cinnamonwm, actor) {
        if (global.settings.get_boolean("desktop-effects")) {
            Tweener.removeTweens(actor);
        }
        [...]


Bug no longer present when tested with the python script. Hope this helps someone else, and makes it into the default distro sometime.
nexus_2006
Level 1
Level 1
 
Posts: 17
Joined: Fri Aug 09, 2013 1:05 pm


Return to Cinnamon

Who is online

Users browsing this forum: No registered users and 10 guests