linuxmint / cinnamon

A Linux desktop featuring a traditional layout, built from modern technology and introducing brand new innovative features.
GNU General Public License v2.0
4.48k stars 728 forks source link

Cinnamon Freezing Metabug #4072

Open mtwebster opened 9 years ago

mtwebster commented 9 years ago

In an effort to solve issues many users are having, I'm creating this issue to try to keep everything together and easy to manage, and will be closing other reports. Please read through this entirely before actually doing anything.

Please keep this civil and to the point. I'm not interested in commentary, complaints, threats, FUD or anything else unhelpful. I will remove or edit such posts.
If you wish to paste logs - anything more than a line or two, please use a pastebin service. This stuff is much easier to read there, and keeps this issue from becoming enormous.

General

If you are affected by freezes in Cinnamon, I ask that you report the following:

  1. What are you doing when it manifests? (nothing, playing on Steam, alt-tabbing, expo, random, etc...
  2. How do you resolve it? Reboot, or switch to tty and back again, or...
  3. Your cpu type and whether you're running 32- or 64-bit
  4. Your gpu type

    Testing

Install the following packages - note, these are only if you're running stable cinnamon from the repos (2.4.8) - nightlies already include the fix I'm testing here. As data is collected, I may publish updated packages containing more fixes. Install all level 1, 2, and 3 updates before doing this.

32-bit: https://dl.dropboxusercontent.com/u/8201170/cinnamon_2.4.8_i386.deb https://dl.dropboxusercontent.com/u/8201170/cinnamon-dbg_2.4.8_i386.deb https://dl.dropboxusercontent.com/u/8201170/cinnamon-common_2.4.8_all.deb

64 bit: https://dl.dropboxusercontent.com/u/8201170/cinnamon_2.4.8_amd64.deb https://dl.dropboxusercontent.com/u/8201170/cinnamon-dbg_2.4.8_amd64.deb https://dl.dropboxusercontent.com/u/8201170/cinnamon-common_2.4.8_all.deb

Do not install these using the graphical installer. Instead, download all three packages to a folder, go to that folder in a terminal, and run:

sudo dpkg -i *cinnamon*.deb

Try to reproduce the problem in the default environment. This is to attempt to have everyone test under the same controlled conditions. I'm not condemning 3rd party applets, desklets and extensions, I'm merely trying to get to the core problems. If it turns out there are issues with 3rd party applets, we'll work with those developers if possible, and within Cinnamon, to mitigate them. For now, I'm looking for consistent data.

A fairly simple way to create a temporary test environment is to do the following:

open a terminal:

dconf dump /org/cinnamon/ > mysettings
dconf reset -f /org/cinnamon/

I recommend logging out and back in at this point, before continuing - depending on your system, it may freeze for a moment, or even require a reboot. Make sure you have nothing unsaved before doing this. This is nothing to be alarmed about.

Now, attempt to reproduce the issue.

Once you're done, to restore all your settings:

dconf load /org/cinnamon/ < mysettings

Again, you should log out and back in (Cinnamon may freeze at this point, just as mentioned above, as you're sending a fairly enormous jolt of changes to it at once - again, this is nothing to be concerned with)

Attempt to reproduce once more.

If there is a change in behavior (something in your settings apparently is the cause), I'd ask that you share your 'mysettings' file - please use a pastebin/dpaste service to do so, and share the link.

One last bit of data I'd like, if you've installed those test packages, is one line from your ~/.xsession-errors file:

St-Message: cogl npot texture sizes SUPPORTED

or:

St-Message: cogl npot texture sizes NOT supported

If you wish to revert back to stable packages afterward, you should be able to simply update through the Update Manager.

If you have any questions or issues don't hesitate to voice them, or I can be contacted on Spotchat irc in #linuxmint-dev channel (I'm always there, though not always available - just be patient)

Thank you in advance for all your patience, understanding, and effort.

plaa commented 9 years ago

I've been facing the problem for some time now (Lenovo Thinkpad T430s, Linux Mint 17.1 64-bit, Intel graphics controller driver=i915). I recently upgraded to 2.4.8 from the repos, and had the freeze occur today, so I still have the issue. I'm now installing your packages and will report if I get the freeze again.

Freezing has occurred totally randomly while at work (typically when docked to an external monitor - I don't recall having freezes undocked). The frequency varies a lot. Originally I typically had 1-2 freezes per day, then it when up to a dozen or more per day for a couple of weeks, and for the past week or so it's been very rare - no idea why. I can fix a freeze either by switching to another terminal / desktop and back, or by undocking my laptop (which changes the resolution as well).

Since I don't know how to reproduce the problem, I'll report back if I have a freeze with the new packages. If you don't hear anything from me, you can assume the new packages have fixed (or at least alleviated) the problem. (I use the laptop for my work, so I'm not comfortable switching to default settings - sorry.)

Thanks for trying to resolve this issue!

plaa commented 9 years ago

I'm unable to install the packages on Mint 17.1. cinnamon depends on libcjs0e (>= 2.5.0), however the latest version in the repos is 2.4.2. Any suggestions?
dpkg output: http://pastebin.com/RwjurGGA

mtwebster commented 9 years ago

Ack - I goofed. I've updated the packages at the links above - re-download and try again.

Sorry!

plaa commented 9 years ago

Thanks, I've now updated the packages and will shout if I still have freezes.

matthijsmelissen commented 9 years ago

What are you doing when it manifests? (nothing, playing on Steam, alt-tabbing, expo, random, etc...

Alt-tab. It does not occur on every alt-tab though.

How do you resolve it? Reboot, or switch to tty and back again, or...

killall -HUP cinnamon from tty resolves it, simply going to tty and back does not.

Your cpu type and whether you're running 32- or 64-bit

Intel(R) Core(TM) i5-3317U CPU @ 1.70GHz on 64-bit linux

Your gpu type

Not sure where to find this, is this the right information?

VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller]) Subsystem: ASUSTeK Computer Inc. Device 10fd

