GNU bug report logs - #22379
25.1.50; Emacs 25.1.50 fails to start on Windows 98

Previous Next

Package: emacs;

Reported by: Jussi Lahdenniemi <jussi <at> aprikoodi.fi>

Date: Fri, 15 Jan 2016 16:46:02 UTC

Severity: normal

Found in version 25.1.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Jussi Lahdenniemi <jussi <at> aprikoodi.fi>
Subject: bug#22379: closed (Re: bug#22379: 25.1.50; Emacs 25.1.50 fails to
 start on Windows 98)
Date: Sat, 16 Jan 2016 09:15:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#22379: 25.1.50; Emacs 25.1.50 fails to start on Windows 98

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 22379 <at> debbugs.gnu.org.

-- 
22379: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22379
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org>
To: Jussi Lahdenniemi <jussi <at> aprikoodi.fi>
Cc: 22379-done <at> debbugs.gnu.org
Subject: Re: bug#22379: 25.1.50; Emacs 25.1.50 fails to start on Windows 98
Date: Sat, 16 Jan 2016 11:14:29 +0200
> From: Jussi Lahdenniemi <jussi <at> aprikoodi.fi>
> Date: Fri, 15 Jan 2016 08:09:32 +0200
> 
> 
> On Windows 98, Emacs crashes right at the startup:
> ../../emacs/src/lisp.h:1110: Emacs fatal error: assertion failed: XTYPE (a) == type && XUNTAG (a, type) == ptr
> 
> This happens every time, with and without -nw.
> 
> 
> #0  0xbff768a1 in ?? () from C:\WINDOWS\SYSTEM\KERNEL32.DLL
> No symbol table info available.
> #1  0x01232d59 in emacs_abort () at ../../emacs/src/w32fns.c:10254
>         button = 6
> #2  0x01107bd5 in terminate_due_to_signal (sig=22, backtrace_limit=2147483647)
>     at ../../emacs/src/emacs.c:401
>         unblocked = 4194304
> #3  0x011871fa in die (
>     msg=0x14ea974 "XTYPE (a) == type && XUNTAG (a, type) == ptr",
>     file=0x14ea87c "../../emacs/src/lisp.h", line=1110)
>     at ../../emacs/src/alloc.c:7063
> No locals.
> #4  0x01103082 in make_lisp_ptr (ptr=0x2a220fc, type=Lisp_Vectorlike)
>     at ../../emacs/src/lisp.h:1110
>         a = 44179713
> #5  0x01130714 in Fget_buffer_create (buffer_or_name=19699052)
>     at ../../emacs/src/buffer.c:586
>         buffer = 0
>         name = 25264748
>         b = 0x2a220fc

Fixed with commit 15c23aa on the emacs-25 branch, using Jussi's patch
posted in
http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00881.html.

Thanks.

[Message part 3 (message/rfc822, inline)]
From: Jussi Lahdenniemi <jussi <at> aprikoodi.fi>
To: bug-gnu-emacs <at> gnu.org
Subject: 25.1.50; Emacs 25.1.50 fails to start on Windows 98
Date: Fri, 15 Jan 2016 08:09:32 +0200
On Windows 98, Emacs crashes right at the startup:
../../emacs/src/lisp.h:1110: Emacs fatal error: assertion failed: XTYPE (a) == type && XUNTAG (a, type) == ptr

This happens every time, with and without -nw.


#0  0xbff768a1 in ?? () from C:\WINDOWS\SYSTEM\KERNEL32.DLL
No symbol table info available.
#1  0x01232d59 in emacs_abort () at ../../emacs/src/w32fns.c:10254
        button = 6
#2  0x01107bd5 in terminate_due_to_signal (sig=22, backtrace_limit=2147483647)
    at ../../emacs/src/emacs.c:401
        unblocked = 4194304
