running purify on cyrus imapd

Koukopoulos Konstantinos k.koukopoulos at di.uoa.gr
Fri Oct 4 12:20:48 EDT 2002


After making some personal modifications to the cyrus imapd distribution I built a
purified imapd to test my code with.  Basically I made a build and then did "make pure" 
in the imap subdirectory, then copied the purified binaries on top of the original ones.
While the regular binaries work alright the purified ones crash immediately.  
The same goes without my modifications.
Is cyrus imapd supposed to work under purify?  or are the makefile rules still there 
from an older version?  or am I beeing silly or blind? (or both :-)

Here is the log that purify produced for lmtpd:

****  Purify instrumented /opt/Cyrus/bin/lmtpd (pid 7806 at Fri Oct  4 18:10:17 2002)
  * Purify 2002a.06.00 Solaris 2 (32-bit) Copyright (C) 1992-2002 Rational Software Corp.  All rights reserved.  
  * For contact information type: "purify -help"
  * Options settings: -purify -best-effort -logfile=/tmp/pure/%v.%p.log \
    -always_use_cache_dir -cachedir=/usr/tmp/kouk \
    -purify-home=/usr/local/Rational/releases/purify.sol.2002a.06.00 \
    -threads=yes -use-internal-locks=yes -thread_stack_change=0x4000 \
    -mt_safe_malloc=yes 
  * License successfully checked out.
  * Command-line: lmtpd 

****  Purify instrumented /opt/Cyrus/bin/lmtpd (pid 7806)  ****
UMR: Uninitialized memory read:
  * This is occurring while in:
        _putmsg        [libc.so.1]
        vsyslog        [libc.so.1]
        syslog         [libc.so.1]
        main           [service.c:314]
        _start         [crt1.o]
  * Reading 24 bytes from 0xffbef198 on the stack (4 bytes at 0xffbef198 uninit).
  * Address 0xffbef198 is      528 bytes below frame pointer in function vsyslog.

****  Purify instrumented /opt/Cyrus/bin/lmtpd (pid 7806)  ****
UMR: Uninitialized memory read:
  * This is occurring while in:
        _putmsg        [libc.so.1]
        vsyslog        [libc.so.1]
        syslog         [libc.so.1]
        db_err         [cyrusdb_db3.c:103]
        __db_errcall   [libdb-4.0.so]
        __db_real_err  [libdb-4.0.so]
  * Reading 24 bytes from 0xffbedd60 on the stack (4 bytes at 0xffbedd60 uninit).
  * Address 0xffbedd60 is      528 bytes below frame pointer in function vsyslog.

****  Purify instrumented /opt/Cyrus/bin/lmtpd (pid 7806)  ****
UMR: Uninitialized memory read:
  * This is occurring while in:
        __db_dispatch  [libdb-4.0.so]
        __txn_undo     [libdb-4.0.so]
        __txn_abort    [libdb-4.0.so]
        __db_file_setup [libdb-4.0.so]
        __db_dbopen    [libdb-4.0.so]
        __db_open      [libdb-4.0.so]
  * Reading 4 bytes from 0xffbeea94 on the stack.
  * Address 0xffbeea94 is       28 bytes below frame pointer in function __db_dispatch.

****  Purify instrumented /opt/Cyrus/bin/lmtpd (pid 7806)  ****
COR: Fatal core dump:
  * This is occurring while in:
        __txn_end      [libdb-4.0.so]
        __txn_abort    [libdb-4.0.so]
        __db_file_setup [libdb-4.0.so]
        __db_dbopen    [libdb-4.0.so]
        __db_open      [libdb-4.0.so]
        myopen         [cyrusdb_db3.c:350]
  * Received signal 10 (SIGBUS - Bus Error)
  * Faulting address = 0xfc747ff9
  * Signal mask: (SIGBUS) 
  * Pending signals: 






More information about the Info-cyrus mailing list