The issue seems to occur mainly (or only?) when I'm running Skype, so that might be related?

This is before installing the packages above. I now installed the packages, and will report back if the issue reoccurs.

If you wish to revert back to stable packages afterward, you should be able to simply update through the Update Manager.

What do you mean exactly by that? Does it mean I should off updating through the Update Manager for now as it would overwrite the installation of the installed packages?

mtwebster commented 9 years ago

GPU info is fine - as far as updates, the update manager will see these manually installed packages as of a lesser version than what it offers, so if you blindly update, it will replace these packages. If you find this patch works for you, you can add 'cinnamon' to ignored updates temporarily (right-click on the cinnamon entry, click ignore). When you want to upgrade it eventually (like if we release a new official version), you can then edit your ignored packages list and remove cinnamon.

mikkovedru commented 9 years ago

Linux Mint 17.1 Cinnamon 64-bit. Version 2.4.8. Kernel: 3.13.0-35-generic. Processor: Intel Core i7-4790K @ 4.00GHz x 4. RAM: 7.8GB. Nvidia GeForce GTX 650 (Driver: Nvidia 340.29).

It seems that it can happen anytime. CPU/GPU working/idle. Playing a game, watching a movie, doing nothing. Freezes anywhere from 2 times a day to 1 time a week.

The new information, that will surely help you, is that it freezes only on my second monitor!

I have two monitors. Main = main, secondary for task-manager, temperature monitor, playing movies, copy/extract dialogs, some programs. So only action on the second monitor freezes - never on the main monitor. All the background programs are still working fine: for example I can still pause the video (audio) playing on the second monitor - by using both a keyboard and a mouse. I can see the mouse cursor, but not anything besides that. The funny thing is that cursor works 100% as normal, it even changes according to what action I attempt on the invisible windows on the background.

So everything seems to work on the background, except for the video output on the second monitor (except the mouse cursor).

I fix the problem by going to the "Display" settings, disabling the second monitor and then enabling it again. Not a big deal, except that all the windows go and stay on the first monitor, and I have to reorganize them again. Another funny thing is that the second monitor starts working even if I go to settings, disable the second monitor, but then say that I am not satisfied and want everything to be returned back.

