Cyrus IMAPD

Bill Dorsey dorsey at lila.com
Tue May 13 21:32:53 PDT 2003


John,

Here's the output from a 'ktrace -i -p <pid_of_master>' beginning when 
I run the "imtest localhost" command and ending when I kill the master 
process.  I've snipped most of the trace in the middle as it's probably 
irrelevant.

30650 master   GIO   fd 5 wrote 76 bytes
        "<183>May 13 21:05:29 master[30650]: about to exec 
/usr/local/cyrus/bin\
         /imapd"
  30650 master   RET   sendto 76/0x4c
  30650 master   CALL  execve(0x7fdfffff390,0x22c000,0x234000)
  30650 master   NAMI  "/usr/local/cyrus/bin/imapd"
  30650 master   NAMI  "/usr/libexec/ld-elf.so.1"
  30650 imapd    RET   execve -1424/0x7fdfffffa70
  30650 imapd    CALL  mmap(0,0x1960,0x3,0x1000,0xffffffffffffffff,0,0)
  30650 imapd    RET   mmap 1076772864/0x402e4000
  30650 imapd    CALL  munmap(0x402e4000,0x1960)
  30650 imapd    RET   munmap 0
[snipped]
  30650 imapd    RET   read 8192/0x2000
  30650 imapd    CALL  mmap(0,0x104000,0x5,0x2,0xa,0,0)
  30650 imapd    RET   mmap 1096040448/0x41544000
  30650 imapd    CALL  mprotect(0x41544000,0x2000,0x7)
  30650 imapd    RET   mprotect 0
  30650 imapd    CALL  mprotect(0x41544000,0x2000,0x5)
  30650 imapd    RET   mprotect 0
  30650 imapd    CALL  mmap(0x41646000,0x2000,0x7,0x12,0xa,0,0x2000)
  30650 imapd    RET   mmap 1097097216/0x41646000
  30650 imapd    CALL  close(0xa)
  30650 imapd    RET   close 0
  30650 imapd    CALL  access(0x402e6280,0)
  30650 imapd    NAMI  "/usr/local/lib/sasl/libcrypt.so.2"
  30650 imapd    RET   access -1 errno 2 No such file or directory
  30650 imapd    CALL  access(0x402e6280,0)
  30650 imapd    NAMI  "/usr/local/lib/libcrypt.so.2"
  30650 imapd    RET   access -1 errno 2 No such file or directory
  30650 imapd    CALL  access(0x402ee980,0)
  30650 imapd    NAMI  "/usr/lib/libcrypt.so.2"
  30650 imapd    RET   access 0
  30650 imapd    CALL  access(0x402e6280,0)
  30650 imapd    NAMI  "/usr/local/lib/sasl/libkrb.so.3"
  30650 imapd    RET   access -1 errno 2 No such file or directory
  30650 imapd    CALL  access(0x402e6280,0)
  30650 imapd    NAMI  "/usr/local/lib/libkrb.so.3"
  30650 imapd    RET   access -1 errno 2 No such file or directory
  30650 imapd    CALL  access(0x402ee980,0)
  30650 imapd    NAMI  "/usr/lib/libkrb.so.3"
  30650 imapd    RET   access 0
  30650 imapd    CALL  access(0x402e6280,0)
  30650 imapd    NAMI  "/usr/local/lib/sasl/libcrypto.so.2"
  30650 imapd    RET   access -1 errno 2 No such file or directory
  30650 imapd    CALL  access(0x402e6280,0)
  30650 imapd    NAMI  "/usr/local/lib/libcrypto.so.2"
  30650 imapd    RET   access -1 errno 2 No such file or directory
  30650 imapd    CALL  access(0x402ee980,0)
  30650 imapd    NAMI  "/usr/lib/libcrypto.so.2"
  30650 imapd    RET   access 0
  30650 imapd    CALL  access(0x402e6280,0)
  30650 imapd    NAMI  "/usr/local/lib/sasl/libcom_err.so.2"
  30650 imapd    RET   access -1 errno 2 No such file or directory
  30650 imapd    CALL  access(0x402e6280,0)
  30650 imapd    NAMI  "/usr/local/lib/libcom_err.so.2"
  30650 imapd    RET   access -1 errno 2 No such file or directory
  30650 imapd    CALL  access(0x402e6280,0)
  30650 imapd    NAMI  "/usr/lib/libcom_err.so.2"
  30650 imapd    RET   access 0
  30650 imapd    CALL  access(0x402e6280,0)
  30650 imapd    NAMI  "/usr/local/lib/sasl/libpam.so.2"
  30650 imapd    RET   access -1 errno 2 No such file or directory
  30650 imapd    CALL  access(0x402e6280,0)
  30650 imapd    NAMI  "/usr/local/lib/libpam.so.2"
  30650 imapd    RET   access -1 errno 2 No such file or directory
  30650 imapd    CALL  access(0x402ee980,0)
  30650 imapd    NAMI  "/usr/lib/libpam.so.2"
  30650 imapd    RET   access 0
  30650 imapd    CALL  mmap(0,0x270,0x3,0x1000,0xffffffffffffffff,0,0)
  30650 imapd    RET   mmap 1076854784/0x402f8000
  30650 imapd    CALL  munmap(0x402f8000,0x270)
  30650 imapd    RET   munmap 0
  30650 imapd    CALL  sigprocmask(0x3,0x403e6c38,0)
  30650 imapd    RET   sigprocmask 0
  30650 imapd    CALL  sigprocmask(0x1,0x403e6c28,0x7fdffffdf10)
  30650 imapd    RET   sigprocmask 0
  30650 imapd    CALL  sigprocmask(0x3,0x403e6c38,0)
  30650 imapd    RET   sigprocmask 0
  30650 imapd    CALL  getdirentries(0x5,0x2d0000,0x2000,0x2ce028)
  30650 imapd    RET   getdirentries 0
  30650 imapd    CALL  lseek(0x5,0,0,0)
  30650 imapd    RET   lseek 0
  30650 imapd    CALL  close(0x5)
  30650 imapd    RET   close 0
  30650 imapd    CALL  open(0x7fdffffe230,0,0x1b6)
  30650 imapd    NAMI  "/var/imap/db/DB_CONFIG"
  30650 imapd    RET   open -1 errno 2 No such file or directory
  30650 imapd    CALL  stat(0x408d38f0,0x7fdffffe020)
  30650 imapd    NAMI  "/var/tmp"
  30650 imapd    RET   stat 0
  30650 imapd    CALL  open(0x2cc100,0x2,0x1a4)
  30650 imapd    NAMI  "/var/imap/db/__db.001"
  30650 imapd    RET   open 5
  30650 imapd    CALL  fcntl(0x5,0x2,0x1)
  30650 imapd    RET   fcntl 0
  30650 imapd    CALL  fstat(0x5,0x7fdffffe840)
  30650 imapd    RET   fstat 0
  30650 imapd    CALL  close(0x5)
  30650 imapd    RET   close 0
  30650 imapd    CALL  open(0x2cc100,0x2,0x1a4)
  30650 imapd    NAMI  "/var/imap/db/__db.001"
  30650 imapd    RET   open 5
  30650 imapd    CALL  fcntl(0x5,0x2,0x1)
  30650 imapd    RET   fcntl 0
  30650 imapd    CALL  mmap(0,0x2000,0x3,0x201,0x5,0,0)
  30650 imapd    RET   mmap 1076854784/0x402f8000
  30650 imapd    CALL  close(0x5)
  30650 imapd    RET   close 0
  30650 imapd    CALL  select(0,0,0,0,0x7fdffffe730)
  30650 imapd    RET   select 0
  30650 imapd    CALL  select(0,0,0,0,0x7fdffffe730)
  30650 imapd    RET   select 0
  30650 imapd    CALL  select(0,0,0,0,0x7fdffffe730)
  30650 imapd    RET   select 0
