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