Skip site navigation (1)Skip section navigation (2)
Date:      17 Nov 2007 17:15:12 +0100
From:      "Arno J. Klaassen" <arno@heho.snv.jussieu.fr>
To:        java@freebsd.org
Cc:        current@freebsd.org
Subject:   mutex-bug in recent releng_[67]?
Message-ID:  <wpfxz497cf.fsf@heho.snv.jussieu.fr>

next in thread | raw e-mail | index | archive | help
--=-=-=


Hello,

I have serious problems with " Runtime.getRuntime ().exec ()" : either
it hangs or gives a spinning mutex running at 99% cpu.

Attached is a simple code-example which shows the problem : it basically
just launces in iterations a process doing "/bin/ls -lRr /var/"
(the command seems to be important : e.g. ps(1) works fine, ls(1), tar(1),
cpio(1) (all doing fileio ...) fail more or less easiliy) 
and then waits for it to exit.

This works OK with linux-sun-jdk15, it fails (most often just hang,
something process ends with exit code 127) on all boxes I could test on :

 i686-releng_6-UP / jdk-1.5.0.13p7,1
 i686-releng_7-UP / jdk-1.5.0.12p6_2,1
 amd64-releng_6-SMP / jdk-1.5.0.12p6_2,1 and jdk-1.5.0.13p7,1
 amd64-releng_7-SMP / jdk-1.5.0.13p7,1


I somehow doubt this is really (only) a jdk-problem : it fails (hangs)
as well if I compile it with gcj to an executable (tested both on
 i686-releng_6-UP and amd64-releng_7-SMP).

Attached a gdb-log (for releng_7) with shows three threads, two of them
blocking in _umtx_op () (from pthread_cond_init () ), the third
in sigsuspend () (from pthread_getprio () ?).

If I create a core-dump with "gcore -s" all sixteen threads
block in (log attached for the two first threads ) :

  #0  0x00000008008cabfc in wait4 () from /lib/libc.so.7
  #1  0x000000080075616e in waitpid () from /lib/libthr.so.3
  #2  0x0000000801e43030 in Java_java_lang_UNIXProcess_waitForProcessExit (
      env=0x82c1a2998, junk=0x7ffffeef1798, pid=906)


I hope someone can help me for this, or should I write a PR?

Thanx very much in adavance.

Arno



--=-=-=
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=Test_proc.java



final class Test_proc
{
  Test_proc()
  {
    for (int i= 0; i < 2; i++)
      {
        System.out.println("test <" + i + ">: retval is <" 
            + fork_shell() + ">");
      }
  }

  private long fork_shell()
  {
    long ret = -1;
    int exit_value = 0;
    final String[] cmd = new String[3];
    final Process proc;

    cmd[0] = "/bin/sh";
    cmd[1] = "-c";
    cmd[2] = "/bin/ls -lRr /var/";

    try
      {
        proc = Runtime.getRuntime ().exec (cmd);

        proc.waitFor ();

        if ( (exit_value = proc.exitValue ()) != 0)
          {
            System.err.println ("ERROR: proc exit value" + exit_value + "!");
          }
        else ret=0;
    }
    catch (Exception ex)
      {
        ret = -2;
        ex.printStackTrace(System.err);
      }

    return ret;
  }


  public static void main (String[] args) throws Exception
  {
    new Test_proc ();
  }
}

--=-=-=
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=gdb.log

Script started on Sat Nov 17 16:22:55 2007
ivo@push ~/.scito/tmp [49908] > LD_LIBRARY_PATH=/usr/opt/scito/gcc-4.2.2/lib gdb  ./Test_proc.exe 
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...
(gdb) handle SIGSEGV SIGBUS nostop noprint
Signal        Stop	Print	Pass to program	Description
SIGBUS        No	No	Yes		Bus error
SIGSEGV       No	No	Yes		Segmentation fault
(gdb) r
Starting program: /files/home/ivo/.scito/tmp/Test_proc.exe 
[New LWP 100094]
[New Thread 0x803901120 (LWP 100094)]
[New Thread 0x803901290 (LWP 100127)]
[New Thread 0x803901400 (LWP 100132)]
^C
Program received signal SIGINT, Interrupt.
[Switching to Thread 0x803901400 (LWP 100132)]
0x00000008036e6c7c in sigsuspend () from /lib/libc.so.7
(gdb) info thr
* 4 Thread 0x803901400 (LWP 100132)  0x00000008036e6c7c in sigsuspend ()
   from /lib/libc.so.7
  3 Thread 0x803901290 (LWP 100127)  0x00000008036e60fc in _umtx_op ()
   from /lib/libc.so.7
  2 Thread 0x803901120 (LWP 100094)  0x00000008036e60fc in _umtx_op ()
   from /lib/libc.so.7
(gdb) thr 4
[Switching to thread 4 (Thread 0x803901400 (LWP 100132))]#0  0x00000008036e6c7c in sigsuspend () from /lib/libc.so.7
(gdb) where
#0  0x00000008036e6c7c in sigsuspend () from /lib/libc.so.7
#1  0x0000000803371c6a in sigsuspend () from /lib/libthr.so.3
#2  0x0000000801ce8d16 in java::lang::ConcreteProcess$ProcessManager::waitForSignal (this=Variable "this" is not available.
) at java/lang/natConcreteProcess.cc:142
#3  0x000000080202025d in _ZN4java4lang30ConcreteProcess$ProcessManager3runEJvv
    (this=0x599e60) at ConcreteProcess.java:167