nkoropoff commented 9 years ago

If I tell update manager to ignore the cinnamon package, it still tries to force the install of the official version along with any other package available to update like apt, compiz, or wpa.

leigh123linux commented 9 years ago

@mtwebster Just added a few thousand Guinea pig's (all F20 - F23 users).

http://pkgs.fedoraproject.org/cgit/cinnamon.git/commit/?id=54083015a4d6491237a00620a508d7af1a5eb381

mtwebster commented 9 years ago

@nkoropoff Ah you probably should have brought your system up-to-date prior to installing (lvl 1, 2, 3) - you can update, let it do its thing, then just re-install those packages.

peterhorsley commented 9 years ago

// UPDATE: After replacing my power supply, the PC no longer freezes, so it looks like in my case it was a faulty power supply, sorry.

In the past few weeks, my Mint 17 box has been freezing (screen, keyboard, mouse) with only option to hold power button to reset. To rule out HDD first, I took an image and restored it on a new disk (SSD). Now I can reproduce the feeze every boot - it happens right when the login screen is about to appear - i.e. when the video mode is changed. Sometimes I will see the UI with the login box (but everything is frozen), sometimes I'll just see blank screen with an unmovable mouse cursor. Previously, it would freeze on the login screen, or any amount of time thereafter, but now I can't even log in. I have also switched graphics cards to no effect.

What are you doing when it manifests? - Waiting for login screen to appear.
How do you resolve it? - Hold power button.
Your cpu type and whether you're running 32- or 64-bit - AMD CPU 64bit
Your gpu type - Gigabyte (AMD) cards, tried two.

Any suggestion as to what logs I can attach (e.g. via recovery shell) to help? my /var/log/Xorg.0.log is 0 bytes.

nkoropoff commented 9 years ago

I have been running the above 64-bit test packages for a week now and have not been able to experience a single freeze so far. The first day was running a default cinnamon environment and then my customized one. Will continue testing but so far it has been very stable for me.

plaa commented 9 years ago

I've also been running the 64-bit packages for a week now (customized environment) and haven't experienced any freezes.

ghost commented 9 years ago

I have not any freeze now(while running), but i have some freeze when i try to restart cinnamon. Apparently the cause is the gnome background manager, in this case. If i put a let on the variables not fix the freeze. So, this would not be related with this bugs, but as is a type of freezed, in charge here, to not create chaos.

Cjs-Message: JS LOG: About to start Cinnamon St-Message: cogl npot texture sizes SUPPORTED Window manager warning: Trying to remove non-existent custom keybinding "magnifier-zoom-in". Window manager warning: Trying to remove non-existent custom keybinding "magnifier-zoom-out". Cjs-Message: JS LOG: Cinnamon started at Mon May 04 2015 18:21:27 GMT-0500 (CDT) Cjs-Message: JS LOG: network applet: Cannot find connection for active (or connection cannot be read) (3 lines of this) Cjs-Message: JS LOG: GSettings key not found. schema: org.cinnamon, key: window-list-applet-alert

Cjs-Message: JS WARNING: [/usr/share/cinnamon/js/ui/backgroundManager.js 38]: assignment to undeclared variable somethingChanged Cjs-Message: JS WARNING: [/usr/share/cinnamon/js/ui/backgroundManager.js 40]: assignment to undeclared variable key Cjs-Message: JS WARNING: [/usr/share/cinnamon/js/ui/backgroundManager.js 41]: assignment to undeclared variable value Cjs-Message: JS WARNING: [/usr/share/cinnamon/js/ui/backgroundManager.js 42]: assignment to undeclared variable newValue (5 lines of this) Window manager warning: Trying to remove non-existent custom keybinding "magnifier-zoom-in". Window manager warning: Trying to remove non-existent custom keybinding "magnifier-zoom-out".

Edit: After some minutes (1-3) cinnamon appeared how is nothing occurs, and it never freeze if i not restart cinnamon. Also this not occurs all times and aparently is relate with the size of the .xsession-errors file.

