Bug 809329 - openSUSE 12.3 + nxclient = crash
openSUSE 12.3 + nxclient = crash
Classification: openSUSE
Product: openSUSE.org
Classification: openSUSE
Component: 3rd party software
x86-64 Other
: P5 - None : Critical (vote)
: ---
Assigned To: Tristan Miller
E-mail List
Depends on:
  Show dependency treegraph
Reported: 2013-03-14 09:37 UTC by Ulrich Hiller
Modified: 2022-10-07 15:03 UTC (History)
5 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Ulrich Hiller 2013-03-14 09:37:21 UTC
User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0

This was already a problem in openSuSE 12.2 (see Bug  780657). I thought it would be solved. :-(

I open nxclient and choose an openSuSE 12.3 machine.
I login there and can open e.g. an xterm
When I open firefox, thunderbird, acroread, libreoffice, etc. the whole nxclient session crashes.

1: uninstall libcairo2:
rpm -e --nodeps libcairo2-1.12.8-2.1.1.x86_64 libcairo2-32bit-1.12.8-2.1.1.x86_64

2: install libcairo2 from openSuSE 12.1:
rpm -i --nodeps libcairo2-32bit-1.10.2-14.1.3.x86_64.rpm libcairo2-1.10.2-14.1.3.x86_64.rpm

3: copy libpng14.so.14 from openSuSE 12.2 to /usr/lib64

Reproducible: Always

Steps to Reproduce:
see Details
Actual Results:  
see Details

Expected Results:  
see Details

see Details
Comment 1 Mathias Homann 2013-03-14 10:02:47 UTC
Can't really reproduce this.
I'm writing this comment in a FF19 on a 12.3, and that is inside a NX session that connects from a 12.2 to the 12.3 machine.

I had 12.2 on the 12.3 machine before and no problems there either.
Comment 2 Ulrich Hiller 2013-03-14 10:59:15 UTC
So we need to find out want the difference between us is.
I have a 12.3 x86_64 with:

I also have enough RAM (4GB), no swapping.

Just to repeat to make it clear:
When i open e.g. firefox with an nxsession i am not able to work with it. It immediately crashes with: 
"the connection with the remote server was shut down. Please check the state of your network connection". 
This does not happen with the libcairo2 from opensuse 12.1
There is nothing written into /var/log/messages. Also in 
.xsession-errors i do not find anything.

Any ideas what i still could test?
Comment 3 Mathias Homann 2013-03-14 11:17:19 UTC
I just checked my 12.3 box, and I do have libpng14 from 12.2 installed on it (it wasn't a clean install, it was a upgrade from 12.2 to 12.3 there).
Comment 4 Ulrich Hiller 2013-03-14 12:35:06 UTC
(In reply to comment #3)
> I just checked my 12.3 box, and I do have libpng14 from 12.2 installed on it
> (it wasn't a clean install, it was a upgrade from 12.2 to 12.3 there).

I have copied libpng14.so.14 from 12.2 and it does not work with libcairo2-1.12.8-2.1.1.x86_64

I did not do an upgrade, but a freshly new install (except the /home partition)

which version of nxclient and nxserver do you have?
Comment 5 Ulrich Hiller 2013-03-14 15:02:26 UTC
i found this:
>Broken resume with Cairo 1.12.x
>Latest cairo updates broke the render extension. After resuming a session 
>all characters from before suspending won't get rendered. To fix this 
>add this single line to /etc/nxserver/node.conf [in the nxserver]

i did this, and it worked for 12.3. But this gives terrible results on our opensuse 11.x machines (including slow graphics). So i would not close the report yet.
Comment 7 Stefan Dirsch 2013-03-25 08:42:26 UTC
Again. 3rd party software. IIRC NX replaces a lot of X libraries ...
Comment 8 Ronny Peine 2013-05-19 22:27:52 UTC

I'm experiencing the same problem here on openSUSE 12.3. Using the nxclient from nomachine on a openSUSE 12.3 client to connect to a freenx server on openSUSE 12.3 leads to missing graphics and fonts after resuming the session. Starting a session is no problem but resuming is.
Replacing libcairo2 with the version from openSUSE 12.1 reliably fixes this problem. I know that freenx is a 3rd party component for openSUSE but there does not seem to exist a real and reliable working terminal server solution for Linux except of freenx. Would be nice if the cairo-devs could maybe fix this problem.
Using the "-norender" option leads to a completely broken rendered desktop in freenx, so I can't use this as a workaround. Just replacing the libs helps even though this is only a quite ugly workaround.

PS: To get a working Yast in a freenx session, because of broken QT rendering without native rendering, I created the file /etc/profile.d/qt-graphics-myself.sh with the content:

This forces native mode for rendering in QT (not raster). Because of Yast starting in a root environment, where the user settings in the KDE Systemcenter are ignored, you get only a blank window in freenx. You can click on the unseen buttons but you can't see anything. With this workaround Yast works as before in openSUSE 12.1 with freenx.

Kind regards.
Comment 9 Ronny Peine 2013-05-19 22:40:26 UTC
Hello again,

I forgot to mention, I implemented the lib replacements and the QT workaround only on the server. The client didn't need any change.

Kind regards.
Comment 10 Ludwig Nussel 2013-05-21 15:20:00 UTC
So looks like a change between cairo 1.10 and 1.12 caused this crash?
Comment 11 Ronny Peine 2013-05-21 20:40:05 UTC
(In reply to comment #10)
> So looks like a change between cairo 1.10 and 1.12 caused this crash?

Yes. I think it is related to the massiv changes in the rendering process (big optimizations and changes in the xrender usage). It is most likely related to https://wiki.archlinux.org/index.php/FreeNX#Broken_resume_with_Cairo_1.12.x
I don't know how to fix this reliably. I just installed the libcairo2 and libpng14 (needed by the old libcairo2) rpms from openSUSE 12.1 on the server as a workaround for now. With this freenx works as well as in openSUSE 12.1 (very good) except that sound is very choppy but I can live with it. The downside of this workaround is that I get no security fixes for these libraries anymore.

Kind regards.
Comment 12 Ronny Peine 2013-05-21 20:48:37 UTC
Maybe updating the current libcairo2 from 1.12.8 in openSUSE 12.3 to 1.12.14 could help here. I see massive bug squashings for X11/SHM especially for libcairo 1.12.11 and 1.12.12 in the changelogs.
I would test a new build if it is available (will check in OBS if I find something).

Kind regards.
Comment 13 Ronny Peine 2013-05-21 21:07:53 UTC

I tested the rpm http://download.opensuse.org/repositories/home:/muzlocker/openSUSE_12.3/x86_64/libcairo2-1.12.14-73.1.x86_64.rpm
It shows the same problem as openSUSE's standard 1.12.8 version. So this bug is still present. I haven't found a related bugreport on bugzilla of freedesktop.org, only a far related one https://bugs.freedesktop.org/show_bug.cgi?id=56744
Maybe a report to the libcairo devs could help here.

Kind regards.
Comment 14 Mark B 2013-06-20 04:59:38 UTC
I ran into the same problem using x2go. Upgrading to cairo rpms to version 1.12.14-79.2 from 


fixed it for me. Now firefox and seamonkey start without the error.
Comment 15 Tristan Miller 2022-10-07 15:03:24 UTC
openSUSE 12.3 had EOL on 2015-01-01, and NoMachine have now made its NX technology proprietary; users have transitioned to the free fork X2Go.  Please reopen this bug if you can still reproduce the problem with our X2Go packages on openSUSE Tumbleweed or a a supported version of openSUSE Leap.