#4  0x0000000801cee6a8 in _Jv_ThreadRun (thread=0x599e60)
    at ../../../../gcc/libjava/java/lang/natThread.cc:302
#5  0x0000000801cf4b37 in really_start (x=0x5265a0)
    at ../../../../gcc/libjava/posix-threads.cc:445
#6  0x00000008024da163 in GC_start_routine (arg=Variable "arg" is not available.
)
    at ../../../../gcc/boehm-gc/pthread_support.c:1301
#7  0x000000080336fa76 in pthread_getprio () from /lib/libthr.so.3
#8  0x0000000000000000 in ?? ()
Error accessing memory address 0x7fffff9fe000: Bad address.
(gdb) thr 3
[Switching to thread 3 (Thread 0x803901290 (LWP 100127))]#0  0x00000008036e60fc in _umtx_op () from /lib/libc.so.7
(gdb) where
#0  0x00000008036e60fc in _umtx_op () from /lib/libc.so.7
#1  0x0000000803377049 in pthread_cleanup_push () from /lib/libthr.so.3
#2  0x0000000803375a55 in pthread_cond_init () from /lib/libthr.so.3
#3  0x0000000801cf4ff2 in _Jv_CondWait (cv=0x8031da088, mu=0x8031da070, millis=Variable "millis" is not available.

) at ../../../../gcc/libjava/posix-threads.cc:179
#4  0x0000000801cdfd45 in gnu::gcj::runtime::FinalizerThread::run (this=Variable "this" is not available.
)
    at ../../../../gcc/libjava/gnu/gcj/runtime/natFinalizerThread.cc:57
#5  0x0000000801cee6a8 in _Jv_ThreadRun (thread=0x561e00)
    at ../../../../gcc/libjava/java/lang/natThread.cc:302
#6  0x0000000801cf4b37 in really_start (x=0x526720)
    at ../../../../gcc/libjava/posix-threads.cc:445
#7  0x00000008024da163 in GC_start_routine (arg=Variable "arg" is not available.
)
    at ../../../../gcc/boehm-gc/pthread_support.c:1301
#8  0x000000080336fa76 in pthread_getprio () from /lib/libthr.so.3
#9  0x0000000000000000 in ?? ()
Error accessing memory address 0x7fffffbff000: Bad address.
(gdb) thr 2
[Switching to thread 2 (Thread 0x803901120 (LWP 100094))]#0  0x00000008036e60fc in _umtx_op () from /lib/libc.so.7
(gdb) where
#0  0x00000008036e60fc in _umtx_op () from /lib/libc.so.7
#1  0x0000000803377049 in pthread_cleanup_push () from /lib/libthr.so.3
#2  0x0000000803375a55 in pthread_cond_init () from /lib/libthr.so.3
#3  0x0000000801cf4ff2 in _Jv_CondWait (cv=0x578cb0, mu=0x578cb8, millis=Variable "millis" is not available.
)
    at ../../../../gcc/libjava/posix-threads.cc:179
#4  0x0000000801ceab37 in java::lang::Object::wait (this=0x1, timeout=0, 
    nanos=0) at ../../../../gcc/libjava/java/lang/natObject.cc:1333
#5  0x00000008020206d8 in _ZN4java4lang15ConcreteProcess7waitForEJiv (
    this=0x59af60) at ConcreteProcess.java:324
#6  0x0000000000401771 in _ZN9Test_proc10fork_shellEJxv (this=0x54ade0)
    at Test_proc.java:29
#7  0x0000000000401467 in Test_proc.Test_proc() (this=0x54ade0)
    at Test_proc.java:10
#8  0x0000000000401982 in _ZN9Test_proc4mainEJvP6JArrayIPN4java4lang6StringEE (
    args=0x52af70) at Test_proc.java:49
#9  0x0000000801ce03c3 in gnu::java::lang::MainThread::call_main (
    this=0x599f00) at ../../../../gcc/libjava/gnu/java/lang/natMainThread.cc:50
#10 0x0000000801cee6a8 in _Jv_ThreadRun (thread=0x599f00)
    at ../../../../gcc/libjava/java/lang/natThread.cc:302
#11 0x0000000801cb1259 in _Jv_RunMain (vm_args=Variable "vm_args" is not available.
)
    at ../../../../gcc/libjava/prims.cc:1574
#12 0x000000000040139a in main (argc=1, argv=0x7fffffffead8)
    at /var/tmp//ccGmt6ri.i:11
(gdb) quit
The program is running.  Exit anyway? (y or n) y

--=-=-=
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=jdk-gcore.log
Content-Transfer-Encoding: base64