dalcde commented 9 years ago

On Tue, May 05, 2015 at 05:10:05AM -0700, Lester Carballo Pérez wrote:

Cjs-Message: JS WARNING: [/usr/share/cinnamon/js/ui/backgroundManager.js 38]: assignment to undeclared variable somethingChanged Cjs-Message: JS WARNING: [/usr/share/cinnamon/js/ui/backgroundManager.js 40]: assignment to undeclared variable key Cjs-Message: JS WARNING: [/usr/share/cinnamon/js/ui/backgroundManager.js 41]: assignment to undeclared variable value Cjs-Message: JS WARNING: [/usr/share/cinnamon/js/ui/backgroundManager.js 42]: assignment to undeclared variable newValue

This is fixed in Cinnamon git

ghost commented 9 years ago

@dalcde the let of the variables, is not the cause of the freeze, i also fixed this to test what happens. Is also fixed the froze on restart? I think is the gnome background manager, because when cinnamon froze this error appears, otherwise not. So, this is why i think is the gnome background manager the cause of this. I see all that you made, especially in center the panel (right panel behavior). Thanks.

dalcde commented 9 years ago

@dalcde the let of the variables, is not the cause of the freeze, i also fixed this to test what happens. Is also fixed the froze on restart? I think is gnome background manager, because when cinnamon froze this error appears, otherwise not. So, this is why i think is gnome background manager the cause of this. I see all that you made, especially in center the panel (right panel behavior). Thanks.

Correlation does not imply causation. In this case, I heavily doubt it is related to the background manager (also, why are you calling it gnome background manager?).

The errors are due to broken code in backgroundManager.js, which is called whenever a gsettings changed:: signal is emitted and the background manager reacts. I suspect it is the changed:: signal that causes the freeze (or whatever caused the changed:: signal to be fired)

ghost commented 9 years ago

org.gnome.desktop.background is not who emit the signal? I'm not sure what caused the frozen, as i say: i THINK is... In all case will be a place to see.

dalcde commented 9 years ago

There is no gnome background manager afaik. It's just a gsettings schema. Gsettings is known to randomly fire changed:: signals when nothing has changed during startup etc.

can you try to log what specific keys are being changed? Gsetting passes the key to the function as an argument, and you should be able to global.log that.

ghost commented 9 years ago

Ok, thanks for the explanation... I will reported the key when i found it more that 3 times, could be different keys, so i will wait to get more than 3 time the same. Thanks.

ghost commented 9 years ago

ok, i can not way for 3 times after see all this, there are a lot of keys: Cjs-Message: JS LOG: Error on Cinnamon restart on key: picture-opacity Cjs-Message: JS LOG: Error on Cinnamon restart on key: secondary-color Cjs-Message: JS LOG: Error on Cinnamon restart on key: show-desktop-icons Cjs-Message: JS LOG: Error on Cinnamon restart on key: primary-color Cjs-Message: JS LOG: Error on Cinnamon restart on key: color-shading-type Cjs-Message: JS LOG: Error on Cinnamon restart on key: picture-options Cjs-Message: JS LOG: Error on Cinnamon restart on key: picture-uri Cjs-Message: JS LOG: Error on Cinnamon restart on key: draw-background

ghost commented 9 years ago

I think that the org.gnome.desktop.background is connected to the signal faster, where the stage is not ready and this is the cause, of the freeze https://github.com/linuxmint/Cinnamon/blob/d9e95ec37570b870dd22fa46e2e6629ee045e22a/js/ui/main.js#L294

Signals need to be connected to the last as possible.

dalcde commented 9 years ago

try deleting that line entirely and see if Cinnamon still freezes.

ghost commented 9 years ago

Line removed, 30 restart without frezed... I can not be sure of nothing, because this occurs random, but aparently: // this._gnomeSettings.connect('changed', Lang.bind(this, this._onGnomeSettingsChanged)); fix the problem, so, the signal is called faster, when cinnamon is not ready.

