Knowledge Base
Searching in : Article
ID: AR07M00853
Applies to: NoMachine Software
Added on: 2015-07-21
Last Update: 2016-11-11

What to do when NoMachine services are terminated with signal 13 SIGPIPE on Debian or Ubuntu OS

In some cases NoMachine services (nxd and others) are terminated with signal 13 SIGPIPE as soon as nxserver launches them.

This happens on Ubuntu and Debian and in general on all Debian-based systems and may be a symptom of a problem affecting libnss-ldap, a library used for LDAP authentication.

 

Our developers have already sent a bug report to Debian and Ubuntu in the hope that changes will be included in their upstream:


https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=748341  (fixed by libnss-ldap 264-2.2ubuntu4.14.04.2)


https://bugs.launchpad.net/ubuntu/+source/libnss-ldap/+bug/1397250

 

A technical description of the problem

If a process calls fork() and SIGPIPE was blocked, the atfork() handler in the child process failed to catch the SIGPIPE during the call to do_close_no_unbind(). So that, the SIGPIPE will be eventually delivered when the child unblocks signals (and usually this makes child process die).

 

Possible solutions

Only for Ubuntu 14.04:

Upgrade libnss-ldap to version 264-2.2ubuntu4.14.04.2.

For other systems:

As a workaround, if LDAP authentication is not needed, removing LDAP entries from /etc/nsswitch.conf will makes the NoMachine services to start properly. 

In alternative, it is possible to modify the source code of libnss-ldap library by applying the fix provided in the bug tracking reports above and rebuild the library on the system.