U2NyaXB0IHN0YXJ0ZWQgb24gU2F0IE5vdiAxNyAxNzowMDo0NiAyMDA3Cml2b0BwdXNoIH4vLnNj
aXRvL3RtcCBbNDk5MDldID4gZ2RiIC1jb3JlIGNvcmUuOTA1IC91c3IvbG9jYWwvamRrMS41LjAv
YmluL2phdmFfZyBHTlUgZ2RiIDYuMS4xIFtGcmVlQlNEXQpDb3B5cmlnaHQgMjAwNCBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KR0RCIGlzIGZyZWUgc29mdHdhcmUsIGNvdmVyZWQgYnkg
dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBhbmQgeW91IGFyZQp3ZWxjb21lIHRvIGNo
YW5nZSBpdCBhbmQvb3IgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgaXQgdW5kZXIgY2VydGFpbiBjb25k
aXRpb25zLgpUeXBlICJzaG93IGNvcHlpbmciIHRvIHNlZSB0aGUgY29uZGl0aW9ucy4KVGhlcmUg
aXMgYWJzb2x1dGVseSBubyB3YXJyYW50eSBmb3IgR0RCLiAgVHlwZSAic2hvdyB3YXJyYW50eSIg
Zm9yIGRldGFpbHMuClRoaXMgR0RCIHdhcyBjb25maWd1cmVkIGFzICJhbWQ2NC1tYXJjZWwtZnJl
ZWJzZCIuLi4KQ29yZSB3YXMgZ2VuZXJhdGVkIGJ5IGBqYXZhX2cnLgpSZWFkaW5nIHN5bWJvbHMg
ZnJvbSAvbGliL2xpYnouc28uNC4uLmRvbmUuCkxvYWRlZCBzeW1ib2xzIGZvciAvbGliL2xpYnou
c28uNApSZWFkaW5nIHN5bWJvbHMgZnJvbSAvbGliL2xpYnRoci5zby4zLi4uZG9uZS4KTG9hZGVk
IHN5bWJvbHMgZm9yIC9saWIvbGlidGhyLnNvLjMKUmVhZGluZyBzeW1ib2xzIGZyb20gL2xpYi9s
aWJjLnNvLjcuLi5kb25lLgpMb2FkZWQgc3ltYm9scyBmb3IgL2xpYi9saWJjLnNvLjcKUmVhZGlu
ZyBzeW1ib2xzIGZyb20gL3Vzci9sb2NhbC9qZGsxLjUuMC9qcmUvbGliL2FtZDY0L3NlcnZlci9s
aWJqdm1fZy5zby4uLmRvbmUuCkxvYWRlZCBzeW1ib2xzIGZvciAvdXNyL2xvY2FsL2pkazEuNS4w
L2pyZS9saWIvYW1kNjQvc2VydmVyL2xpYmp2bV9nLnNvClJlYWRpbmcgc3ltYm9scyBmcm9tIC91
c3IvbGliL2xpYnN0ZGMrKy5zby42Li4uZG9uZS4KTG9hZGVkIHN5bWJvbHMgZm9yIC91c3IvbGli
L2xpYnN0ZGMrKy5zby42ClJlYWRpbmcgc3ltYm9scyBmcm9tIC9saWIvbGlibS5zby41Li4uZG9u
ZS4KTG9hZGVkIHN5bWJvbHMgZm9yIC9saWIvbGlibS5zby41ClJlYWRpbmcgc3ltYm9scyBmcm9t
IC9saWIvbGliZ2NjX3Muc28uMS4uLmRvbmUuCkxvYWRlZCBzeW1ib2xzIGZvciAvbGliL2xpYmdj
Y19zLnNvLjEKUmVhZGluZyBzeW1ib2xzIGZyb20gL3Vzci9sb2NhbC9qZGsxLjUuMC9qcmUvbGli
L2FtZDY0L25hdGl2ZV90aHJlYWRzL2xpYmhwaV9nLnNvLi4uZG9uZS4KTG9hZGVkIHN5bWJvbHMg
Zm9yIC91c3IvbG9jYWwvamRrMS41LjAvanJlL2xpYi9hbWQ2NC9uYXRpdmVfdGhyZWFkcy9saWJo
cGlfZy5zbwpSZWFkaW5nIHN5bWJvbHMgZnJvbSAvdXNyL2xvY2FsL2pkazEuNS4wL2pyZS9saWIv
YW1kNjQvbGlidmVyaWZ5X2cuc28uLi5kb25lLgpMb2FkZWQgc3ltYm9scyBmb3IgL3Vzci9sb2Nh
bC9qZGsxLjUuMC9qcmUvbGliL2FtZDY0L2xpYnZlcmlmeV9nLnNvClJlYWRpbmcgc3ltYm9scyBm
cm9tIC91c3IvbG9jYWwvamRrMS41LjAvanJlL2xpYi9hbWQ2NC9saWJqYXZhX2cuc28uLi5kb25l
LgpMb2FkZWQgc3ltYm9scyBmb3IgL3Vzci9sb2NhbC9qZGsxLjUuMC9qcmUvbGliL2FtZDY0L2xp
YmphdmFfZy5zbwpSZWFkaW5nIHN5bWJvbHMgZnJvbSAvdXNyL2xvY2FsL2pkazEuNS4wL2pyZS9s
aWIvYW1kNjQvbGliemlwX2cuc28uLi5kb25lLgpMb2FkZWQgc3ltYm9scyBmb3IgL3Vzci9sb2Nh
bC9qZGsxLjUuMC9qcmUvbGliL2FtZDY0L2xpYnppcF9nLnNvClJlYWRpbmcgc3ltYm9scyBmcm9t
IC9saWJleGVjL2xkLWVsZi5zby4xLi4uZG9uZS4KTG9hZGVkIHN5bWJvbHMgZm9yIC9saWJleGVj
L2xkLWVsZi5zby4xCiMwICAweDAwMDAwMDA4MDA4Y2FiZmMgaW4gd2FpdDQgKCkgZnJvbSAvbGli
L2xpYmMuc28uNwpbTmV3IFRocmVhZCAweDgwMGIwNGQ4MCAoTFdQIDEwMDE0NSldCltOZXcgVGhy
ZWFkIDB4ODAwYjA0YzEwIChMV1AgMTAwMTQ0KV0KW05ldyBUaHJlYWQgMHg4MDBiMDRhYTAgKExX
UCAxMDAxNDMpXQpbTmV3IFRocmVhZCAweDgwMGIwNDkzMCAoTFdQIDEwMDE0MildCltOZXcgVGhy
ZWFkIDB4ODAwYjA0N2MwIChMV1AgMTAwMTQxKV0KW05ldyBUaHJlYWQgMHg4MDBiMDQ2NTAgKExX
UCAxMDAxNDApXQpbTmV3IFRocmVhZCAweDgwMGIwNDRlMCAoTFdQIDEwMDEzOSldCltOZXcgVGhy
ZWFkIDB4ODAwYjAzZjIwIChMV1AgMTAwMTM4KV0KW05ldyBUaHJlYWQgMHg4MDBiMDNkYjAgKExX
UCAxMDAxMzcpXQpbTmV3IFRocmVhZCAweDgwMGIwMzNhMCAoTFdQIDEwMDEzNildCltOZXcgVGhy
ZWFkIDB4ODAwYjAxODUwIChMV1AgMTAwMTM1KV0KW05ldyBUaHJlYWQgMHg4MDBiMDE2ZTAgKExX
UCAxMDAxMzQpXQpbTmV3IFRocmVhZCAweDgwMGIwMTU3MCAoTFdQIDEwMDEyNyldCltOZXcgVGhy
ZWFkIDB4ODAwYjAxNDAwIChMV1AgMTAwMDk0KV0KW05ldyBUaHJlYWQgMHg4MDBiMDExMjAgKExX
UCAxMDAwNTQpXQpbTmV3IExXUCA5MDVdCihnZGIpIGluZm8gdGhyCiogMTYgTFdQIDkwNSAgMHgw
MDAwMDAwODAwOGNhYmZjIGluIHdhaXQ0ICgpIGZyb20gL2xpYi9saWJjLnNvLjcKICAxNSBUaHJl
YWQgMHg4MDBiMDExMjAgKExXUCAxMDAwNTQpICB3YXJuaW5nOiBDb3VsZG4ndCBmaW5kIGdlbmVy
YWwtcHVycG9zZSByZWdpc3RlcnMgaW4gY29yZSBmaWxlLgoKMHgwMDAwMDAwODAwOGNhYmZjIGlu
IHdhaXQ0ICgpCiAgIGZyb20gL2xpYi9saWJjLnNvLjcKICAxNCBUaHJlYWQgMHg4MDBiMDE0MDAg
KExXUCAxMDAwOTQpICB3YXJuaW5nOiBDb3VsZG4ndCBmaW5kIGdlbmVyYWwtcHVycG9zZSByZWdp
c3RlcnMgaW4gY29yZSBmaWxlLgoKMHgwMDAwMDAwODAwOGNhYmZjIGluIHdhaXQ0ICgpCiAgIGZy
b20gL2xpYi9saWJjLnNvLjcKICAxMyBUaHJlYWQgMHg4MDBiMDE1NzAgKExXUCAxMDAxMjcpICB3
YXJuaW5nOiBDb3VsZG4ndCBmaW5kIGdlbmVyYWwtcHVycG9zZSByZWdpc3RlcnMgaW4gY29yZSBm
aWxlLgoKMHgwMDAwMDAwODAwOGNhYmZjIGluIHdhaXQ0ICgpCiAgIGZyb20gL2xpYi9saWJjLnNv
LjcKICAxMiBUaHJlYWQgMHg4MDBiMDE2ZTAgKExXUCAxMDAxMzQpICB3YXJuaW5nOiBDb3VsZG4n
dCBmaW5kIGdlbmVyYWwtcHVycG9zZSByZWdpc3RlcnMgaW4gY29yZSBmaWxlLgoKMHgwMDAwMDAw
ODAwOGNhYmZjIGluIHdhaXQ0ICgpCiAgIGZyb20gL2xpYi9saWJjLnNvLjcKICAxMSBUaHJlYWQg
MHg4MDBiMDE4NTAgKExXUCAxMDAxMzUpICB3YXJuaW5nOiBDb3VsZG4ndCBmaW5kIGdlbmVyYWwt
cHVycG9zZSByZWdpc3RlcnMgaW4gY29yZSBmaWxlLgoKMHgwMDAwMDAwODAwOGNhYmZjIGluIHdh
aXQ0ICgpCiAgIGZyb20gL2xpYi9saWJjLnNvLjcKICAxMCBUaHJlYWQgMHg4MDBiMDMzYTAgKExX
UCAxMDAxMzYpICB3YXJuaW5nOiBDb3VsZG4ndCBmaW5kIGdlbmVyYWwtcHVycG9zZSByZWdpc3Rl
cnMgaW4gY29yZSBmaWxlLgoKMHgwMDAwMDAwODAwOGNhYmZjIGluIHdhaXQ0ICgpCiAgIGZyb20g
L2xpYi9saWJjLnNvLjcKICA5IFRocmVhZCAweDgwMGIwM2RiMCAoTFdQIDEwMDEzNykgIHdhcm5p
bmc6IENvdWxkbid0IGZpbmQgZ2VuZXJhbC1wdXJwb3NlIHJlZ2lzdGVycyBpbiBjb3JlIGZpbGUu
CgoweDAwMDAwMDA4MDA4Y2FiZmMgaW4gd2FpdDQgKCkKICAgZnJvbSAvbGliL2xpYmMuc28uNwog
IDggVGhyZWFkIDB4ODAwYjAzZjIwIChMV1AgMTAwMTM4KSAgd2FybmluZzogQ291bGRuJ3QgZmlu
ZCBnZW5lcmFsLXB1cnBvc2UgcmVnaXN0ZXJzIGluIGNvcmUgZmlsZS4KCjB4MDAwMDAwMDgwMDhj
YWJmYyBpbiB3YWl0NCAoKQogICBmcm9tIC9saWIvbGliYy5zby43CiAgNyBUaHJlYWQgMHg4MDBi
MDQ0ZTAgKExXUCAxMDAxMzkpICB3YXJuaW5nOiBDb3VsZG4ndCBmaW5kIGdlbmVyYWwtcHVycG9z
ZSByZWdpc3RlcnMgaW4gY29yZSBmaWxlLgoKMHgwMDAwMDAwODAwOGNhYmZjIGluIHdhaXQ0ICgp
CiAgIGZyb20gL2xpYi9saWJjLnNvLjcKICA2IFRocmVhZCAweDgwMGIwNDY1MCAoTFdQIDEwMDE0
MCkgIHdhcm5pbmc6IENvdWxkbid0IGZpbmQgZ2VuZXJhbC1wdXJwb3NlIHJlZ2lzdGVycyBpbiBj
b3JlIGZpbGUuCgoweDAwMDAwMDA4MDA4Y2FiZmMgaW4gd2FpdDQgKCkKICAgZnJvbSAvbGliL2xp
YmMuc28uNwogIDUgVGhyZWFkIDB4ODAwYjA0N2MwIChMV1AgMTAwMTQxKSAgd2FybmluZzogQ291
bGRuJ3QgZmluZCBnZW5lcmFsLXB1cnBvc2UgcmVnaXN0ZXJzIGluIGNvcmUgZmlsZS4KCjB4MDAw
MDAwMDgwMDhjYWJmYyBpbiB3YWl0NCAoKQogICBmcm9tIC9saWIvbGliYy5zby43CiAgNCBUaHJl
YWQgMHg4MDBiMDQ5MzAgKExXUCAxMDAxNDIpICB3YXJuaW5nOiBDb3VsZG4ndCBmaW5kIGdlbmVy
YWwtcHVycG9zZSByZWdpc3RlcnMgaW4gY29yZSBmaWxlLgoKMHgwMDAwMDAwODAwOGNhYmZjIGlu
IHdhaXQ0ICgpCiAgIGZyb20gL2xpYi9saWJjLnNvLjcKICAzIFRocmVhZCAweDgwMGIwNGFhMCAo
TFdQIDEwMDE0MykgIHdhcm5pbmc6IENvdWxkbid0IGZpbmQgZ2VuZXJhbC1wdXJwb3NlIHJlZ2lz
dGVycyBpbiBjb3JlIGZpbGUuCgoweDAwMDAwMDA4MDA4Y2FiZmMgaW4gd2FpdDQgKCkKICAgZnJv
bSAvbGliL2xpYmMuc28uNwogIDIgVGhyZWFkIDB4ODAwYjA0YzEwIChMV1AgMTAwMTQ0KSAgd2Fy
bmluZzogQ291bGRuJ3QgZmluZCBnZW5lcmFsLXB1cnBvc2UgcmVnaXN0ZXJzIGluIGNvcmUgZmls
ZS4KCjB4MDAwMDAwMDgwMDhjYWJmYyBpbiB3YWl0NCAoKQogICBmcm9tIC9saWIvbGliYy5zby43
CiAgMSBUaHJlYWQgMHg4MDBiMDRkODAgKExXUCAxMDAxNDUpICB3YXJuaW5nOiBDb3VsZG4ndCBm
aW5kIGdlbmVyYWwtcHVycG9zZSByZWdpc3RlcnMgaW4gY29yZSBmaWxlLgoKMHgwMDAwMDAwODAw
OGNhYmZjIGluIHdhaXQ0ICgpCiAgIGZyb20gL2xpYi9saWJjLnNvLjcKKGdkYikgd2hlcmUIIAgI
IAgIIAgIIAgIIAgHBwcHBwcHB3RociAxNgpbU3dpdGNoaW5nIHRvIHRocmVhZCAxNiAoTFdQIDkw
NSldIzAgIDB4MDAwMDAwMDgwMDhjYWJmYyBpbiB3YWl0NCAoKQogICBmcm9tIC9saWIvbGliYy5z
by43CihnZGIpIHdoZXJlCiMwICAweDAwMDAwMDA4MDA4Y2FiZmMgaW4gd2FpdDQgKCkgZnJvbSAv
bGliL2xpYmMuc28uNwojMSAgMHgwMDAwMDAwODAwNzU2MTZlIGluIHdhaXRwaWQgKCkgZnJvbSAv
bGliL2xpYnRoci5zby4zCiMyICAweDAwMDAwMDA4MDFlNDMwMzAgaW4gSmF2YV9qYXZhX2xhbmdf
VU5JWFByb2Nlc3Nfd2FpdEZvclByb2Nlc3NFeGl0ICgKICAgIGVudj0weDgyYzFhMjk5OCwganVu
az0weDdmZmZmZWVmMTc5OCwgcGlkPTkwNikKICAgIGF0IC4uLy4uLy4uL3NyYy9zb2xhcmlzL25h
dGl2ZS9qYXZhL2xhbmcvVU5JWFByb2Nlc3NfbWQuYzozMDMKIzMgIDB4MDAwMDAwMDgwNGYxZGJl
MCBpbiA/PyAoKQojNCAgMHgwMDAwMDAwODAxNjY5ZjUwIGluIHZ0YWJsZSBmb3IgVGhyZWFkSW5W
TWZyb21KYXZhTm9Bc3luY0V4Y2VwdGlvbiAoKQogICBmcm9tIC91c3IvbG9jYWwvamRrMS41LjAv
anJlL2xpYi9hbWQ2NC9zZXJ2ZXIvbGlianZtX2cuc28KIzUgIDB4MDAwMDAwMDgwNGYzMDhiZiBp
biA/PyAoKQojNiAgMHgwMDAwN2ZmZmZlZWYxNjIwIGluID8/ICgpCiM3ICAweDAwMDA3ZmZmZmVl
ZjE3MzggaW4gPz8gKCkKIzggIDB4MDAwMDAwMDgwODFlZmY0OCBpbiA/PyAoKQojOSAgMHgwMDAw
N2ZmZmZlZWYxNzk4IGluID8/ICgpCiMxMCAweDAwMDAwMDA4MDgxZjFkYzAgaW4gPz8gKCkKIzEx
IDB4MDAwMDAwMDAwMDAwMDAwMCBpbiA/PyAoKQojMTIgMHgwMDAwMDAwODA4MWVmZjQ4IGluID8/
ICgpCiMxMyAweDAwMDA3ZmZmZmVlZjE3OTAgaW4gPz8gKCkKIzE0IDB4MDAwMDdmZmZmZWVmMTdk
OCBpbiA/PyAoKQojMTUgMHgwMDAwMDAwODA0ZjA4ZTFhIGluID8/ICgpCiMxNiAweDAwMDAwMDAw
MDAwMDAwMDAgaW4gPz8gKCkKIzE3IDB4MDAwMDAwMDgwNGYxNTRkNiBpbiA/PyAoKQojMTggMHgw
MDAwMDAwMDAwMDAwMzhhIGluID8/ICgpCiMxOSAweDAwMDAwMDA4MjE3ZmI0MTAgaW4gPz8gKCkK
IzIwIDB4MDAwMDdmZmZmZWVmMTdhMCBpbiA/PyAoKQojMjEgMHgwMDAwMDAwODA4MWYwZWIyIGlu
ID8/ICgpCiMyMiAweDAwMDA3ZmZmZmVlZjE3ZjAgaW4gPz8gKCkKIzIzIDB4MDAwMDAwMDgwODFm
MWRjMCBpbiA/PyAoKQojMjQgMHgwMDAwMDAwMDAwMDAwMDAwIGluID8/ICgpCiMyNSAweDAwMDAw
MDA4MDgxZjBlYzAgaW4gPz8gKCkKIzI2IDB4MDAwMDdmZmZmZWVmMTdlOCBpbiA/PyAoKQojMjcg
MHgwMDAwN2ZmZmZlZWYxODMwIGluID8/ICgpCiMyOCAweDAwMDAwMDA4MDRmMDhlMWEgaW4gPz8g
KCkKIzI5IDB4MDAwMDAwMDAwMDAwMDM4YSBpbiA/PyAoKQojMzAgMHgwMDAwMDAwODIxN2ZiNDEw
IGluID8/ICgpCiMzMSAweDAwMDA3ZmZmZmVlZjE3ZjggaW4gPz8gKCkKIzMyIDB4MDAwMDAwMDgw
ODFmNDE1NSBpbiA/PyAoKQojMzMgMHgwMDAwN2ZmZmZlZWYxODU4IGluID8/ICgpCiMzNCAweDAw
MDAwMDA4MDgxZjQ2MDggaW4gPz8gKCkKIzM1IDB4MDAwMDAwMDAwMDAwMDAwMCBpbiA/PyAoKQoj
MzYgMHgwMDAwMDAwODA4MWY0MWIwIGluID8/ICgpCiMzNyAweDAwMDA3ZmZmZmVlZjE4NTggaW4g
Pz8gKCkKIzM4IDB4MDAwMDdmZmZmZWVmMThjMCBpbiA/PyAoKQojMzkgMHgwMDAwMDAwODA0ZjA2
NGFlIGluID8/ICgpCiM0MCAweDAwMDAwMDAwMDAwMDAwMDAgaW4gPz8gKCkKIzQxIDB4MDAwMDAw
MDAwMDAwMDAwMCBpbiA/PyAoKQojNDIgMHgwMDAwMDAwMDAwMDAwMDAwIGluID8/ICgpCiM0MyAw
eDAwMDAwMDA4MjE3ZmI1YzggaW4gPz8gKCkKIzQ0IDB4MDAwMDdmZmYwMDAwMWZhMCBpbiA/PyAo
KQojNDUgMHgwMDAwMDAwMDAwMDAwMDAwIGluID8/ICgpCiM0NiAweDAwMDAwMDAwMDAwMDAwMDEg
aW4gPz8gKCkKIzQ3IDB4MDAwMDdmZmZmZWVmMWJjMCBpbiA/PyAoKQojNDggMHgwMDAwMDAwMDAw
MDAwMDAxIGluID8/ICgpCiM0OSAweDAwMDAwMDA4MDRmMDYzYTggaW4gPz8gKCkKIzUwIDB4MDAw
MDdmZmZmZWVmMTkxMCBpbiA/PyAoKQojNTEgMHgwMDAwN2ZmZmZlZWYxY2I4IGluID8/ICgpCiM1
MiAweDAwMDA3ZmZmMDAwMDAwMGEgaW4gPz8gKCkKIzUzIDB4MDAwMDAwMDgwODFmNDFiMCBpbiA/
PyAoKQojNTQgMHgwMDAwMDAwODA0ZjE4ZTYwIGluID8/ICgpCiM1NSAweDAwMDA3ZmZmZmVlZjFi
YzAgaW4gPz8gKCkKIzU2IDB4MDAwMDdmZmZmZWVmMWEyMCBpbiA/PyAoKQojNTcgMHgwMDAwMDAw
ODAxMGEyZGM0IGluIEphdmFDYWxsczo6Y2FsbF9oZWxwZXIgKHJlc3VsdD0weDNkOCwgbT0weGZm
ZmZmZmY4LCAKICAgIGFyZ3M9MHhlLCBfX3RoZV90aHJlYWRfXz0weDgwMTJkMTQxMCkKICAgIGF0
IC9maWxlcy9ic2QvcG9ydHMvamF2YS9qZGsxNS93b3JrL2hvdHNwb3Qvc3JjL3NoYXJlL3ZtL3J1
bnRpbWUvamF2YUNhbGxzLmNwcDozNzMKUHJldmlvdXMgZnJhbWUgaW5uZXIgdG8gdGhpcyBmcmFt
ZSAoY29ycnVwdCBzdGFjaz8pCihnZGIpIHdoZXJlCAgICAh0aHIgMTYIIAg1Cndhcm5pbmc6IENv
dWxkbid0IGZpbmQgZ2VuZXJhbC1wdXJwb3NlIHJlZ2lzdGVycyBpbiBjb3JlIGZpbGUuCgpbU3dp
dGNoaW5nIHRvIHRocmVhZCAxNSAoVGhyZWFkIDB4ODAwYjAxMTIwIChMV1AgMTAwMDU0KSldIzAg
IDB4MDAwMDAwMDgwMDhjYWJmYyBpbiB3YWl0NCAoKSBmcm9tIC9saWIvbGliYy5zby43CihnZGIp
IHRociAxNQgICAgICBtbMVB3aGVyZQojMCAgMHgwMDAwMDAwODAwOGNhYmZjIGluIHdhaXQ0ICgp
IGZyb20gL2xpYi9saWJjLnNvLjcKIzEgIDB4MDAwMDAwMDgwMDc1NjE2ZSBpbiB3YWl0cGlkICgp
IGZyb20gL2xpYi9saWJ0aHIuc28uMwojMiAgMHgwMDAwMDAwODAxZTQzMDMwIGluIEphdmFfamF2
YV9sYW5nX1VOSVhQcm9jZXNzX3dhaXRGb3JQcm9jZXNzRXhpdCAoCiAgICBlbnY9MHg4MmMxYTI5
OTgsIGp1bms9MHg3ZmZmZmVlZjE3OTgsIHBpZD05MDYpCiAgICBhdCAuLi8uLi8uLi9zcmMvc29s
YXJpcy9uYXRpdmUvamF2YS9sYW5nL1VOSVhQcm9jZXNzX21kLmM6MzAzCiMzICAweDAwMDAwMDA4
MDRmMWRiZTAgaW4gPz8gKCkKIzQgIDB4MDAwMDAwMDgwMTY2OWY1MCBpbiB2dGFibGUgZm9yIFRo
cmVhZEluVk1mcm9tSmF2YU5vQXN5bmNFeGNlcHRpb24gKCkKICAgZnJvbSAvdXNyL2xvY2FsL2pk
azEuNS4wL2pyZS9saWIvYW1kNjQvc2VydmVyL2xpYmp2bV9nLnNvCiM1ICAweDAwMDAwMDA4MDRm
MzA4YmYgaW4gPz8gKCkKIzYgIDB4MDAwMDdmZmZmZWVmMTYyMCBpbiA/PyAoKQojNyAgMHgwMDAw
N2ZmZmZlZWYxNzM4IGluID8/ICgpCiM4ICAweDAwMDAwMDA4MDgxZWZmNDggaW4gPz8gKCkKIzkg
IDB4MDAwMDdmZmZmZWVmMTc5OCBpbiA/PyAoKQojMTAgMHgwMDAwMDAwODA4MWYxZGMwIGluID8/
ICgpCiMxMSAweDAwMDAwMDAwMDAwMDAwMDAgaW4gPz8gKCkKIzEyIDB4MDAwMDAwMDgwODFlZmY0
OCBpbiA/PyAoKQojMTMgMHgwMDAwN2ZmZmZlZWYxNzkwIGluID8/ICgpCiMxNCAweDAwMDA3ZmZm
ZmVlZjE3ZDggaW4gPz8gKCkKIzE1IDB4MDAwMDAwMDgwNGYwOGUxYSBpbiA/PyAoKQojMTYgMHgw
MDAwMDAwMDAwMDAwMDAwIGluID8/ICgpCiMxNyAweDAwMDAwMDA4MDRmMTU0ZDYgaW4gPz8gKCkK
IzE4IDB4MDAwMDAwMDAwMDAwMDM4YSBpbiA/PyAoKQojMTkgMHgwMDAwMDAwODIxN2ZiNDEwIGlu
ID8/ICgpCiMyMCAweDAwMDA3ZmZmZmVlZjE3YTAgaW4gPz8gKCkKIzIxIDB4MDAwMDAwMDgwODFm
MGViMiBpbiA/PyAoKQojMjIgMHgwMDAwN2ZmZmZlZWYxN2YwIGluID8/ICgpCiMyMyAweDAwMDAw
MDA4MDgxZjFkYzAgaW4gPz8gKCkKIzI0IDB4MDAwMDAwMDAwMDAwMDAwMCBpbiA/PyAoKQojMjUg
MHgwMDAwMDAwODA4MWYwZWMwIGluID8/ICgpCiMyNiAweDAwMDA3ZmZmZmVlZjE3ZTggaW4gPz8g
KCkKIzI3IDB4MDAwMDdmZmZmZWVmMTgzMCBpbiA/PyAoKQojMjggMHgwMDAwMDAwODA0ZjA4ZTFh
IGluID8/ICgpCiMyOSAweDAwMDAwMDAwMDAwMDAzOGEgaW4gPz8gKCkKIzMwIDB4MDAwMDAwMDgy
MTdmYjQxMCBpbiA/PyAoKQojMzEgMHgwMDAwN2ZmZmZlZWYxN2Y4IGluID8/ICgpCiMzMiAweDAw
MDAwMDA4MDgxZjQxNTUgaW4gPz8gKCkKIzMzIDB4MDAwMDdmZmZmZWVmMTg1OCBpbiA/PyAoKQoj
MzQgMHgwMDAwMDAwODA4MWY0NjA4IGluID8/ICgpCiMzNSAweDAwMDAwMDAwMDAwMDAwMDAgaW4g
Pz8gKCkKIzM2IDB4MDAwMDAwMDgwODFmNDFiMCBpbiA/PyAoKQojMzcgMHgwMDAwN2ZmZmZlZWYx
ODU4IGluID8/ICgpCiMzOCAweDAwMDA3ZmZmZmVlZjE4YzAgaW4gPz8gKCkKIzM5IDB4MDAwMDAw
MDgwNGYwNjRhZSBpbiA/PyAoKQojNDAgMHgwMDAwMDAwMDAwMDAwMDAwIGluID8/ICgpCiM0MSAw
eDAwMDAwMDAwMDAwMDAwMDAgaW4gPz8gKCkKIzQyIDB4MDAwMDAwMDAwMDAwMDAwMCBpbiA/PyAo
KQojNDMgMHgwMDAwMDAwODIxN2ZiNWM4IGluID8/ICgpCiM0NCAweDAwMDA3ZmZmMDAwMDFmYTAg
aW4gPz8gKCkKIzQ1IDB4MDAwMDAwMDAwMDAwMDAwMCBpbiA/PyAoKQojNDYgMHgwMDAwMDAwMDAw
MDAwMDAxIGluID8/ICgpCiM0NyAweDAwMDA3ZmZmZmVlZjFiYzAgaW4gPz8gKCkKIzQ4IDB4MDAw
MDAwMDAwMDAwMDAwMSBpbiA/PyAoKQojNDkgMHgwMDAwMDAwODA0ZjA2M2E4IGluID8/ICgpCiM1
MCAweDAwMDA3ZmZmZmVlZjE5MTAgaW4gPz8gKCkKIzUxIDB4MDAwMDdmZmZmZWVmMWNiOCBpbiA/
PyAoKQojNTIgMHgwMDAwN2ZmZjAwMDAwMDBhIGluID8/ICgpCiM1MyAweDAwMDAwMDA4MDgxZjQx
YjAgaW4gPz8gKCkKIzU0IDB4MDAwMDAwMDgwNGYxOGU2MCBpbiA/PyAoKQojNTUgMHgwMDAwN2Zm
ZmZlZWYxYmMwIGluID8/ICgpCiM1NiAweDAwMDA3ZmZmZmVlZjFhMjAgaW4gPz8gKCkKIzU3IDB4
MDAwMDAwMDgwMTBhMmRjNCBpbiBKYXZhQ2FsbHM6OmNhbGxfaGVscGVyIChyZXN1bHQ9MHgzZDgs
IG09MHhmZmZmZmZmOCwgCiAgICBhcmdzPTB4ZSwgX190aGVfdGhyZWFkX189MHg4MDEyZDE0MTAp
CiAgICBhdCAvZmlsZXMvYnNkL3BvcnRzL2phdmEvamRrMTUvd29yay9ob3RzcG90L3NyYy9zaGFy
ZS92bS9ydW50aW1lL2phdmFDYWxscy5jcHA6MzczClByZXZpb3VzIGZyYW1lIGlubmVyIHRvIHRo
aXMgZnJhbWUgKGNvcnJ1cHQgc3RhY2s/KQoKWyBpZGVtIGFsbCB0aHJlYWRzIF0K
--=-=-=



-- 

  Arno J. Klaassen

  SCITO S.A.
  8 rue des Haies
  F-75020 Paris, France
  http://scito.com


--=-=-=--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?wpfxz497cf.fsf>