ghost commented 9 years ago

I enable the line and then move the backgroundManager creation to the end, after several restart, the signal is not emitted, i try to call this function directly for an applet in this situation, i called the function in the applet init and i get an error, background Manager = null(as i move this to the end, applets now are init first) but i can called from an asynchronous function and nothing happens, the function is working ok...

nkoropoff commented 9 years ago

It has now been two weeks running with the 64-bit test packages without any freezes experienced. Prior to this I had never experienced going more than 7 days without having cinnamon freeze on me. Looks good to me.

matthijsmelissen commented 9 years ago

I installed the program, and after that accidentally upgraded Cinnamon and overwrote the changes. This was about two weeks ago. I have not had any crashes in the meanwhile either.

I think this can mean one of three things:

ghost commented 9 years ago

@dalcde with the last configuration (background at the end of the function), I receive only one time the signal on all this time, the result was catastrophic, cinnamon could not complete the restart, and i need to reset my computer (hardware reset). In the xsession-errors.old i get a not unicode characters like this: \00\00\00\00\00\00\00\00 I don' t know what this mean. I think, will be helpful manually emit the org.gnome.desktop.background signal to see what is the real repercussion of this. Could be that really occurs a problem with the background when the desktop is loaded and this will be a way to "save" cinnamon. I really don't know, apparently is more complicate than a bug of one step.

nkoropoff commented 9 years ago

@math1985 I think you may have been lucky. I upgraded back to the released packages and had a freeze within 24 hours. I have now put the test packages back in.

plaa commented 9 years ago

Now 16 days freeze-free. :-)

matthijsmelissen commented 9 years ago

I upgraded back to the released packages and had a freeze within 24 hours.

Do you have everything upgraded, including the latest Kernel the Update Manager suggests? I'm also still freeze-free without the package for some weeks..

matthijsmelissen commented 9 years ago

Installing the program and upgrading (uninstalling) afterwards left some permanent changes on my computer - I'm not sure if this is possible?

Sorry for my ignorance, but could someone tell me whether it's possible that installing the package and subsequently upgrading to the current version leaves any changes on my system?

nkoropoff commented 9 years ago

I am not at the very latest kernel per Update manager but all other packages particularly video are the latest.

bunyaminaktas commented 9 years ago

1 - It usually happens when using VLC and Firefox, especially when I try to use network-manager applet. 2 - When it freezes, nothing works. I reboot the machine. 3 - Intel i5-4200H, 64-bit. 4 - Intel HD Graphics and NVIDIA GTX 850M

I had this problem with the previous Cinnamon version and I upgraded it to Cinnamon 2.5.0. And I used this version while testing.

I atempted to reproduce the issue twice. At first, display was freshed. But at second, nothing happened. Here is 'mysettings' file: http://dpaste.com/32TKAXX

St-Message: cogl npot texture sizes SUPPORTED

nkoropoff commented 9 years ago

3 weeks without a freeze on the test packages. I did revert to the production packages and had a freeze in less than a day so I returned to the test packages and no issues.

With the production cinnamon, I encountered both the perpetual and momentary freezes described below by jonorthwash. The perpetual freeze I resolved by switching to tty and then back to cinnamon. With the test packages, I do not see the momentary or perpetual freezes.

CPU type: Intel i7-4600U, 64-bit Linux Mint 17.1 Graphics: Intel HD 4400 St-Message: cogl npot texture sizes SUPPORTED

jonorthwash commented 9 years ago

I've been using a version from git from about 3 weeks ago for about 3 weeks. I never had the permanent freezes others report, but I did have perpetual frequent momentary freezes and slow (>5 seconds) gtk3 window closing, as well as inexplicable gradually increasing system load (and the various side effects of this) when running cinnamon for days or weeks, and eventual system shutdown. I have not been getting the gradually increasing system load or the eventual system shutdowns since the upgrade, but am still getting the perpetual momentary freezes and slow gtk3 window closing. A full report with the requested info will follow shortly.

jonorthwash commented 9 years ago

