Bug 193692 - graphics/cairo: 1.12 crashes xorg server (NOT WITH_NEW_XORG)
Summary: graphics/cairo: 1.12 crashes xorg server (NOT WITH_NEW_XORG)
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Many People
Assignee: freebsd-gnome (Nobody)
URL: http://forums.freebsd.org/viewtopic.p...
Keywords: needs-patch, regression
: 193796 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-09-16 20:34 UTC by John Hein
Modified: 2015-01-13 13:32 UTC (History)
12 users (show)

See Also:


Attachments
dmesg (24.41 KB, text/plain)
2014-09-20 19:04 UTC, stoa
no flags Details
<pkg info> (39.73 KB, text/plain)
2014-09-20 19:05 UTC, stoa
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description John Hein 2014-09-16 20:34:15 UTC
I have an 8-stable/x32 box that is now crashing after the new 1.12 cairo port was installed.  Working around the issue, I have startx bring up enlightenment instead of gnome-session.  But as soon as a gnome app is run, it instantly kills Xorg (Xorg exited on signal 6 according to /var/log/messages, sometimes "Segmentation fault: 11" in /var/log/Xorg.0.log).

I have not tried WITH_NEW_XORG yet on this somewhat older box (intel graphics), but I thought !WITH_NEW_XORG was still supported (for now - 8.x is slated for support through June 30, 2015).

I think this was a known issue, and I'm trying to find the reference where it was fixed for all supported platforms.  If there's something I missed, let me know.

Downgrading to graphics/cairo before 2014-09-12 works around this for now.
Comment 1 Bugzilla Automation freebsd_committer freebsd_triage 2014-09-16 20:34:15 UTC
Maintainers CC'd
Comment 2 peterc 2014-09-19 12:23:08 UTC
Given that pkg update has just trashed my 9.3 desktop
by replacing cairo 1.10 with 1.12,
I'd suggest that this bug is a show stopper !
(esp. for those of us who are avoiding 10)