#3  0x011871fa in die (
    msg=0x14ea974 "XTYPE (a) == type && XUNTAG (a, type) == ptr",
    file=0x14ea87c "../../emacs/src/lisp.h", line=1110)
    at ../../emacs/src/alloc.c:7063
No locals.
#4  0x01103082 in make_lisp_ptr (ptr=0x2a220fc, type=Lisp_Vectorlike)
    at ../../emacs/src/lisp.h:1110
        a = 44179713
#5  0x01130714 in Fget_buffer_create (buffer_or_name=19699052)
    at ../../emacs/src/buffer.c:586
        buffer = 0
        name = 25264748
        b = 0x2a220fc
#6  0x011a9a8d in Ffuncall (nargs=2, args=0xd2ed64)
    at ../../emacs/src/eval.c:2693
        internal_argbuf = {19699052, 0, 0, -1074314761, -1073965936,
          -1074284466, 0, 0}
        fun = 19597533
        original_fun = -12558696
        funcar = 0
        numargs = 1
        lisp_numargs = 17838365
        val = 19699052
        internal_args = 0xd2ed68
        count = 16
#7  0x011f0c1b in exec_byte_code (bytestr=19698836, vector=19698853,
    maxdepth=26, args_template=0, nargs=0, args=0x0)
    at ../../emacs/src/bytecode.c:880
        targets = {0x11f37c6, 0x11f3810, 0x11f3810, 0x11f3810, 0x11f3810,
          0x11f3810, 0x11f3855, 0x11f38a3, 0x11f042e, 0x11f042e, 0x11f042e,
          0x11f042e, 0x11f042e, 0x11f042e, 0x11f0436, 0x11f0407, 0x11f08f5,
          0x11f08f5, 0x11f08f5, 0x11f08f5, 0x11f08f5, 0x11f08f5, 0x11f0924,
          0x11f08fd, 0x11f0b67, 0x11f0b67, 0x11f0b67, 0x11f0b67, 0x11f0b67,
          0x11f0b67, 0x11f0b2f, 0x11f0b40, 0x11f0bef, 0x11f0bef, 0x11f0bef,
          0x11f0bef, 0x11f0bef, 0x11f0bef, 0x11f0bb7, 0x11f0bc8, 0x11f0c7b,
          0x11f0c7b, 0x11f0c7b, 0x11f0c7b, 0x11f0c7b, 0x11f0c7b, 0x11f0c43,
          0x11f0c54, 0x11f18e8, 0x11f1806, 0x11f17fd, 0x11f37c6, 0x11f37c6,
          0x11f37c6, 0x11f37c6, 0x11f37c6, 0x11f1a9e, 0x11f1b7d, 0x11f1be1,
          0x11f1c4c, 0x11f1cbb, 0x11f0783, 0x11f07ec, 0x11f1d3b, 0x11f06c7,
          0x11f0838, 0x11f1dac, 0x11f1df8, 0x11f1e2d, 0x11f1e79, 0x11f1eba,
          0x11f1f5b, 0x11f1f90, 0x11f1fdc, 0x11f203f, 0x11f2074, 0x11f20a9,
          0x11f20f5, 0x11f2141, 0x11f218d, 0x11f21f0, 0x11f2231, 0x11f2272,
          0x11f2313, 0x11f2375, 0x11f23d7, 0x11f2604, 0x11f2658, 0x11f26ac,
          0x11f2700, 0x11f2754, 0x11f2795, 0x11f27fe, 0x11f283f, 0x11f2880,
          0x11f28c1, 0x11f298f, 0x11f16d8, 0x11f29d4, 0x11f2a09, 0x11f2aa4,
          0x11f2ae9, 0x11f2b2e, 0x11f2b63, 0x11f2b9a, 0x11f2bd1, 0x11f2c10,
          0x11f37c6, 0x11f2c55, 0x11f2c88, 0x11f2cbb, 0x11f2cee, 0x11f2d21,
          0x11f2d54, 0x11f16d8, 0x11f37c6, 0x11f2d89, 0x11f2dcb, 0x11f2e00,
          0x11f2e35, 0x11f2e81, 0x11f2ecd, 0x11f2f02, 0x11f3000, 0x11f304c,
          0x11f3098, 0x11f30e4, 0x11f3117, 0x11f37c6, 0x11f1644, 0x11f0d00,
          0x11f05ae, 0x11f0df4, 0x11f0f0d, 0x11f1020, 0x11f1608, 0x11f161d,
          0x11f0af8, 0x11f16a2, 0x11f16fe, 0x11f1773, 0x11f17a9, 0x11f1916,
          0x11f1986, 0x11f19e9, 0x11f1a36, 0x11f0cc4, 0x11f314c, 0x11f31af,
          0x11f31e4, 0x11f3219, 0x11f324e, 0x11f3283, 0x11f32cf, 0x11f331b,
          0x11f3367, 0x11f33b3, 0x11f34d0, 0x11f351c, 0x11f3568, 0x11f359d,
          0x11f35e9, 0x11f3635, 0x11f3670, 0x11f36ab, 0x11f2902, 0x11f2943,
          0x11f36ec, 0x11f375b, 0x11f37c6, 0x11f1133, 0x11f1208, 0x11f1308,
          0x11f1408, 0x11f1508, 0x11f1efb, 0x11f22b3, 0x11f2a44, 0x11f3908,
          0x11f3958, 0x11f37c6, 0x11f37c6, 0x11f39bf, 0x11f37c6, 0x11f37c6,
          0x11f37c6, 0x11f37c6, 0x11f37c6, 0x11f37c6, 0x11f37c6, 0x11f37c6,
          0x11f37c6, 0x11f3a24 <repeats 64 times>}
        count = 16
        op = 1
        vectorp = 0x12c94a4
        stack = {
          pc = 0x14c6fbc "\033\315\034\316 \035¤Ä\320\321\b\"*\036!\016\"\204=",
 byte_string = 19698836, byte_string_start = 0x14c6fa5 "\306\b!\204\022",
          next = 0xd2f6a0}
        top = 0xd2ed64
        result = 13823624
        type = CATCHER
