Note: Crossposting this as it seems to be related to vpopmail

I still had my 5.4.13 (patched with Shupp's patch to bring it somewhere in the middle of where it is now) source.  I changed qmailadmin's Makefile to replace the -I and -L's for vpopmail's includes/libraries and did a 'cp  config.h vpopmail_config.h' in the vpopmail-5.4.13 folder.

The result?  It now works perfectly again, displaying the aliases without segfaulting.  It's displaying the autoresponders without segfaulting as well.  However it's staticly linked with 5.4.13, which isn't ideal (and shouldn't be needed of course).  No other changes have been made.

I'm imagining some quirk that was introduced that is affecting qmailadmin?  I have the ltrace/strace's (see some of the previous messages).

PS: Sorry to everyone for debugging aloud, but hopefully it helps someone.

-M


Michael Krieger <[EMAIL PROTECTED]> wrote:
Seems that qsort is returning a void in the case of the aliases according to ltrace (gdb doesn't seem to be giving me much useful, so I'm sticking to strace/ltrace).

837 readdir(0x807a440)                           = 0x807a52c
837 readdir(0x807a440)                           = NULL
837 closedir(0x807a440)                          = 0
837 qsort(0x807a240, 0, 4, 0x8062510)            = <void>
837 strcpy(0xbffff140, NULL <unfinished ...>
837 --- SIGSEGV (Segmentation fault) ---
837 +++ killed by SIGSEGV +++

any ideas?
Michael Krieger <[EMAIL PROTECTED]> wrote:
It seems to be dying as such (trying to get a backtrace, but debugging cgi's isn't exactly easy unless someone has an idea).  Of course editing for the domain, but the length is the same.

strace:
21422 geteuid32()                       = 89
21422 chdir("/home/vpopmail/domains/test1.mydomains.com") = 0
21422 open("/home/vpopmail/domains/test1.mydomains.com/.qmailadmin-limits", O_RDONLY) = -1 ENOENT (No such file or directory)
21422 open("/home/vpopmail/etc/vlimits.default", O_RDONLY) = 5
21422 fstat64(5, {st_mode=S_IFREG|0644, st_size=1143, ...}) = 0
21422 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001a000
21422 read(5, "# Default limits file.  This file is used for domains without a\n# .qmailadmin-limits file.\n\n# maximums for each ac
count type, -1 = unlimited\nmaxpopaccounts\t\t-1\nmaxforwards\t\t-1\nmaxautoresponders\t-1\nmaxmailinglists\t\t-1\n\n# quota for ent
ire domain, in megabyte"..., 4096) = 1143
21422 read(5, "", 4096)                 = 0
21422 close(5)                          = 0
21422 munmap(0x4001a000, 4096)          = 0
21422 geteuid32()                       = 89
21422 getpid()                          = 21422
21422 open("/home/vpopmail/domains/test1.mydomains.com/vpasswd.cdb", O_RDONLY) = 5
21422 lseek(5, 8, SEEK_SET)             = 8
21422 read(5, "\3\t\0\0\2\0\0\0", 8)    = 8
21422 lseek(5, 2307, SEEK_SET)          = 2307
21422 read(5, "\00188T}\10\0\0", 8)     = 8
21422 lseek(5, 2173, SEEK_SET)          = 2173
21422 read(5, "\n\0\0\0t\0\0\0", 8)     = 8
21422 read(5, "postmaster", 10)         = 10
21422 read(5, "*** SNIP ***"
, 116) = 116
21422 close(5)                          = 0
21422 open("/home/vpopmail/domains/test1.mydomains.com/.qmailadmin-limits", O_RDONLY) = -1 ENOENT (No such file or directory)
21422 open("/home/vpopmail/etc/vlimits.default", O_RDONLY) = 5
21422 fstat64(5, {st_mode=S_IFREG|0644, st_size=1143, ...}) = 0
21422 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001a000
21422 read(5, "# Default limits file.  This file is used for domains without a\n# .qmailadmin-limits file.\n\n# maximums for each account type, -1 = unlimited\nmaxpopaccounts\t\t-1\nmaxforwards\t\t-1\nmaxautoresponders\t-1\nmaxmailinglists\t\t-1\n\n# quota for entire domain, in megabyte"..., 4096) = 1143
21422 read(5, "", 4096)                 = 0
21422 close(5)                          = 0
21422 munmap(0x4001a000, 4096)          = 0
21422 chdir("/home/vpopmail/domains/test1.mydomains.com") = 0
21422 open("/home/vpopmail/domains/test1.mydomains.com/postmaster/Maildir/1141140624.qw", O_RDONLY) = 5
21422 fstat64(5, {st_mode=S_IFREG|0600, st_size=43, ...}) = 0
21422 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001a000
21422 read(5, "ip_addr=72.59.3.44&returntext=&returnhttp=\n", 4096) = 43
21422 close(5)                          = 0
21422 munmap(0x4001a000, 4096)          = 0
21422 time(NULL)                        = 1141140718
21422 open("/home/vpopmail/domains/test1.mydomains.com", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 5
21422 fstat64(5, {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
21422 fcntl64(5, F_SETFD, FD_CLOEXEC)   = 0
21422 getdents64(5, /* 9 entries */, 4096) = 288
21422 getdents64(5, /* 0 entries */, 4096) = 0
21422 close(5)                          = 0
21422 open("/home/vpopmail/domains/test1.mydomains.com", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 5
21422 fstat64(5, {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
21422 fcntl64(5, F_SETFD, FD_CLOEXEC)   = 0
21422 getdents64(5, /* 9 entries */, 4096) = 288
21422 getdents64(5, /* 0 entries */, 4096) = 0
21422 close(5)                          = 0
21422 --- SIGSEGV (Segmentation fault) @ 0 (0) ---
21422 +++ killed by SIGSEGV +++



Michael Krieger <[EMAIL PROTECTED]> wrote:
I'm doing a new mail server and noticing a lot of quirks with my new vpopmail 5.4.15 system.  I've tried using qmailadmin 1.2.7 1.2.9 and 1.2.10  and experience similar issues with all of them.

1. I can login and create a user just fine.  I can also modify the user (add the forwards, vacation, etc)
2. BUG1: I can not then delete that user.  Deleting my test user shows 'test user deleted successfully' however never actually deletes the user at all.  vdeluser [EMAIL PROTECTED] works perfectly, so I'm looking to qmailadmin and not vpopmail.
3. BUG2: qmailadmin does not show me any aliases.  In fact, it displays only a blank screen (it send the first few headers and that's it).  It happens on new domains that don't even have an alias, as well as on established domains with aliases (and I've tried converting the maildir delivery type using the contrib perl script, thinking that may be the bug)
4. BUG3   I can enter details for an autoresponder, and it makes the .qmail, message, and folder files properly, and then I guess is scanning the folder to display new autoreponders and it seg-faults.  An strace I could get shows...

[pid  4785] munmap(0x4001b000, 4096)    = 0
[pid  4785] open("/home/vpopmail/domains/mydomain.com/.qmail-support", O_RDONLY) = 6
[pid  4785] fstat64(6, {st_mode=S_IFREG|0600, st_size=54, ...}) = 0
[pid  4785] mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001b000
[pid  4785] read(6, "/home/vpopmail/domains/mydomain"..., 4096) = 54
[pid  4785] read(6, "", 4096)           = 0
[pid  4785] close(6)                    = 0
[pid  4785] munmap(0x4001b000, 4096)    = 0
[pid  4785] open("/home/vpopmail/domains/mydomain.com/.qmail-webmaster", O_RDONLY) = 6
[pid  4785] fstat64(6, {st_mode=S_IFREG|0600, st_size=54, ...}) = 0
[pid  4785] mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001b000
[pid  4785] read(6, "/home/vpopmail/domains/mydomain"..., 4096) = 54
[pid  4785] read(6, "", 4096)           = 0
[pid  4785] close(6)                    = 0
[pid  4785] munmap(0x4001b000, 4096)    = 0
[pid  4785] mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4017f000
[pid  4785] read(-1, 0x4017f000, 8192)  = -1 EBADF (Bad file descriptor)
[pid  4785] munmap(0x4017f000, 8192)    = 0
[pid  4785] --- SIGSEGV (Segmentation fault) @ 0 (0) ---



./configure '--enable-htmldir=/var/www' '--enable-cgibindir=/var/www/cgi-bin' '--enable-maxusersperpage=30' '--enable-maxaliasesperpage=50' '--enable-help' '--enable-cgipath=/cgi-bin/qmailadmin'

Thoughts on any of these?  Something really strange is going on.  It's Apache2 BTW on a Debian 3.1 system.



Reply via email to