[repeats a bunch of times...]
  30640 master   RET   select -1 errno 4 Interrupted system call
  30650 imapd    RET   select -1 errno 4 Interrupted system call
  30640 master   PSIG  SIGINT SIG_DFL

I copied the contents of /var/imap from the old 32-bit sparc machine 
onto the new 64-bit machine.  Is it possible that the databases don't 
use the same format and this is causing imapd to hang?  I'm running the 
exact same version of Cyrus (2.0.17) on both machines...

[Cyrus 2.0.17 compiled under FreeBSD 5.0/Sparc64]
test64# ldd imapd
imapd:
         libsasl.so.8 => /usr/local/lib/libsasl.so.8 (0x403e8000)
         libssl.so.2 => /usr/lib/libssl.so.2 (0x404fa000)
         libcrypto.so.2 => /usr/lib/libcrypto.so.2 (0x40634000)
         libdb3.so.3 => /usr/local/lib/libdb3.so.3 (0x40838000)
         libwrap.so.3 => /usr/lib/libwrap.so.3 (0x409de000)
         libc.so.5 => /usr/lib/libc.so.5 (0x40ae8000)
         libcrypt.so.2 => /usr/lib/libcrypt.so.2 (0x40ce8000)
         libkrb.so.3 => /usr/lib/libkrb.so.3 (0x40e04000)
         libcom_err.so.2 => /usr/lib/libcom_err.so.2 (0x40f24000)
         libpam.so.2 => /usr/lib/libpam.so.2 (0x41026000)

