Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 37199

Summary: vpopmail Segmentation Fault when adding a domain
Product: Gentoo Linux Reporter: bornsilly <m.purmer>
Component: Current packagesAssignee: Robin Johnson <robbat2>
Status: RESOLVED NEEDINFO    
Severity: critical    
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description bornsilly 2004-01-04 08:26:45 UTC
Whenever i try to add a domain using /var/vpopmail/bin/vadddomain i get a Segmentation Fault after entering the password.


Reproducible: Always
Steps to Reproduce:
1.
2.
3.




ioctl(3, SNDCTL_TMR_CONTINUE or TCSETSF, {B38400 opost isig icanon echo ...}) 
= 0
close(3)                                = 0
munmap(0x295a5000, 4096)                = 0
open("/var/qmail/users/cdb", O_RDONLY)  = -1 ENOENT (No such file or directory)
brk(0)                                  = 0xa83b000
brk(0)                                  = 0xa83b000
brk(0xa83a000)                          = 0xa83a000
brk(0)                                  = 0xa83a000
umask(077)                              = 022
getcwd("/root", 500)                    = 6
chdir("/var/vpopmail")                  = 0
chdir("domains")                        = 0
open("/etc/nsswitch.conf", O_RDONLY)    = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=498, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x295a5000
read(3, "# /etc/nsswitch.conf:\n# $Header:"..., 4096) = 498
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x295a5000, 4096)                = 0
open("/opt/vlnx/libnss_db.so.2", O_RDONLY) = -1 ENOENT (No such file or 
directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=25113, ...}) = 0
mmap2(NULL, 25113, PROT_READ, MAP_PRIVATE, 3, 0) = 0x295a5000
close(3)                                = 0
open("/lib/mmx/libnss_db.so.2", O_RDONLY) = -1 ENOENT (No such file or 
directory)
stat64("/lib/mmx", 0x59ddf2c4)          = -1 ENOENT (No such file or directory)
open("/lib/libnss_db.so.2", O_RDONLY)   = -1 ENOENT (No such file or directory)
stat64("/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/usr/lib/mmx/libnss_db.so.2", O_RDONLY) = -1 ENOENT (No such file or 
directory)
stat64("/usr/lib/mmx", 0x59ddf2c4)      = -1 ENOENT (No such file or directory)
open("/usr/lib/libnss_db.so.2", O_RDONLY) = -1 ENOENT (No such file or 
directory)
stat64("/usr/lib", {st_mode=S_IFDIR|0755, st_size=16384, ...}) = 0
munmap(0x295a5000, 25113)               = 0
open("/opt/vlnx/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or 
directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=25113, ...}) = 0
mmap2(NULL, 25113, PROT_READ, MAP_PRIVATE, 3, 0) = 0x295a5000
close(3)                                = 0
open("/lib/libnss_files.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\35"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=42714, ...}) = 0
mmap2(NULL, 38140, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x298d4000
mmap2(0x298dd000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x8) = 
0x298dd000
close(3)                                = 0
munmap(0x295a5000, 25113)               = 0
open("/etc/services", O_RDONLY)         = 3
fcntl64(3, F_GETFD)                     = 0
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=14153, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x295a5000
read(3, "# /etc/services:\n# $Id: services"..., 4096) = 4096
read(3, "204/tcp\t\t\t\t# AppleTalk echo\nat-e"..., 4096) = 4096
read(3, "cp\t\t\t# not used\ncodasrv\t\t2432/ud"..., 4096) = 4096
close(3)                                = 0
munmap(0x295a5000, 4096)                = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
open("/etc/vpopmail.conf", O_RDONLY)    = 3
fstat64(3, {st_mode=S_IFREG|0600, st_size=429, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x295a5000
read(3, "# Copyright 1999-2002 Gentoo Tec"..., 4096) = 429
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x295a5000, 4096)                = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Comment 1 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2004-01-04 15:23:53 UTC
is your /etc/vpopmail.conf correct?
what's your 'emerge info' output and what version of vpopmail?
Comment 2 bornsilly 2004-01-04 22:44:46 UTC
My /etc/vpopmail.conf is setup proper, for both the reader as the writer i am able to login from the prompt with mysql.

My emerge info is exactly as how this guide tells me to install it all together.
http://forums.gentoo.org/viewtopic.php?t=111817&highlight=qmailctl

But i am not sure if this is what you mean.

qpkg -c -v vpopmail
net-mail/vpopmail-5.2.1-r8 *
/etc/vpopmail.conf !md5!
1/79
Comment 3 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2004-01-05 01:46:52 UTC
what does 'vdominfo' do ?
what options did you give vadddomain ?
Comment 4 bornsilly 2004-01-05 02:11:06 UTC
I gave /var/vpopmail/bin/vadddomain hide-out.net

vdominfo gives me :vdominfo
domain: hide-out.net
uid:    89
gid:    89
dir:    /var/vpopmail/domains/hide-out.net
Segmentation fault


Comment 5 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2004-01-05 03:48:01 UTC
ok, could you compile with CFLAGS="-O0 -g" and FEATURES="debug nostrip"
then enable coredumps ('ulimit -c 8000000') and use gdb on 'vdominfo' to get a backtrace?
Comment 6 bornsilly 2004-01-05 04:24:00 UTC
Removed VPOPMAIL and recompiled with the specified CCFLAGS and Feature but after running /var/vpopmail/bin/vadddomain it still segfaults.

Comment 7 bornsilly 2004-01-05 05:39:51 UTC
Running it in GDB gives me the following results:
Starting program: /var/vpopmail/bin/vdominfo
Warning:
Cannot insert breakpoint -2.
Error accessing memory address 0x225dc240: Input/output error.
The same program may be running in another process.

Running it without gdb will coredump after setting the specified ulimit.
Can send ya the core file (632K) if you need it.

Comment 8 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2004-01-05 13:30:09 UTC
do:
gdb /full/path/to/vdominfo /full/path/to/corefile
and type in 'bt'.

include all the output from starting gdb up to the prompt at that point.
it will have line numbers etc.
Comment 9 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2004-04-24 03:46:45 UTC
no response from user, closing bug.
Comment 10 Daniel Matei 2009-11-04 14:16:17 UTC
I am having the same problem, mostly. It gives me segfaults when trying to add a new domain (there are already few added).

root@ces01:/var/bind/pri# vadddomain daXXXide.ro
Please enter password for postmaster:
enter password again:
Segmentation fault
root@ces01:/var/bind/pri#
The domain get created but cant use password.

Strace shows the following:
open("/var/qmail/users/assign.24178", O_RDWR|O_CREAT|O_TRUNC, 0666) = 6
open("/var/qmail/users/assign", O_RDWR) = 7
fstat(7, {st_mode=S_IFREG|0644, st_size=1202, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9e5f814000
read(7, "+ciuraru.eu-:ciuraru.eu:89:89:/va"..., 4096) = 1202
fstat(6, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9e5f813000
read(7, ""..., 4096)                    = 0
close(7)                                = 0
munmap(0x7f9e5f814000, 4096)            = 0
write(6, "+ciuraru.eu-:ciuraru.eu:89:89:/va"..., 1272) = 1272
close(6)                                = 0
munmap(0x7f9e5f813000, 4096)            = 0
rename("/var/qmail/users/assign.24178", "/var/qmail/users/assign") = 0
fcntl(5, F_SETLK, {type=F_UNLCK, whence=SEEK_SET, start=0, len=0}) = 0
close(5)                                = 0
chmod("/var/qmail/users/assign", 0644)  = 0
vfork()                                 = 24189
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 24189
--- SIGCHLD (Child exited) @ 0 (0) ---
open("/var/qmail/control/rcpthosts", O_RDONLY) = 5
fstat(5, {st_mode=S_IFREG|0644, st_size=236, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9e5f814000
read(5, "ciuraru.eu\nrbs.com.ro\ncredexconsu"..., 4096) = 236
read(5, ""..., 4096)                    = 0
close(5)                                = 0
munmap(0x7f9e5f814000, 4096)            = 0
open("/var/qmail/control/rcpthosts.lock", O_WRONLY|O_CREAT, 041) = 5
fcntl(5, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0
open("/var/qmail/control/rcpthosts.24178", O_RDWR|O_CREAT|O_TRUNC, 0666) = 6
open("/var/qmail/control/rcpthosts", O_RDWR) = 7
fstat(7, {st_mode=S_IFREG|0644, st_size=236, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9e5f814000
read(7, "ciYYYru.eu\nrbs.XXX.ro\ncrZZZZZnsu"..., 4096) = 236
fstat(6, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9e5f813000
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++

I had replaced strings with YYY, XXX and ZZZZZ for obvious reasons.