Hi Rob.


I thought your suggestion to try truss/strace was a good one, so performed the Mac OS X equivalent. On that OS, the command you want is called "sample" (included with the developer tools).

After starting MASTER and attempting to telnet to the IMAP port, MASTER dutifully spawns the IMAPD process, which then seems to get hung and never responds.

It looks like the call to "sasl_server_init" from "service_init" might be getting stuck.

Any thoughts?

Thanks...

-Mike Ellis

Here's the stack trace output from sample:
----------
Sampling 8665 each 10 msecs 100 times
Now analyzing results...
Samples: 780 bytes
vmutils: Skipped registration; module state not fully linked (state=3)
Analysis written to file /tmp/imapd_8665.sample.txt
[powermac7300:~/Installers/cyrus-imapd-2.1.14] root# more /tmp/imapd_8665.sample.txt
Analysis of sampling pid 8665 during 1 secs
100 samples


Call graph:
100 Thread_0
100 start
100 _start
100 main
100 service_init
100 sasl_server_init
100 _sasl_load_plugins
100 _sasl_get_plugin
100 dlopen
100 loadModule
100 NSLinkModule
100 _dyld_link_module
100 link_in_need_modules
100 call_image_init_routines
100 InitializeErrorLib
100 CFBundleGetBundleWithIdentifier
100 _CFBundleGetMainBundleAlreadyLocked
100 _CFBundleCopyInfoDictionaryInResourceF
orkWithAllocator
100 CFURLGetFSRef
100 _CFGetFSRefFromURL
100 __CF_FSPathMakeRef_internal
100 NSLookupSymbolInImage
100 _dyld_NSLookupSymbolInImage
100 link_in_need_modules
100 call_image_init_routines
100 InitializePreferencesL
ib
100 CFBundleGetBundleWit
hIdentifier
100 nanosleep
99 clock_sleep_trap
99 clock_sleep_tra
p [STACK TOP]
1 clock_get_time
1 mach_msg_overwri
te
1 mach_msg_overw
rite_trap
1 mach_msg_ove
rwrite_trap [STACK TOP]


Total number in stack (recursive counted multiple, when >=5):

Sort by top of stack, same collapsed (when >= 5):
        clock_sleep_trap [STACK TOP]        99


On Thursday, July 24, 2003, at 12:23 PM, Rob Siemborski wrote:


On Thu, 24 Jul 2003, Michael Ellis wrote:

What's interesting is that MASTER does spawn the appropriate daemon (be
it IMAPD or POP3D), but when the IMAPD daemon runs, it continually
chews up about 10% of the CPU (according to top). This leads me to
believe that IMAPD is continually trying to perform an operation that
is failing.

Have you tried running truss/strace on the affected process to see what its trying to do?

Is is possible that MASTER, which runs as root, is then spawning IMAPD
as the cyrus user, and the OS is denying IMAPD access to the privileged
IMAP port (because of the cyrus user's reduced privileges)? Just a
thought.

No, master opens the port and the forked imapd inherets the file descriptor.

-Rob

=========================
Michael F. Ellis
President
Ellis Softworks Inc.
----------
Phone:  (941) 713-0361
Email: [EMAIL PROTECTED]
Web: http://www.ellissoftworks.com



Reply via email to