segfaults when executing quota command
Derrick J Brashear
shadow at dementia.org
Mon Apr 11 23:37:10 EDT 2005
On Mon, 11 Apr 2005, Craig White wrote:
>>> thanks - I know not of these things - appreciate your patience with me.
>>>
>>> (gdb) where
>>> #0 0x00be1513 in _int_realloc () from /lib/tls/libc.so.6
>>> #1 0x00be0156 in realloc () from /lib/tls/libc.so.6
>>> #2 0x00c1b586 in glob_in_dir () from /lib/tls/libc.so.6
>>> #3 0x00c1a7fc in glob () from /lib/tls/libc.so.6
>>> #4 0x0808328e in mboxlist_findsub_alt ()
>>> #5 0x0804baa0 in ?? ()
>>> #6 0x0811b1e8 in ?? ()
>>> #7 0xbfff8580 in ?? ()
>>> #8 0x00000000 in ?? ()
>>>
>>> indeed, it was not the only stack. There was no rest of the backtrace
>>> unless you are asking for the stuff that came 'before' I executed '(gdb)
>>> run -f' which I didn't include because I didn't think that it had
>>> meaningful information but for completeness...
>>
>> no, you answered what i wanted to know, above. I need to look at the regex
>> code in mboxlist_findsub_alt
> ----
> any progress here?
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.
---
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
mailing list