[Cyrus 2.0.17 compiled under NetBSD 1.5.3/Sparc]
test32[54]% ldd imapd
imapd:
          -lcrypt.0 => /usr/lib/libcrypt.so.0
          -lsasl.8 => /usr/pkg/lib/libsasl.so.8
          -ldb3.3 => /usr/pkg/lib/libdb3.so.3
          -lc.12 => /usr/lib/libc.so.12
          -lcrypto.300 => /usr/pkg/lib/libcrypto.so.300
          -lssl.300 => /usr/pkg/lib/libssl.so.300
          -lcom_err.3 => /usr/lib/libcom_err.so.3
          -lwrap.0 => /usr/lib/libwrap.so.0

Looks like the databases should be compatible to me...

--
Bill Dorsey

On Monday, May 12, 2003, at 12:48 US/Pacific, John Baldwin wrote:

>
> On 11-May-2003 Bill Dorsey wrote:
>> Hi John,
>>
>> test# imtest localhost
>> C: C01 CAPABILITY
>>
>> At this point, imtest is hung.  Also:
>>
>> test# telnet localhost imap
>> Trying ::1...
>> Connected to localhost.
>> Escape character is '^]'.
>>
>> Again, it hangs at this point.
>>
>> Here's the log from cyrus:
>>
>> May 10 23:03:35 test master[20705]: about to exec
>> /usr/local/cyrus/bin/imapd
>> May 10 23:03:35 test service-imap[20705]: executed
>> [nothing more]
>
> If you do a ktrace of imapd's pid is it doing anything?
>
>> --
>> Bill Dorsey
>>
>> On Friday, May 9, 2003, at 14:03 US/Pacific, John Baldwin wrote:
>>
>>>
>>> On 09-May-2003 Bill Dorsey wrote:
>>>> Has anyone met with any success in getting Cyrus IMAPD working on a
>>>> Sparc64 platform?  I am trying to upgrade an older Sparc32 machine
>>>> with
>>>> an Ultrasparc.  Cyrus IMAPD handles all my mail delivery.
>>>>
>>>> It seems to build fine, but after I start the master process, I am
>>>> unable to contact the imap daemon on the localhost as recommended by
>>>> the configure-testing.html file that comes with Cyrus.
>>>>
>>>> A look in the imap log file reveals the following:
>>>>
>>>> May  4 17:51:01 test master[41874]: about to exec
>>>> /usr/local/cyrus/bin/imapd
>>>> May  4 17:51:01 test service-imap[41874]: executed
>>>>
>>>> However, the imap daemon does not display the banner line as it does
>>>> on
>>>> my Sparc32 machine so it appears to be getting stuck somewhere.
>>>>
>>>> I assume this is likely a 64-bit issue?
>>>>
>>>> On the bright side, I'm getting a lot more stuff to work under
>>>> FreeBSD/Sparc64 than I was under NetBSD/Sparc64.  Kudos to the folks
>>>> responsible for the porting effort!
>>>
>>> What are you using to test?  imtest?  Does 'imtest localhost' hang
>>> before generating any output?
>>>
>>> -- 
>>>
>>> John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
>>> "Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/
>>>
>>>
>>
>
> -- 
>
> John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
> "Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/
>
>



More information about the freebsd-sparc64 mailing list