This week-end, I wanted to edit a chestnut image, to put some brightness on this blog (and I love doing chestnut things). So, I fired up cooker's gimp. But I didn't really expect this marathon...
First, gimp 2.317 is not really usable, as explained on the release notes, mainly because of a segfault on selection copy. So, I backported revision 22643 patch from Gimp, and rebuilt the package. It still again. After the backport of several more patches that make proper use of g_slice, gimp still failed to run properly.
But this time, it was because of a mysterious Xlib error. On IRC, Liam pointed me to an upstream report that incrimates Xlib. The crash appearing in the latest 1.1.2 libX11 release.
So, I had to run a bisection on about 24 commits. I did that by rebuilding a snaphost of each revision and the rpm package (adding automake -a and autoheader calls to build from raw tarball).
$ git clone git://anongit.freedesktop.org/git/xorg/lib/libX11 $ cd libX11/ $ git-bisect start $ git-bisect bad $ git bisect good libX11-1.1.1 # (note to self, do not forget the trailing slash in prefix...) $ git archive --format=tar --prefix=libX11-1.1.2/ f93849dcc68bd5042ea0884e5190dc7c35b31d68 | bzip2 > /home/blino/vc/mandriva/packages/cooker/libx11/SOURCES/libX11-1.1.2.tar.bz2 $ git bisect good f93849dcc68bd5042ea0884e5190dc7c35b31d68 # try next suggested commit $ git archive --format=tar --prefix=libX11-1.1.2/ 95523387d619af5b400748898d722e080b5ce1a6 | bzip2 > /home/blino/vc/mandriva/packages/cooker/libx11/SOURCES/libX11-1.1.2.tar.bz2 $ git bisect bad 95523387d619af5b400748898d722e080b5ce1a6 # and so on... $ git bisect good 605d357074d556a05a3fba2e85cbea36a3204248 a48386ce6b5f8fd2d9dc11a966c9bf5da59f3831 is first bad commit commit a48386ce6b5f8fd2d9dc11a966c9bf5da59f3831 Author: Magnus Kessler <Magnus.Kessler@gmx.net> Date: Tue May 1 15:20:08 2007 +0200 Switched function definitions from K&R to ANSI style. :040000 040000 78bcf3e9c54ff02d77c2e590e10d36bbe00610b4da6cdb57564533f1084b2ea2b9888c12884b151e M src
Unfortunately, this "codestyle" patch was about 3000 lines long, let's go for another bisection round...
$ git log -p a48386ce6b5f8fd2d9dc11a966c9bf5da59f3831 > /home/blino/vc/mandriva/packages/cooker/libx11/SOURCES/libX11-1.1.2-codestyle.patch # revert patch on libX11 1.1.1 (cd BUILD/libX11-1.1.2/; patch -p1 < ../../SOURCES/libX11-1.1.2-codestyle.patch) # edit patch and remove some hunks, using manual bisection /o\ (cd BUILD/libX11-1.1.2/; patch -R -p1 < ../../SOURCES/libX11-1.1.2-codestyle.patch && make -j4) && bm -l -i --short-circuit && bm -l -b --short-circuit # try testcase
After half a dozen of tries, I found the culprit, where XGetMotionEvents() arguments order was not corrected during the codestyle update.
The fix was a trivial patch that I submitted in an upstream bug report.
Finally, gimp works \o/ but my initial photograph is barely usable, the poor chestnuts being incomplete or too dark :-/ (and I was too tired to proceed with crafty tactics...)
I also submitted a 2.3.17 gimp package with my backports in cooker, but the build system was borked (for a change). And gimp 2.3.18 has been released in the meantime, gee!
Comments are closed for this story.
Trackbacks are closed for this story.