segfaults when executing quota command

Craig White craigwhite at
Wed Apr 13 22:47:08 EDT 2005

On Wed, 2005-04-13 at 07:08 +0200, Simon Matter wrote:
> > On Tue, 12 Apr 2005, Craig White wrote:
> >
> >>> Not especially. Having symbols would help. It's going to be something
> >>> in
> >>> foreach() in lib/cyrusdb_quotalegacy.c, though, since that's the only
> >>> place you'd be using the system glob().
> >>>
> >>> I suppose, for simplicity, you can just add a
> >>>
> >>> printf("%s\n", quota_path);
> >>>
> >>> before and after
> >>>      /* strip off the qr specific path and replace with pattern */
> >>>      sprintf(strstr(quota_path, FNAME_QUOTADIR) +
> >>> strlen(FNAME_QUOTADIR),
> >>>              "?/%s*", prefix);
> >>>
> >>> And see what 2 lines you get just before the crash, as a way of
> >>> cheating.

> > Well, the first would be better, but I bet you can't have it.
> When you build an rpm, you should get a debuginfo subpackage which should
> contain all binaries suitable for debugging. If you want to debug lmtpd,
> you should be able to use lmtpd.debug from the debuginfo package instead
> of lmtpd and debug it. However, I have never used it so I can't tell for
> sure.
> What I usually did is:
> - Install normal cyrus-imapd packages.
> - Edit cyrus-imap.spec file and add appropriate debug flags.
> - Do a rpmbuild -bc cyrus-imap.spec
> - Copy the binary in question from rpm build tree to the correct directory.
OK - well since I was using 2.2.10 (fc3) and I wanted the 'autocreate'
feature patches anyway, I downloaded Simon's src rpm - edited the
cyrusdb_quotalegacy.c file with the 2 insertions as suggested and then

rpmbuild -bb /usr/src/redhat/SPECS/cyrus-imap.spec

which definitely worked

If that makes sense, I will uninstall the previously installed cyrus-
imapd rpms and install these new ones and then re-run the 'quota / gdb'
trace and hopefully this will give us more info to go on.

Obviously, I am interested in the 'bc' option as that would allow me to
move changes in and out on specific binaries without taking the whole
cyrus-imapd apart and I may have to figure out what that is all about.

I am somewhat maxed out at understanding rpmbuild at this point but it
looks like the -bb option with the spec file seemed to work well.

If I am doing something wrong, please let me know.


Cyrus Home Page:
Cyrus Wiki/FAQ:
List Archives/Info:

More information about the Info-cyrus mailing list