X2Go Bug report logs - #639
Segmentation fault in nxagent

version graph

Package: nx-libs; Maintainer for nx-libs is X2Go Developers <x2go-dev@lists.x2go.org>;

Reported by: Orion Poplawski <orion@cora.nwra.com>

Date: Sun, 12 Oct 2014 14:15:01 UTC

Severity: normal

Found in version 3.5.0.27

Full log


Report forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#639; Package nx-libs. (Sun, 12 Oct 2014 14:15:01 GMT) (full text, mbox, link).


Acknowledgement sent to Orion Poplawski <orion@cora.nwra.com>:
New Bug report received and forwarded. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Sun, 12 Oct 2014 14:15:02 GMT) (full text, mbox, link).


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

Received: (at submit) by bugs.x2go.org; 12 Oct 2014 14:13:35 +0000
From orion@cora.nwra.com  Sun Oct 12 16:13:32 2014
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on
	ymir.das-netzwerkteam.de
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_DKIM_INVALID,
	URIBL_BLOCKED autolearn=ham version=3.3.2
Received: from mail.cora.nwra.com (mercury.cora.nwra.com [4.28.99.165])
	by ymir.das-netzwerkteam.de (Postfix) with ESMTPS id 56B993D5EA
	for <submit@bugs.x2go.org>; Sun, 12 Oct 2014 16:13:31 +0200 (CEST)
Received: from pacas.cora.nwra.com (vpn18.cora.nwra.com [10.11.1.18])
	(authenticated bits=0)
	by mail.cora.nwra.com (8.14.4/8.14.4) with ESMTP id s9CEDQ6k017337
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO)
	for <submit@bugs.x2go.org>; Sun, 12 Oct 2014 08:13:29 -0600
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=cora.nwra.com;
	s=default; t=1413123210;
	bh=ltRp/jQERzPz8qiBu8nl/fm1rIP2KitmadC7hEa7y5Y=;
	h=Message-ID:Date:From:MIME-Version:To:Subject:Content-Type:
	 Content-Transfer-Encoding;
	b=pkZk3OcUaFI8WLpef5BpL3Nm+TCfmFqU3B+jlzAcYv8rzmjLBP2N9xhuv9d9JVCCV
	 +G8/hpNBZFcu2mkU7Tk65D9HB89lrgo+lwbPdSmrfK/Ysap6xspsFm5/pYGbAsn2Y+
	 hnK18/qSaEZ/sTeDrMZ3fICIGqZixf7ONxIYvG58=
Message-ID: <543A8C85.9060603@cora.nwra.com>
Date: Sun, 12 Oct 2014 08:13:25 -0600
From: Orion Poplawski <orion@cora.nwra.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.1
MIME-Version: 1.0
To: submit@bugs.x2go.org
Subject: Segmentation fault in nxagent
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Package: nx-libs
Version: 3.5.0.27

Saw this crash on attempted resume of session:

Oct 10 16:52:30 kolea systemd-logind: New session 1452 of user leka.
Oct 10 16:52:30 kolea systemd: Starting Session 1452 of user leka.
Oct 10 16:52:30 kolea systemd: Started Session 1452 of user leka.
Oct 10 16:52:32 kolea /usr/bin/x2goresume-session: x2goresume-session 
called with options: leka-50-1412399182_stDKDE_dp24 800x600 adsl 
16m-jpeg-9 us pc105/us 1
Oct 10 16:52:33 kolea /usr/bin/x2gofeature: x2gofeature called with 
options: X2GO_RUN_EXTENSIONS
Oct 10 16:52:33 kolea 
/usr/share/x2go/x2gofeature.d/x2goserver-extensions.features: 
x2goserver-extensions.features called with options: X2GO_RUN_EXTENSIONS
Oct 10 16:52:33 kolea /usr/bin/x2goserver-run-extensions: 
x2goserver-run-extensions called with options: 
leka-50-1412399182_stDKDE_dp24 pre-resume
Oct 10 16:52:34 kolea su: (to leka) root on none
Oct 10 16:52:34 kolea systemd: Starting Session c51 of user leka.
Oct 10 16:52:34 kolea systemd: Started Session c51 of user leka.
Oct 10 16:52:34 kolea /usr/bin/x2goresume-session: client 10.10.10.1 has 
successfully resumed session with ID leka-50-1412399182_stDKDE_dp24
Oct 10 16:52:34 kolea su: (to leka) root on none
Oct 10 16:52:34 kolea systemd: Starting Session c52 of user leka.
Oct 10 16:52:34 kolea systemd: Started Session c52 of user leka.
Oct 10 16:52:34 kolea /usr/bin/x2gofeature: x2gofeature called with 
options: X2GO_DESKTOPSHARING
Oct 10 16:52:35 kolea 
/usr/share/x2go/x2gofeature.d/x2goserver-extensions.features: 
x2goserver-extensions.features called with options: X2GO_DESKTOPSHARING
Oct 10 16:52:35 kolea /usr/bin/x2gosuspend-session: x2gosuspend-session 
called with options: leka-50-1412399182_stDKDE_dp24
Oct 10 16:52:35 kolea /usr/share/x2go/x2gofeature.d/x2goserver.features: 
x2goserver.features called with options: X2GO_DESKTOPSHARING
Oct 10 16:52:35 kolea 
/usr/share/x2go/x2gofeature.d/x2goserver-fmbindings.features: 
x2goserver-fmbindings.features called with options: X2GO_DESKTOPSHARING
Oct 10 16:52:35 kolea 
/usr/share/x2go/x2gofeature.d/x2goserver-xsession.features: 
x2goserver-xsession.features called with options: X2GO_DESKTOPSHARING
Oct 10 16:52:35 kolea /usr/bin/x2gofeature: x2gofeature called with 
options: X2GO_RUN_EXTENSIONS
Oct 10 16:52:35 kolea 
/usr/share/x2go/x2gofeature.d/x2goserver-extensions.features: 
x2goserver-extensions.features called with options: X2GO_RUN_EXTENSIONS
Oct 10 16:52:36 kolea /usr/bin/x2gofeature: x2gofeature called with 
options: X2GO_DESKTOPSHARING
Oct 10 16:52:36 kolea /usr/bin/x2goserver-run-extensions: 
x2goserver-run-extensions called with options: 
leka-50-1412399182_stDKDE_dp24 post-resume
Oct 10 16:52:36 kolea 
/usr/share/x2go/x2gofeature.d/x2goserver-extensions.features: 
x2goserver-extensions.features called with options: X2GO_DESKTOPSHARING
Oct 10 16:52:36 kolea /usr/share/x2go/x2gofeature.d/x2goserver.features: 
x2goserver.features called with options: X2GO_DESKTOPSHARING
Oct 10 16:52:36 kolea 
/usr/share/x2go/x2gofeature.d/x2goserver-fmbindings.features: 
x2goserver-fmbindings.features called with options: X2GO_DESKTOPSHARING
Oct 10 16:52:36 kolea 
/usr/share/x2go/x2gofeature.d/x2goserver-xsession.features: 
x2goserver-xsession.features called with options: X2GO_DESKTOPSHARING
Oct 10 16:52:36 kolea /usr/bin/x2gofeature: x2gofeature called with 
options: X2GO_RUN_EXTENSIONS
Oct 10 16:52:36 kolea 
/usr/share/x2go/x2gofeature.d/x2goserver-extensions.features: 
x2goserver-extensions.features called with options: X2GO_RUN_EXTENSIONS
Oct 10 16:52:36 kolea /usr/bin/x2goserver-run-extensions: 
x2goserver-run-extensions called with options: 
leka-50-1412399182_stDKDE_dp24 pre-suspend
Oct 10 16:52:36 kolea /usr/bin/x2goumount-session[25504]: 
x2goumount-session has been called with options: 
leka-50-1412399182_stDKDE_dp24
Oct 10 16:52:37 kolea /usr/bin/x2gosuspend-session: session with ID 
leka-50-1412399182_stDKDE_dp24 has been suspended successfully
Oct 10 16:52:37 kolea /usr/bin/x2gofeature: x2gofeature called with 
options: X2GO_RUN_EXTENSIONS
Oct 10 16:52:37 kolea 
/usr/share/x2go/x2gofeature.d/x2goserver-extensions.features: 
x2goserver-extensions.features called with options: X2GO_RUN_EXTENSIONS
Oct 10 16:52:37 kolea /usr/bin/x2goserver-run-extensions: 
x2goserver-run-extensions called with options: 
leka-50-1412399182_stDKDE_dp24 post-suspend
Oct 10 16:52:38 kolea kernel: [628115.748811] x2goagent[4472]: segfault 
at 0 ip 00007fbb3daa9e6d sp 00007ffffe069638 error 4 in 
libc-2.18.so[7fbb3da16000+1b4000]
Oct 10 16:52:38 kolea kernel: x2goagent[4472]: segfault at 0 ip 
00007fbb3daa9e6d sp 00007ffffe069638 error 4 in 
libc-2.18.so[7fbb3da16000+1b4000]