#8  0x011aa7b1 in funcall_lambda (fun=19698773, nargs=4, arg_vector=0xd2ef94)
    at ../../emacs/src/eval.c:2921
        val = 13823704
        syms_left = 0
        next = -11385624
        lexenv = 0
        count = 12
        i = 4
        optional = true
        rest = false
#9  0x011a9d03 in Ffuncall (nargs=5, args=0xd2ef90)
    at ../../emacs/src/eval.c:2742
        fun = 19698773
        original_fun = -11385696
        funcar = 2013339609
        numargs = 4
        lisp_numargs = 582
        val = 3
        internal_args = 0x81624db4
        count = 11
#10 0x011a95a9 in call4 (fn=-11385696, arg1=25264780, arg2=25264780,
    arg3=23184, arg4=23184) at ../../emacs/src/eval.c:2577
No locals.
#11 0x011d67ef in Fload (file=25264796, noerror=23184, nomessage=23184,
    nosuffix=23184, must_suffix=0) at ../../emacs/src/lread.c:1275
        val = 0
        stream = 0x1102f02
        fd = 3
        fd_index = 6
        count = 6
        found = 25264780
        efound = 13825224
        hist_file_name = 25264780
        newer = false
        compiled = false
        handler = 10
        safe_p = true
        fmode = 0x15097e1 "rt"
        version = 0
#12 0x011a9b8d in Ffuncall (nargs=5, args=0xd2f590)
    at ../../emacs/src/eval.c:2709
        internal_argbuf = {25264796, 23184, 23184, 23184, 0, 23184, 13825384,
          18525724}
        fun = 21839789
        original_fun = 15696
        funcar = 3
        numargs = 4
        lisp_numargs = 1
        val = 25264796
        internal_args = 0xd2f520
        count = 5