Perpetual/frequent momentary freezes

  1. It appears to always be occurring. I notice it when there is something changing on the screen, such as a window moving, a stream of text appearing as a type, or video.
  2. I know of no way to resolve it. It used to be that the freezes got longer the longer I was running cinnamon, in which case restarting cinnamon helped, but for now they are remaining relatively short and restarting cinnamon doesn't seem to change their length.

Slow gtk3 window closing, everything else freezes in the meantime

  1. It manifests when I close various windows, especially gtk3 applications (gedit, evince) and libreoffice. The freeze seems to be longer if I have more text/pages in the buffer/whatever.
  2. I know of no way to resolve it.

    General info

  3. CPU type: Intel i5 4300U, 64-bit debian
  4. Intel 4400

I remember being told that the ~/.xsession-errors message appears elsewhere in debian, but I don't remember where, so can't currently find the message.

wrouesnel commented 9 years ago

So is it possible some of it is this: https://groups.google.com/forum/m/#!topic/mechanical-sympathy/QbmpZxp6C64

Futexes causing lockups on Haswell processors post kernel 3.14...

matthijsmelissen commented 9 years ago

Not likely, it seems most of us are on 3.13.

jonorthwash commented 9 years ago

I'm on 3.14.7.

nkoropoff commented 9 years ago

When this issue first came up after I upgraded to Mint 17.1 I tried many iterations of kernel. It made no difference with the freezes. When I switched to using Mate I no longer had freezes running on the same kernel levels that would freeze with Cinnamon. Only the Cinnamon test packages or the nightly 2.5 builds seemed to have eliminated the freezes.

jimmynavio commented 9 years ago

I installed the 64-bit test packages provided above and haven't had a single crash in days. Before I was having multiple crashes every day. Lookin good!

oXis commented 9 years ago

Hi, I have the same freezing problem when my Android (CM11) is plugged in. When I unplug the phone, cinnamon goes normal again. I hope this info may help. Cinnamon 2.4.8

abdupattoh commented 9 years ago

I can't install the test packages at this time - too much work and travelling, but I vote with Oxis on freezes when I plug in my Android phone, so now I just avoid it.

Morlok8k commented 9 years ago

Question. Are these cinnamon 2.4.8 packages the same as the cinnamon 2.4.8 packages that are currently in the repos?

mtwebster commented 9 years ago

They contain one additional patch compared to the repo versions. The version is kept the same to make it easy to revert in the case of problems (an update will reinstall the repo version.)

yellabelly commented 9 years ago

I've always had a freeze issue with Cinnamon initially on Ubuntu and now in Mint 17.1. I have Mint 17.1 on another machine that never hits the problem. The machine with the freezing has dual monitors.

  1. anything might trigger it. often over VNC
  2. kill and restart the cinnamon process, from ssh or CTRL+ALT+F1 usually does the trick - might take a few minutes to come back to life
  3. 64 bit version - Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz
  4. AMD/ATI RV710/730 HDMI Audio [Radeon HD 4000 series] I've just installed the patch to replace 2.4.8+rebecca, update manager wants to put back 2.4.8+rebecca which I assume I keep ignoring.
ghost commented 9 years ago

@yellabelly I not consider this a big problem to normal user, but is a big one for devs. I can not develop anything in this state. 5 minutes making a code and 5 minutes waiting for a cinnamon restart. I'm try to find the cause, but is complex. Also i think was fixed by @mtwebster, but not. Is better now, but continues occurring.

mtwebster commented 9 years ago

@lestcape do you have a second PC you can debug from? See https://github.com/linuxmint/Cinnamon/wiki/How-to-use-GDB-to-gather-debug-information-on-a-program#debugging-cinnamon

A trace during the freeze would be invaluable. Attach the debugger, type c to continue the cinnamon process. Use it until the freeze occurs, then ctrl-c in the debugger, and then thread apply all bt

ghost commented 9 years ago

@mtwebster I have not a seconds PC, this not occurs always, so i need to wait for this. When occurs, then will be occur several times, and a complete restart apparently can help. I will try to get the trace. Thanks.