The suggestion that cairo can be "rolled back" is unrealistic with 
the immature state of pkg.
Replacing libcairo.so.2 and creating links for libpixman-1.so.0.32.4,
libfreetype.so.6.11.2 and libxcb.so.1.1.0 is beyond most users.
Comment 3 John Hein 2014-09-19 13:54:04 UTC
(In reply to peterc from comment #2)
> Given that pkg update has just trashed my 9.3 desktop
> by replacing cairo 1.10 with 1.12,
> I'd suggest that this bug is a show stopper !

Are you WITH_NEW_XORG or old?  What graphics controller / x driver?
Comment 4 peterc 2014-09-19 23:50:36 UTC
(In reply to John Hein from comment #3)

My point was that WITH_NEW_XORG lives in the land of the xorg developers
and maintainers, not the other 99.99% of users.

The 9.x release notes give NO hints as to this issue and so the expectation
of pkg upgrade NOT screwing an installation needs to be maintained.

The simple (if temp fix) was to replace cairo.
NB I said replace, the concept of a rollback doesn't exist with pkg.

I'm running a vanilla 9 upgraded to 9.3 with freebsd-update and pkg upgrade.
  FreeBSD 9.3-RELEASE-p2
  CPU: Intel(R) Core(TM)2 Duo CPU E8500  @ 3.16GHz
  agp0: <Intel G45 SVGA controller> on vgapci0
  X.Org X Server 1.7.7
as delivered by the "update" tools.

The reference to WITH_NEW_XORG
  Date:      Fri, 04 Jul 2014 22:39:01 +0200
  From:      Koop Mast <kwm@rainbow-runner.nl>
  To:        freebsd-announce@FreeBSD.org
  Subject:   [FreeBSD-Announce] temporary WITH_NEW_XORG repositories available
is an orphan with little info and doesn't even point to
  https://wiki.freebsd.org/Graphics/WITH_NEW_XORG

<flame>
This disregard for the consequences of changes to basic sub-systems
is doing irreparable harm to FBSD esp. on the desktop.
The recent snafus with the package repository, sysinstall and the gung-ho
introduction of pkg, have driven away many long time users.
If use on the desktop becomes messy, a whole new generation of users will
go elsewhere.
Even I, a VERY long term user in the server space, am beginning to wonder
why I continue to bother.
</flame>

pjc
Comment 5 andrew.w.nosenko 2014-09-20 13:59:51 UTC
IMHO, it has nothing to WITH_NEW_XORG, nor with FreeBSD-8 or 9.
Reason: I see similar crashes on my FreeBSD-10.0-p7 (machine has integrated Intel video).
Fortunately, I use ports and just downgraded cairo as workaround.
Comment 6 stoa 2014-09-20 14:09:23 UTC
This is not restricted to 8.x; I am running 10.0-RELEASE and had the exact same problem, along with other users. xorg-server crash whenever any gui-based application with cairo as a dependency is attempted to be started; gui-based applications not relying on cairo are not affected (i.e., xpdf).  See forum thread at https://forums.freebsd.org/viewtopic.php?f=38&t=48099.


Temporary fix for me and others:
pkg delete -f cairo-1.12.16_1,2
pkg add cairo-1.10.2_10,2.txz

It's possible this issue can be isolated to the intel video driver as I am running the same 10.0-RELEASE version (even from the same ISO) on a box using the nvidia-driver-304.xx without issue.  Unknown as to Radeon.

Please let me know if further information is needed.
Comment 7 John Hein 2014-09-20 17:10:50 UTC
(In reply to andrew.w.nosenko from comment #5)
> IMHO, it has nothing to WITH_NEW_XORG, nor with FreeBSD-8 or 9.
> Reason: I see similar crashes on my FreeBSD-10.0-p7 (machine has integrated
> Intel video).
> Fortunately, I use ports and just downgraded cairo as workaround.

What version of x server?  x driver?  

Just attaching a list of installed packages would work.  Maybe Xorg log as well.
Comment 8 John Hein 2014-09-20 17:34:15 UTC
I updated the subject to remove 8.x, as it seems others have experienced it on other OS revs (9, 10).  What's not clear is what the other people have WRT new xorg or not (i.e., port versions for x server, x video driver, drm, mesa, dri ports).  Please when adding to this bug, give as much info as you can.  Just 'uname' is not enough.  One person could be running different ports on 10.0-RELEASE than someone else.

I believe it still only applies to those not using WITH_NEW_XORG ports, which is consistent with previous analysis (that this problem applied to non-WITH_NEW_XORG x server & intel x driver).

See also:

http://article.gmane.org/gmane.os.freebsd.devel.x11/14919

And please, people, we don't need to hear your diatribes about the end of the world.  Help identify the circumstances of the problem if you can add good new information.
Comment 9 stoa 2014-09-20 19:04:27 UTC
Created attachment 147509 [details]
dmesg
Comment 10 stoa 2014-09-20 19:05:16 UTC
Created attachment 147510 [details]
<pkg info>
Comment 11 stoa 2014-09-20 19:06:34 UTC
Not using WITH_NEW_XORG here.  See above for <dmesg> and <pkg info>.
Comment 12 rff1917 2014-09-20 19:13:35 UTC
*** Bug 193796 has been marked as a duplicate of this bug. ***
Comment 13 rkoberman 2014-09-20 23:18:05 UTC
Just for the record, I am running 1.12 with WITH_NEW_XORG on 10.1-BETA2 and i915KMS. ThinkPad T520 with  Intel HD3000 GPU and i5-2520M CPU.

No issues with Cairo befoe or after the update.
Comment 14 Samuel Orr 2014-09-21 11:01:49 UTC
I can confirm with FreeBSD 10. After a fresh installation I installed the packages for xorg/gdm. After a reboot the X server crashes repeatedly. I had to boot to single user mode, and force removed the xf86-video-intel package. Using Vesa the x server worked. After a lot of reading, I narrowed the issue down to cairo as seen here. Using portdowngrade to install cairo-1.10 the x server works using xf86-video-intel (2.7) with no issues.

Opinion:
I would assume the intel brand gpus are heavily used. Breaking them on a production quality release seems like a major issue. The maintainer's log of cairo 1.12 states it was blocking "pango and gtk30". I would suggest perhaps requiring WITH_NEW_XORG to install the newer cairo? Though I don't know the trade offs, but a cryptic xorg crash was quite frustrating.
Comment 15 John Hein 2014-09-26 14:18:31 UTC
Adding some complication to this, now www/firefox has been set to require cairo 1.12.  And sticking to the old firefox may not be acceptable from a security vulnerability standpoint.  This makes it harder to just live temporarily with the workaround of a downgraded cairo.
Comment 16 Johan Kuuse 2014-09-26 14:34:43 UTC
Just confirming what others already have mentioned here.

Using a fresh FreeBSD 10.0 RELEASE install:
uname -a
FreeBSD latitude 10.0-RELEASE FreeBSD 10.0-RELEASE #0 r260789: Fri Jan 17 01:46:25 UTC 2014     root@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC  i386


On a Dell Latitude E5400, with a Mobile Intel GM45 Express Chipset:
dmesg | grep 'apc\|agp'
vgapci0: <VGA-compatible display> port 0xefe8-0xefef mem 0xf6c00000-0xf6ffffff,0xe0000000-0xefffffff irq 16 at device 2.0 on pci0
agp0: <Intel GM45 SVGA controller> on vgapci0
agp0: aperture size is 256M, detected 32764k stolen memory
vgapci0: Boot video device
vgapci1: <VGA-compatible display> mem 0xf6b00000-0xf6bfffff at device 2.1 on pci0

Xorg -retro works, so does starting startx, but running any (cairo-dependent?)application causes an Xorg crash.
Workaround: Replace "intel" by "vesa" 
/etc/X11/xorg.conf:
	###Driver      "intel"
	Driver      "vesa"

Not using WITH_NEW_XORG, as /etc/make.conf doesn't even exist.

With the Vesa driver, graphics quality is less than optimized, but I prefer not to downgrading cairo and symlinking several others libs to fix what I hope is a short time issue.

Opinion:
Not what you expect from a new RELEASE.
As mentioned by others, Intel chipsets are quite common out there, chances are quite big this bug could have been nailed down.
I have been using FreeBSD since 3.0, and there have been few minor quirks in releases in the past, but this is a big one.
Comment 17 Ben Woods freebsd_committer freebsd_triage 2014-09-29 10:57:51 UTC
I had the same issue, and fixed it by force deleting cairo and reinstalling the old version from my pkgng cache:
pkg delete -f cairo-1.12.16_1,2
pkg add /var/cache/pkg/cairo-1.10.2_10,2.txz

I am using FreeBSD 10.0-p9 on i386 with intel graphics
Comment 18 raycherng 2014-10-01 14:36:49 UTC
My laptop is Fujitsu T2010(intel 965 chipset)with FreeBSD 10.0 running. I update my FreeBSD 10.0 with freebsd-update(8) to 10.0-p9. Then I run pkg update and pkg upgrade to upgrade my packages up-to-date. After these command my X window crash and I am kicked back to console.

I make a symbolic link of libpixman-1.so.0.32.4 in /usr/local/lib to libpixman-1.so.30. Then it lacks libfreetype.so.9. So I make a symbolic link of libfreetype.so.6.11 to libfreetype.so.9. Then it lacks libxcb.so.2. So I make a symbolic link of libxcb.so.1.1.0 to libxcb.so.2. Finally I can startx!! It works!!
Comment 19 stoa 2014-10-02 00:44:51 UTC
Confirming that upgrade to WITH_NEW_XORG (see /usr/ports/UPDATING dtd. 20141001) appears to have corrected the problem.
Comment 20 John Hein 2015-01-13 13:32:04 UTC
Except for 8.x / intel (no kms backported to 8.x), the world has moved onward and upward.  WITH_NEW_XORG is now the default and cairo 1.12+ is firmly ensconced in ports now with no looking back.  Since this bug report I have updated my 8-stable intel gpu box to 9 and newer xorg server - 1.12 and then later 1.14 - with success.