#13 0x011f0c1b in exec_byte_code (bytestr=20210060, vector=20210077,
    maxdepth=50, args_template=2, nargs=0, args=0xd2f730)
    at ../../emacs/src/bytecode.c:880
        targets = {0x11f37c6, 0x11f3810, 0x11f3810, 0x11f3810, 0x11f3810,
          0x11f3810, 0x11f3855, 0x11f38a3, 0x11f042e, 0x11f042e, 0x11f042e,
          0x11f042e, 0x11f042e, 0x11f042e, 0x11f0436, 0x11f0407, 0x11f08f5,
          0x11f08f5, 0x11f08f5, 0x11f08f5, 0x11f08f5, 0x11f08f5, 0x11f0924,
          0x11f08fd, 0x11f0b67, 0x11f0b67, 0x11f0b67, 0x11f0b67, 0x11f0b67,
          0x11f0b67, 0x11f0b2f, 0x11f0b40, 0x11f0bef, 0x11f0bef, 0x11f0bef,
          0x11f0bef, 0x11f0bef, 0x11f0bef, 0x11f0bb7, 0x11f0bc8, 0x11f0c7b,
          0x11f0c7b, 0x11f0c7b, 0x11f0c7b, 0x11f0c7b, 0x11f0c7b, 0x11f0c43,
          0x11f0c54, 0x11f18e8, 0x11f1806, 0x11f17fd, 0x11f37c6, 0x11f37c6,
          0x11f37c6, 0x11f37c6, 0x11f37c6, 0x11f1a9e, 0x11f1b7d, 0x11f1be1,
          0x11f1c4c, 0x11f1cbb, 0x11f0783, 0x11f07ec, 0x11f1d3b, 0x11f06c7,
          0x11f0838, 0x11f1dac, 0x11f1df8, 0x11f1e2d, 0x11f1e79, 0x11f1eba,
          0x11f1f5b, 0x11f1f90, 0x11f1fdc, 0x11f203f, 0x11f2074, 0x11f20a9,
          0x11f20f5, 0x11f2141, 0x11f218d, 0x11f21f0, 0x11f2231, 0x11f2272,
          0x11f2313, 0x11f2375, 0x11f23d7, 0x11f2604, 0x11f2658, 0x11f26ac,
          0x11f2700, 0x11f2754, 0x11f2795, 0x11f27fe, 0x11f283f, 0x11f2880,
          0x11f28c1, 0x11f298f, 0x11f16d8, 0x11f29d4, 0x11f2a09, 0x11f2aa4,
          0x11f2ae9, 0x11f2b2e, 0x11f2b63, 0x11f2b9a, 0x11f2bd1, 0x11f2c10,
          0x11f37c6, 0x11f2c55, 0x11f2c88, 0x11f2cbb, 0x11f2cee, 0x11f2d21,
          0x11f2d54, 0x11f16d8, 0x11f37c6, 0x11f2d89, 0x11f2dcb, 0x11f2e00,
          0x11f2e35, 0x11f2e81, 0x11f2ecd, 0x11f2f02, 0x11f3000, 0x11f304c,
          0x11f3098, 0x11f30e4, 0x11f3117, 0x11f37c6, 0x11f1644, 0x11f0d00,
          0x11f05ae, 0x11f0df4, 0x11f0f0d, 0x11f1020, 0x11f1608, 0x11f161d,
          0x11f0af8, 0x11f16a2, 0x11f16fe, 0x11f1773, 0x11f17a9, 0x11f1916,
          0x11f1986, 0x11f19e9, 0x11f1a36, 0x11f0cc4, 0x11f314c, 0x11f31af,
          0x11f31e4, 0x11f3219, 0x11f324e, 0x11f3283, 0x11f32cf, 0x11f331b,
          0x11f3367, 0x11f33b3, 0x11f34d0, 0x11f351c, 0x11f3568, 0x11f359d,
          0x11f35e9, 0x11f3635, 0x11f3670, 0x11f36ab, 0x11f2902, 0x11f2943,
          0x11f36ec, 0x11f375b, 0x11f37c6, 0x11f1133, 0x11f1208, 0x11f1308,
          0x11f1408, 0x11f1508, 0x11f1efb, 0x11f22b3, 0x11f2a44, 0x11f3908,
          0x11f3958, 0x11f37c6, 0x11f37c6, 0x11f39bf, 0x11f37c6, 0x11f37c6,
          0x11f37c6, 0x11f37c6, 0x11f37c6, 0x11f37c6, 0x11f37c6, 0x11f37c6,
          0x11f37c6, 0x11f3a24 <repeats 64 times>}
        count = 4
        op = 4
        vectorp = 0x134619c
        stack = {pc = 0x145c7fa "\210)\315\002\002\"\204\067",
          byte_string = 20210060, byte_string_start = 0x145c7d8 "\b\203\b",
          next = 0x0}
        top = 0xd2f590
        result = -1074326558
        type = 2170686876