Looks like we're trying to write out a null pointer:

Core was generated by `/usr/lib64/nx/../x2go/bin/x2goagent -extension 
XFIXES -nolisten tcp -nolisten t'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fbb3daa9e6d in __memcpy_sse2_unaligned () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install 
glibc-2.18-16.fc20.x86_64 libX11-1.6.1-1.fc20.x86_64 
libXau-1.0.8-2.fc20.x86_64 libXcursor-devel-1.1.14-2.fc20.x86_64 
libXfixes-5.0.1-2.fc20.x86_64 libXrender-0.9.8-2.fc20.x86_64 
libgcc-4.8.3-7.fc20.x86_64 libjpeg-turbo-1.3.1-2.fc20.x86_64 
libpng-1.6.6-3.fc20.x86_64 libstdc++-4.8.3-7.fc20.x86_64 
libxcb-1.9.1-3.fc20.x86_64 libxml2-2.9.1-2.fc20.x86_64 
sssd-client-1.11.7-2.fc20.x86_64 xz-libs-5.1.2-12alpha.fc20.x86_64 
zlib-1.2.8-3.fc20.x86_64
(gdb) bt
#0  0x00007fbb3daa9e6d in __memcpy_sse2_unaligned () from /lib64/libc.so.6
#1  0x00007fbb3d3261d0 in std::basic_streambuf<char, 
std::char_traits<char> >::xsputn(char const*, long) () from 
/lib64/libstdc++.so.6
#2  0x00007fbb3d31c9f2 in std::ostream::write(char const*, long) () from 
/lib64/libstdc++.so.6
#3  0x00007fbb3f5ddb23 in PutData (fs=fs@entry=0x346e780, 
buffer=<optimized out>, size=size@entry=16) at Misc.cpp:633
#4  0x00007fbb3f5fa3e2 in MessageStore::saveStore (this=0x6bd7b00, 
cachefs=cachefs@entry=0x346e780, 
md5StateStream=md5StateStream@entry=0x52d2740,
    md5StateClient=md5StateClient@entry=0x774c1e0, 
checksumAction=checksumAction@entry=use_checksum, 
dataAction=dataAction@entry=discard_data, bigEndian=0)
    at Message.cpp:1782
#5  0x00007fbb3f601422 in ClientStore::saveRequestStores 
(this=0x15fc000, cachefs=cachefs@entry=0x346e780, 
md5StateStream=md5StateStream@entry=0x52d2740,
    md5StateClient=md5StateClient@entry=0x774c1e0, 
checksumAction=checksumAction@entry=use_checksum, 
dataAction=dataAction@entry=discard_data) at ClientStore.cpp:166
#6  0x00007fbb3f5ff108 in ClientProxy::handleSaveAllStores 
(this=0x2fffd30, cachefs=0x346e780, md5StateStream=0x52d2740, 
md5StateClient=0x774c1e0)
    at ClientProxy.cpp:500
#7  0x00007fbb3f5f07bc in Proxy::handleSaveAllStores 
(this=this@entry=0x2fffd30, savePath=<optimized out>) at Proxy.cpp:5193
#8  0x00007fbb3f5f0d4f in Proxy::handleSaveStores 
(this=this@entry=0x2fffd30) at Proxy.cpp:4232
#9  0x00007fbb3f5ffafc in ClientProxy::handleSave (this=0x2fffd30) at 
ClientProxy.cpp:412
#10 0x00007fbb3f5ce653 in NXTransExecute (resultFDs=0x7ffffe069b7c, 
errorFDs=<optimized out>, setFDs=<optimized out>, 
readSet=0x7ffffe069b90, writeSet=0x7ffffe069c10,
    selectTs=<optimized out>) at Loop.cpp:14818
#11 0x00007fbb3f5d7d5a in NXTransContinue 
(selectTs=selectTs@entry=0x7ffffe069ce0) at Loop.cpp:1650
#12 0x00007fbb3f5d7ebd in WaitCleanup () at Loop.cpp:4729
#13 NXTransDestroy (fd=fd@entry=-1) at Loop.cpp:1581
#14 0x000000000048e8f7 in nxagentWaitDisplay () at Display.c:2767
#15 0x00000000004b8249 in nxagentDisconnectSession () at Reconnect.c:362
#16 0x00000000004b8a8c in nxagentHandleConnectionChanges () at 
Reconnect.c:820
#17 0x00000000004b8c60 in nxagentHandleConnectionStates () at 
Reconnect.c:218
#18 0x000000000049b905 in nxagentWakeupHandler (data=<optimized out>, 
count=-1, mask=0xacb760 <LastSelectMask>) at Handlers.c:589
#19 0x000000000046a33b in WakeupHandler (result=result@entry=-1, 
pReadmask=pReadmask@entry=0xacb760 <LastSelectMask>) at dixutils.c:472
#20 0x0000000000473ca2 in WaitForSomething 
(pClientsReady=pClientsReady@entry=0x7ffffe06a040) at WaitFor.c:389
#21 0x0000000000445c1a in Dispatch () at X/NXdispatch.c:619
#22 0x0000000000429455 in main (argc=15, argv=0x7ffffe06a668, 
envp=<optimized out>) at main.c:450
(gdb) up 3
#3  0x00007fbb3f5ddb23 in PutData (fs=fs@entry=0x346e780, 
buffer=<optimized out>, size=size@entry=16) at Misc.cpp:633
633       fs -> write((char *) buffer, size);
(gdb) up
#4  0x00007fbb3f5fa3e2 in MessageStore::saveStore (this=0x6bd7b00, 
cachefs=cachefs@entry=0x346e780, 
md5StateStream=md5StateStream@entry=0x52d2740,
    md5StateClient=md5StateClient@entry=0x774c1e0, 
checksumAction=checksumAction@entry=use_checksum, 
dataAction=dataAction@entry=discard_data, bigEndian=0)
    at Message.cpp:1782
1782            if (PutData(cachefs, message -> md5_digest_, MD5_LENGTH) 
< 0)
(gdb) print message
$1 = (Message *) 0x367a5b0
(gdb) print message->md5_digest
There is no member or method named md5_digest.
(gdb) print message->md5_digest_
$2 = (md5_byte_t *) 0x0

-- 
Orion Poplawski
Technical Manager                     303-415-9701 x222
NWRA/CoRA Division                    FAX: 303-415-9702
3380 Mitchell Lane                  orion@cora.nwra.com
Boulder, CO 80301              http://www.cora.nwra.com


Information forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#639; Package nx-libs. (Fri, 17 Oct 2014 08:55:02 GMT) (full text, mbox, link).


Acknowledgement sent to Ulrich Sibiller <u.sibiller@science-computing.de>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Fri, 17 Oct 2014 08:55:02 GMT) (full text, mbox, link).


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

Received: (at 639) by bugs.x2go.org; 17 Oct 2014 08:54:34 +0000
From prvs=360b012d8=u.sibiller@science-computing.de  Fri Oct 17 10:54:32 2014
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on
	ymir.das-netzwerkteam.de
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=ham
	version=3.3.2
X-Greylist: delayed 573 seconds by postgrey-1.34 at ymir.das-netzwerkteam.de; Fri, 17 Oct 2014 10:54:32 CEST
Received: from mx3.science-computing.de (mx3.science-computing.de [193.197.16.20])
	by ymir.das-netzwerkteam.de (Postfix) with ESMTPS id 2C1CD3D5E4
	for <639@bugs.x2go.org>; Fri, 17 Oct 2014 10:54:32 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
	by scmail.science-computing.de (Postfix) with ESMTP id DD2254ECD;
	Fri, 17 Oct 2014 10:44:58 +0200 (CEST)
X-Virus-Scanned: amavisd-new
Received: from scmail.science-computing.de ([127.0.0.1])
	by localhost (guiness.science-computing.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id rKCvxnBMNJWL; Fri, 17 Oct 2014 10:44:58 +0200 (CEST)
Received: from [10.10.16.123] (pius.science-computing.de [10.10.16.123])
	by scmail.science-computing.de (Postfix) with ESMTPS id 4193F4B11;
	Fri, 17 Oct 2014 10:44:58 +0200 (CEST)
Message-ID: <5440D709.5050903@science-computing.de>
Date: Fri, 17 Oct 2014 10:44:57 +0200
From: Ulrich Sibiller <u.sibiller@science-computing.de>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.7.0
MIME-Version: 1.0
To: Orion Poplawski <orion@cora.nwra.com>, 639@bugs.x2go.org
Subject: Re: [X2Go-Dev] Bug#639: Segmentation fault in nxagent
References: <543A8C85.9060603@cora.nwra.com>
In-Reply-To: <543A8C85.9060603@cora.nwra.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: base64
Am 12.10.2014 16:13, schrieb Orion Poplawski:
> Package: nx-libs
> Version: 3.5.0.27
>
> Saw this crash on attempted resume of session:
>

You have had 3 different crashes at the same time. Generally nx runs quite stable so this is very 
remarkable. I'd suggest to check RAM and/or your CPU(s) as a first step.

Uli

-- 
Vorstandsvorsitzender/Chairman of the board of management:
Gerd-Lothar Leonhart
Vorstand/Board of Management:
Dr. Bernd Finkbeiner, Michael Heinrichs, Dr. Arno Steitz
Vorsitzender des Aufsichtsrats/
Chairman of the Supervisory Board:
Philippe Miltin
Sitz/Registered Office: Tuebingen
Registergericht/Registration Court: Stuttgart
Registernummer/Commercial Register No.: HRB 382196

Information forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#639; Package nx-libs. (Fri, 17 Oct 2014 15:15:02 GMT) (full text, mbox, link).


Acknowledgement sent to Orion Poplawski <orion@cora.nwra.com>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Fri, 17 Oct 2014 15:15:02 GMT) (full text, mbox, link).


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

Received: (at 639) by bugs.x2go.org; 17 Oct 2014 15:11:53 +0000
From orion@cora.nwra.com  Fri Oct 17 17:11:52 2014
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on
	ymir.das-netzwerkteam.de
X-Spam-Level: 
X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,T_DKIM_INVALID,
	URIBL_BLOCKED autolearn=ham version=3.3.2
Received: from mail.cora.nwra.com (mercury.cora.nwra.com [4.28.99.165])
	by ymir.das-netzwerkteam.de (Postfix) with ESMTPS id 248933D600
	for <639@bugs.x2go.org>; Fri, 17 Oct 2014 17:11:51 +0200 (CEST)
Received: from [10.10.20.7] (barry.cora.nwra.com [10.10.20.7])
	(authenticated bits=0)
	by mail.cora.nwra.com (8.14.4/8.14.4) with ESMTP id s9HFBhxL025919
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO);
	Fri, 17 Oct 2014 09:11:48 -0600
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=cora.nwra.com;
	s=default; t=1413558708;
	bh=eIUKhhc79OiF0ExqAfnwzOoM/JwRasfe5kI1LfiHv9o=;
	h=Message-ID:Date:From:MIME-Version:To:Subject:References:
	 In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=sRZFcR/9bwktvPE+WEdDQsQIHfeE0xP9MlJnGaSzk66pJZ3O0BNisE11jUrr67kem
	 G10xZB1sBva+oLiJ1+5Ygwn6IYevlXExonnYaGMpTva8eSq/EvbtNs6QDLVEk7ZhCg
	 +GpJina3K+A61/lWc5A8lCs1Ty3sI6CXeeujAils=
Message-ID: <544131AF.2070700@cora.nwra.com>
Date: Fri, 17 Oct 2014 09:11:43 -0600
From: Orion Poplawski <orion@cora.nwra.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.1
MIME-Version: 1.0
To: Ulrich Sibiller <u.sibiller@science-computing.de>, 639@bugs.x2go.org
Subject: Re: [X2Go-Dev] Bug#639: Segmentation fault in nxagent
References: <543A8C85.9060603@cora.nwra.com> <5440D709.5050903@science-computing.de>
In-Reply-To: <5440D709.5050903@science-computing.de>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
On 10/17/2014 02:44 AM, Ulrich Sibiller wrote:
> Am 12.10.2014 16:13, schrieb Orion Poplawski:
>> Package: nx-libs
>> Version: 3.5.0.27
>>
>> Saw this crash on attempted resume of session:
>>
> 
> You have had 3 different crashes at the same time. Generally nx runs quite
> stable so this is very remarkable. I'd suggest to check RAM and/or your CPU(s)
> as a first step.
> 
> Uli
> 

A RAM check was done quite recently on this machine with no issues found.
There are some pretty clear null pointer issues in some of the backtraces.

-- 
Orion Poplawski
Technical Manager                     303-415-9701 x222
NWRA, Boulder/CoRA Office             FAX: 303-415-9702
3380 Mitchell Lane                       orion@nwra.com
Boulder, CO 80301                   http://www.nwra.com


Information forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#639; Package nx-libs. (Sun, 18 Oct 2015 00:30:02 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


X2Go Developers <owner@bugs.x2go.org>. Last modified: Sat Nov 23 22:13:37 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.