X2Go Bug report logs - #254
race condition in RPM init script

version graph

Package: x2goserver; Maintainer for x2goserver is X2Go Developers <x2go-dev@lists.x2go.org>; Source for x2goserver is src:x2goserver.

Reported by: <O.Smorholm@warwick.ac.uk>

Date: Fri, 28 Jun 2013 19:33:02 UTC

Severity: normal

Tags: moreinfo, rpm-packages

Found in version 4.0.1.1

Full log


Message #5 received at submit@bugs.x2go.org (full text, mbox, reply):

Received: (at submit) by bugs.x2go.org; 28 Jun 2013 19:25:51 +0000
From O.Smorholm@warwick.ac.uk  Fri Jun 28 21:25:50 2013
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on
	ymir.das-netzwerkteam.de
X-Spam-Level: 
X-Spam-Status: No, score=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED
	autolearn=ham version=3.3.2
Received: from tx2outboundpool.messaging.microsoft.com (tx2ehsobe003.messaging.microsoft.com [65.55.88.13])
	by ymir (Postfix) with ESMTPS id 3E7CC5DB1E
	for <submit@bugs.x2go.org>; Fri, 28 Jun 2013 21:25:50 +0200 (CEST)
Received: from mail105-tx2-R.bigfish.com (10.9.14.252) by
 TX2EHSOBE008.bigfish.com (10.9.40.28) with Microsoft SMTP Server id
 14.1.225.23; Fri, 28 Jun 2013 19:25:48 +0000
Received: from mail105-tx2 (localhost [127.0.0.1])	by
 mail105-tx2-R.bigfish.com (Postfix) with ESMTP id 777DC3E0220	for
 <submit@bugs.x2go.org>; Fri, 28 Jun 2013 19:25:48 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:157.56.250.229;KIP:(null);UIP:(null);IPV:NLI;H:AMSPRD0111HT002.eurprd01.prod.exchangelabs.com;RD:none;EFVD:NLI
X-SpamScore: 2
X-BigFish: PS2(zzc89bhzz1f42h1ee6h1de0h1d18h1fdah2073h1202h1e76h1d1ah1d2ah1fc6hzzz2ei2a8h668h839h8e2h8e3h947hd25hf0ah10d2h1288h12a5h12a9h12bdh137ah13b6h1441h1537h153bh162dh1631h1758h1765h18e1h190ch1946h19b4h19c3h19ceh1ad9h1b0ah1d0ch1d2eh1d3fh1dc1h1dfeh1dffh1e1dhbe9i1155h)
Received-SPF: neutral (mail105-tx2: 157.56.250.229 is neither permitted nor denied by domain of warwick.ac.uk) client-ip=157.56.250.229; envelope-from=O.Smorholm@warwick.ac.uk; helo=AMSPRD0111HT002.eurprd01.prod.exchangelabs.com ;angelabs.com ;
Received: from mail105-tx2 (localhost.localdomain [127.0.0.1]) by mail105-tx2
 (MessageSwitch) id 1372447547138266_15016; Fri, 28 Jun 2013 19:25:47 +0000
 (UTC)
Received: from TX2EHSMHS034.bigfish.com (unknown [10.9.14.246])	by
 mail105-tx2.bigfish.com (Postfix) with ESMTP id 142CD3A0138	for
 <submit@bugs.x2go.org>; Fri, 28 Jun 2013 19:25:47 +0000 (UTC)
Received: from AMSPRD0111HT002.eurprd01.prod.exchangelabs.com (157.56.250.229)
 by TX2EHSMHS034.bigfish.com (10.9.99.134) with Microsoft SMTP Server (TLS) id
 14.1.225.23; Fri, 28 Jun 2013 19:25:46 +0000
Received: from [137.205.124.55] (137.205.124.55) by pod51002.outlook.com
 (10.242.75.163) with Microsoft SMTP Server (TLS) id 14.16.324.0; Fri, 28 Jun
 2013 19:25:46 +0000
Message-ID: <51CDE337.8050403@live.warwick.ac.uk>
Date: Fri, 28 Jun 2013 20:25:43 +0100
From: Olav Smørholm <ccsmac@live.warwick.ac.uk>
Reply-To: <O.Smorholm@warwick.ac.uk>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6
MIME-Version: 1.0
To: <submit@bugs.x2go.org>
Subject: x2goserver (RPM issue)
Content-Type: text/plain; charset="ISO-8859-1"; format=flowed
X-Originating-IP: [137.205.124.55]
Content-Transfer-Encoding: quoted-printable
X-OriginatorOrg: live.warwick.ac.uk
Package: x2goserver
Version: 4.0.1.1


There is a race condition in the x2gocleansessions init script, causing 
it to kill itself on a fast machine.
Thus the rpm cannot be cleanly uninstalled without disabling %preun scripts.

# /etc/init.d/x2gocleansessions stop
Terminated
# zypper rm x2goserver
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following package is going to be REMOVED:
  x2goserver

1 package to remove.
After the operation, 203.0 KiB will be freed.
Continue? [y/n/?] (y): y
Removing x2goserver-4.0.1.1-2.5.csc [error]
Removal of (26663)x2goserver-4.0.1.1-2.5.csc.x86_64(@System) failed:
Error: Subprocess failed. Error: RPM failed: /var/tmp/rpm-tmp.7904: line 
7: /etc/init.d/x2gocleansession: No such file or directory
error: %preun(x2goserver-4.0.1.1-2.5.csc.x86_64) scriptlet failed, exit 
status 127


Abort, retry, ignore? [a/r/i] (a):
Problem occured during or after installation or removal of packages:
Installation aborted by user

Please see the above error message for a hint.
# rpm -e  --nopreun x2goserver
#

The init script "fixed" in this way:
stop()
{
                # kill x2gocleansessions, ignore on failure
                if  ps aux | grep x2gocleans | grep -q perl
                then
                        ps aux | grep x2gocleansessions | grep -v init 
|grep -v grep  |  awk '{print $2}' | xargs  kill -9
                fi
}

But this is not really a fix, as the script will fail if the perl script 
exits before it can be killed.
Would be better if the init script or perl script was renamed and used 
pkill -x instead, but pkill has a problem will long program names.

Anoter issue for SLES, is that perl module File::Path is outdated, and 
is still using the legacy mkpath instead of make_path.
So there needs to be a check for this.
Not sure if this changes with SP3, but it is at least the case for SP2.
This causes x2godbadmin --create to fail:
# x2godbadmin --create
"make_path" is not exported by the File::Path module
Can't continue after import errors at /usr/sbin/x2godbadmin line 25
BEGIN failed--compilation aborted at /usr/sbin/x2godbadmin line 25.

But I really do question the wisdom of having an init script call an 
external perl script to do its job.
Ideally it should all be handled by the init script.

Best Regards,
-- 
Olav Smørholm
Centre for Scientific Computing, University of Warwick


Send a report that this bug log contains spam.


X2Go Developers <owner@bugs.x2go.org>. Last modified: Thu Mar 28 08:41:56 2024; Machine Name: ymir.das-netzwerkteam.de

X2Go Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.