#14 0x011aa39a in funcall_lambda (fun=20210037, nargs=0, arg_vector=0xd2f730)
    at ../../emacs/src/eval.c:2855
        size = 5
        val = 13825832
        syms_left = 2
        next = 35088208
        lexenv = 17838365
        count = 4
        i = 0
        optional = false
        rest = false
#15 0x011aa06b in apply_lambda (fun=20210037, args=0, count=3)
    at ../../emacs/src/eval.c:2794
        args_left = 0
        i = 0
        numargs = 0
        arg_vector = 0xd2f730
        tem = 20210032
        sa_avail = 16384
        sa_count = 4
        sa_must_free = false
#16 0x011a8593 in eval_sub (form=24346539) at ../../emacs/src/eval.c:2211
        fun = 20210037
        val = 13826104
        original_fun = -10980960
        original_args = 0
        funcar = 1
        count = 3
        argvals = {22393528, 22498120, 13826056, 35102200, 16803664,
          24221736, 13826104, 18525724}
#17 0x011a7b8b in Feval (form=24346539, lexical=0)
    at ../../emacs/src/eval.c:1988
        count = 2
#18 0x0110b9ff in top_level_2 () at ../../emacs/src/keyboard.c:1096
No locals.
#19 0x011a635a in internal_condition_case (bfun=0x110b9dc <top_level_2>,
    handlers=9072, hfun=0x110b424 <cmd_error>) at ../../emacs/src/eval.c:1309
        val = 35097280
        c = 0x2b1f33c
#20 0x0110ba3f in top_level_1 (ignore=0) at ../../emacs/src/keyboard.c:1104
No locals.
#21 0x011a59ed in internal_catch (tag=24120, func=0x110ba01 <top_level_1>,
    arg=0) at ../../emacs/src/eval.c:1074
        val = 35112328
        c = 0x2b1f2c8
#22 0x0110b926 in command_loop () at ../../emacs/src/keyboard.c:1065
        val = 35101744
#23 0x0110af9f in recursive_edit_1 () at ../../emacs/src/keyboard.c:672
        count = 1
        val = 18525780
#24 0x0110b187 in Frecursive_edit () at ../../emacs/src/keyboard.c:743
        count = 0
        buffer = 0
#25 0x011090d9 in main (argc=1, argv=0x26204e0)
    at ../../emacs/src/emacs.c:1667
        dummy = 19542278
        stack_bottom_variable = 1 '\001'
        do_initial_setlocale = true
        dumping = false
        skip_args = 0
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = 0x0

In GNU Emacs 25.1.50.16 (i386-pc-mingw32)
 of 2016-01-14 built on SACHER
