[Mailman-Users] admin interface "stalling" for some lists

Dan Mick dan.mick at west.sun.com
Fri Feb 16 00:23:44 CET 2001


Once you get one dead process that's left a lockfile around, all the rest of 
them are going to back up on that lockfile until it's removed.  You need to find
out why that first person is dying (or why the cgi script is dying when that
person accesses it).

The strace shows the 2-n'th processes' normal "try to get the lock, fail,
wait, try again" loop.

Andreas Hasenack wrote:
> 
> Hi, I checked the archives before and found two other users
> with the same problem, but sadly no answer. Maybe this time...
> 
> For a specific list, the admin interface just doesn't work. Either
> I get a 503 error or a timeout. A ps ax|grep python shows many
> processes on the server:
> 12994 ?        S      0:00 /usr/bin/python -S /usr/lib/mailman/scripts/driver ad
> 13022 ?        S      0:00 /usr/bin/python -S /usr/lib/mailman/scripts/driver ad
> 
> Everytime I click on the admin link for that list, a new process is spawned and
> stays there. Other lists work fine.
> 
> Apache's log shows:
> [Thu Feb 15 10:48:42 2001] [error] [client x.x.x.x] Premature end of script headers: /usr/lib/mailman/cgi-bin/admin
> 
> This is for the client who got the 503 error. Afterwards, he just gets time outs
> (the document contained no data).
> 
> An strace of one of these processes:
> select(0, NULL, NULL, NULL, {0, 580000}) = 0 (Timeout)
> link("/usr/lib/mailman/locks/lds.lock.distro.conectiva.com.br.12994", "/usr/lib/mailman/locks/lds.lock") = -1 EEXIST (File exists)
> stat("/usr/lib/mailman/locks/lds.lock", {st_mode=S_IFREG|0664, st_size=61, ...}) = 0
> open("/usr/lib/mailman/locks/lds.lock", O_RDONLY) = 5
> fstat(5, {st_mode=S_IFREG|0664, st_size=61, ...}) = 0
> lseek(5, 0, SEEK_CUR)                   = 0
> fstat(5, {st_mode=S_IFREG|0664, st_size=61, ...}) = 0
> old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4015d000
> _llseek(5, 0, [0], SEEK_CUR)            = 0
> read(5, "/usr/lib/mailman/locks/lds.lock."..., 4096) = 61
> read(5, "", 4096)                       = 0
> close(5)                                = 0
> munmap(0x4015d000, 4096)                = 0
> gettimeofday({982245161, 508158}, NULL) = 0
> stat("/usr/lib/mailman/locks/lds.lock", {st_mode=S_IFREG|0664, st_size=61, ...}) = 0
> select(0, NULL, NULL, NULL, {1, 561983}) = 0 (Timeout)
> link("/usr/lib/mailman/locks/lds.lock.distro.conectiva.com.br.12994", "/usr/lib/mailman/locks/lds.lock") = -1 EEXIST (File exists)
> stat("/usr/lib/mailman/locks/lds.lock", {st_mode=S_IFREG|0664, st_size=61, ...}) = 0
> open("/usr/lib/mailman/locks/lds.lock", O_RDONLY) = 5
> fstat(5, {st_mode=S_IFREG|0664, st_size=61, ...}) = 0
> lseek(5, 0, SEEK_CUR)                   = 0
> fstat(5, {st_mode=S_IFREG|0664, st_size=61, ...}) = 0
> old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4015d000
> _llseek(5, 0, [0], SEEK_CUR)            = 0
> read(5, "/usr/lib/mailman/locks/lds.lock."..., 4096) = 61
> read(5, "", 4096)                       = 0
> close(5)                                = 0
> munmap(0x4015d000, 4096)                = 0
> gettimeofday({982245163, 77289}, NULL)  = 0
> stat("/usr/lib/mailman/locks/lds.lock", {st_mode=S_IFREG|0664, st_size=61, ...}) = 0
> select(0, NULL, NULL, NULL, {0, 294377}) = 0 (Timeout)
> link("/usr/lib/mailman/locks/lds.lock.distro.conectiva.com.br.12994", "/usr/lib/mailman/locks/lds.lock") = -1 EEXIST (File exists)
> stat("/usr/lib/mailman/locks/lds.lock", {st_mode=S_IFREG|0664, st_size=61, ...}) = 0
> open("/usr/lib/mailman/locks/lds.lock", O_RDONLY) = 5
> fstat(5, {st_mode=S_IFREG|0664, st_size=61, ...}) = 0
> lseek(5, 0, SEEK_CUR)                   = 0
> fstat(5, {st_mode=S_IFREG|0664, st_size=61, ...}) = 0
> old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4015d000
> _llseek(5, 0, [0], SEEK_CUR)            = 0
> read(5, "/usr/lib/mailman/locks/lds.lock."..., 4096) = 61
> read(5, "", 4096)                       = 0
> close(5)                                = 0
> munmap(0x4015d000, 4096)                = 0
> gettimeofday({982245163, 377306}, NULL) = 0
> stat("/usr/lib/mailman/locks/lds.lock", {st_mode=S_IFREG|0664, st_size=61, ...}) = 0
> select(0, NULL, NULL, NULL, {1, 494235} <unfinished ...>
> 
> and it keeps looping.
> 
> So far, it seems that the problem starts when a specific client connects to the admin
> interface, he gets an immediate 503 problem and then no one else can connect to the
> admin interface of that list. Weird.
> 
> Error log in mailman shows nothing related.
> 
> Any clues?
> 
> Versions:
> mailman-2.0.1-1cl
> python-1.5.2-6cl
> apache-midgard-1.2.5-10
> 
> (this is apache 1.3.11 + midgard)
> 
> Other lists on the same server work fine. I removed this lds list and created
> it again, worked only for a short period of time.
> 
> BTW, "lds" is the first list created under mailman-2.0.1, the previous ones were
> created while the beta5 version was installed.
> 
> ------------------------------------------------------
> Mailman-Users maillist  -  Mailman-Users at python.org
> http://mail.python.org/mailman/listinfo/mailman-users




More information about the Mailman-Users mailing list