Coda File System

lwp 2.0 problem on FreeBSD?

From: Ivan Popov <pin_at_konvalo.org>
Date: Sun, 19 Jun 2005 16:28:40 -0400
Hello,

for the latest coda-client-setup I have compiled lwp 2.0.

To compile for Darwin I had to reverse some logic about using ucontext.h

On FreeBSD the compilation succeded without tweaks but the resulting Venus
randomly exit()ed without any reason or log messages,
seemingly during some rpc2-activity, like probes or backprobes.

I managed to ktrace it once and here is the end of the kdump output:
--------------------------------------------------
 ...
   331 venus    CALL  ioctl(0x8,FIONREAD,0x45053e8c)
   331 venus    RET   ioctl 0
   331 venus    CALL  gettimeofday(0x45053ee0,0)
   331 venus    RET   gettimeofday 0
   331 venus    CALL  gettimeofday(0x8129f10,0)
   331 venus    RET   gettimeofday 0
   331 venus    CALL  gettimeofday(0x8129494,0)
   331 venus    RET   gettimeofday 0
   331 venus    CALL  swapcontext(0x81294a0,0x81508a0)
   331 venus    RET   swapcontext JUSTRETURN
   331 venus    CALL  gettimeofday(0x451cf8f8,0)
   331 venus    RET   gettimeofday 0
   331 venus    CALL  gettimeofday(0x451cfc70,0)
   331 venus    RET   gettimeofday 0
   331 venus    CALL  write(0x4,0x451cfb20,0x12)
   331 venus    GIO   fd 4 wrote 18 bytes
       "fetch::probe done
       "
   331 venus    RET   write 18/0x12
   331 venus    CALL  gettimeofday(0x812b094,0)
   331 venus    RET   gettimeofday 0
   331 venus    CALL  swapcontext(0x81508a0,0x281c66c0)
   331 venus    RET   swapcontext JUSTRETURN
   331 venus    CALL  exit(0)
--------------------------------------------------

I replaced the library by the version from 20040923 and it seems to work.

lwp 2.0 was compiled on FreeBSD 5.3 and tested on FreeBSD 5.4
which "should" work but didn't.
(the versions differ as my 5.3 machine got recycled to Linux)

lwp cvs20040923 was compiled on FreeBSD 5.2.1 and seems to work on 5.4.

I am afraid lwp is not really compatible with ucontext.h?

Regards,
--
Ivan
Received on 2005-06-19 17:58:03