As you can see from my last posts, I'm trying to learn how to perform a debug, and the infamous Cinnamon freeze seems ideal to me for such purpose because we found an easy way to trigger it.
The problem is that you have to install some debugging packages (those ended in "-dbg") to be able to locate certain things inside a source code. Most Ubuntu packages have their "-dbg" version so you can install them and have those debugging symbols, but both Cinnamon and Muffin have no "-dbg" package available.
The solution: rebuild Cinnamon and Muffin packages with DEB_BUILD_OPTIONS="noopt nostrip" as environment variable and then install those local recompiled packages (as explained here: http://jameswestby.net/tips/tips/compil ... debug.html).
Now the funny thing... once Muffin was recompiled and installed that way, THERE'S NO MORE FREEZE!!!
I couldn't believe it, so I re-installed the original (directly downloaded from Mint repos) binary Muffin packages and performed the "infallibly" freeze test, so I was completely sure nothing else was interferring. And yes, with the original binary packages the freeze happened as usual.
Then, recompiled Muffin from sources with just DEB_BUILD_OPTIONS="noopt", then installed and... no freeze at all!!!
I'm shocked. It can't be so easy.
So please, could somebody verify my findings?
Here the whole procedure (asuming you have an "untouched" Maya+Cinnamon 32bit installation, no patches and no ppa packages installed):
1- Do a "gksu gedit /etc/apt/sources.list" and modify that file to be able to get the source packages:
Code: Select all
deb http://packages.linuxmint.com/ maya main upstream import
deb-src http://packages.linuxmint.com/ maya main upstream import
deb http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ precise-security main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu/ precise-security main restricted universe multiverse
deb http://archive.canonical.com/ubuntu/ precise partner
deb http://packages.medibuntu.org/ precise free non-free
#deb http://archive.removed/ubuntu precise-removed apps
#deb http://archive.removed/ubuntu precise-removed games
3- Then install the development tools:
Code: Select all
sudo apt-get install build-essential fakeroot dpkg-dev devscripts
Code: Select all
sudo apt-get build-dep muffin
Code: Select all
apt-get source muffin
Code: Select all
cd muffin-1.0.3
export DEB_BUILD_OPTIONS="noopt"
dpkg-buildpackage -rfakeroot -uc -us
Code: Select all
cd ..
sudo dpkg -i *.deb
By the way, using the recompiled Muffin you will notice some minor glitches (Cinnamon's menu becomes kind of "lazy"), you can avoid them this way:
- Execute the following command at a terminal:
Code: Select all
gksu gedit /etc/environment
Code: Select all
CLUTTER_PAINT=disable-clipped-redraws:disable-culling