Repository revision: d16b3b60105f80cc06f778a53c22b4654c03b599
Windowing system distributor 'Microsoft Corp.', version 10.0.10586
Configured using:
 'configure --enable-checking=yes,glyphs --host=mingw32
 --prefix=/p/emacs-install-98 'CFLAGS=-O0 -g3
 -DUSE_STACK_LISP_OBJECTS=0' 'CPPFLAGS=-O0 -g3
 -DUSE_STACK_LISP_OBJECTS=0''

Configured features:
SOUND NOTIFY ACL TOOLKIT_SCROLL_BARS

Important settings:
  value of $LANG: FIN
  locale-coding-system: cp1252

Major mode: Lisp Interaction

Minor modes in effect:
  global-auto-revert-mode: t
  show-paren-mode: t
  iswitchb-mode: t
  shell-dirtrack-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
Loading c:/home/emacs-code/suur-sexp.el (source)...done
Loading c:/home/emacs-code/insert-parentheses.el (source)...done
Directory name in buffer names (uniquify) disabled globally
Package iswitchb is obsolete!
For information about GNU Emacs and the GNU system, type C-h C-a.
Quit

Load-path shadows:
c:/home/emacs-code/align hides p:/emacs-install-98/share/emacs/25.1.50/lisp/align
c:/home/emacs-code/flymake hides p:/emacs-install-98/share/emacs/25.1.50/lisp/progmodes/flymake

Features:
(shadow sort mail-extr emacsbug message dired dired-loaddefs rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mail-utils
autorevert filenotify paren flymake slime-fancy slime-trace-dialog
slime-fontifying-fu slime-package-fu slime-references
slime-compiler-notes-tree slime-scratch slime-presentations bridge
slime-fuzzy slime-fancy-trace slime-fancy-inspector slime-c-p-c
slime-editing-commands slime-autodoc slime-repl slime-parse slime
noutline outline pp hyperspec browse-url windmove iswitchb warnings
server js2-mode cc-mode cc-fonts cc-guess cc-menus cc-styles cc-align
cc-cmds cc-engine cc-vars cc-defs cider cider-mode cider-repl derived
cider-eldoc cider-interaction easy-mmode compile arc-mode archive-mode
cider-version pkg-info find-func lisp-mnt epl cider-client nrepl-client
cider-util ewoc etags xref project thingatpt dash edmacro kmacro
clojure-mode imenu inf-lisp tramp tramp-compat tramp-loaddefs trampver
ucs-normalize shell pcomplete comint ansi-color ring format-spec advice
scala-mode-auto align tempo url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf url-util mailcap xml-parse
doxymacs ion-comments ion-id jlahd-edit pager cl finder-inf
ac-nrepl-autoloads auto-complete-autoloads cider-autoloads
clojure-project-mode-autoloads clojurescript-mode-autoloads
nrepl-autoloads clojure-mode-autoloads pkg-info-autoloads epl-autoloads
dash-autoloads popup-autoloads project-mode-autoloads
levenshtein-autoloads info slime-autoloads w3-autoloads package
epg-config url-handlers url-parse auth-source cl-seq eieio byte-opt
bytecomp byte-compile cl-extra cconv eieio-core cl-macs gv
eieio-loaddefs gnus-util mm-util help-fns help-mode easymenu cl-loaddefs
pcase cl-lib mail-prsvr password-cache url-vars time-date mule-util
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel dos-w32 ls-lisp disp-table w32-win w32-vars term/common-win
tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment
elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan
thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian
slovak czech european ethiopic indian cyrillic chinese charscript
case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote w32notify w32 multi-tty
make-network-process emacs)

Memory information:
((conses 8 374079 11764)
 (symbols 24 36577 0)
 (miscs 20 47 129)
 (strings 16 72929 10231)
 (string-bytes 1 2055191)
 (vectors 8 55627)
 (vector-slots 4 925039 7306)
 (floats 8 298 298)
 (intervals 28 282 0)
 (buffers 516 12))




This bug report was last modified 9 years and 134 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.