segfaults when executing quota command
craigwhite at azapple.com
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
> 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: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
More information about the Info-cyrus