Can't get ezmlm-idx to work, unable to exec qq. Need help

Steve Fatula <[email protected]> Fri, 25 Jan 2008 01:20:21 -0600
Newsgroups gmane.mail.ezmlm
Organization Fatula Family
Message-ID <[email protected]>
Ok, I have 5 machines running ezmlm-idx, on Mac OSX 10.4 (Tiger). I have 
now created it on Mac OSX Leopard. Have a functional qmail, vpopmail, 
qmailadmin, maildrop. Mail works fine on the Leopard machine. Been 
running fine for years on the Tiger machines. The Leopard machine is 
actually one of the Tiger machines, Leopard is loaded on a second drive 
which is booted from to run Leopard and our tests. VPOPMail is 5.4.25 on 
all machines. ezmlm-idx is 5.1.2 on Leopard, and, 5.1.1 on Tiger. I also 
loaded 5.1.1 on Leopard just in case, no change in behaviour.

I create a mailing list, store it in MySQL, and, send a message to the 
list. In the qmail log, I see the 'ol unable to exec qq from ezmlm. Now, 
I realize for qmail users, this is often a problem with qmail-scanner or 
other software, I do not have QMAILQUEUE set. Yes, people also have the 
chmod wrong on qmail-queue, they have messed with it somehow to remove 
the 's', mine is correct. All mail works flawlessly, local, relay, etc. 
Except, sending a message to the one mailing list.

I have looked through the code, I am a programmer of 25+ years, but not 
c. So, only partially get it, but, it appears the error 111 could mean 
dozens of things really. Not what it says.

So, I have spent a lot of time reviewing the ezmlm-idx code, to no 
avail. So.... I ran a dtrace. I would be most grateful to someone who 
can help me track this down. Here's the portion near where it dies:

..
15934/0x4668c80:    121380       .      .                               
-> ezmlm-store:qmail_put(0xDB80, 0x5008D0, 0x14)       
15934/0x4668c80:    121383      42      2                               
<- ezmlm-store:qmail_put = 75
15934/0x4668c80:    121386       .      .                               
-> ezmlm-store:substdio_put(0xDFBC, 0x5008D0, 0x14)       
15934/0x4668c80:    121390       .      
.                                 -> ezmlm-store:byte_copy(0xD9F8, 0x14, 
0x5008D0)       
15934/0x4668c80:    121393      42      
3                                 <- ezmlm-store:byte_copy = 129
15934/0x4668c80:    121396     142      9                               
<- ezmlm-store:substdio_put = 241
15934/0x4668c80:    121399       .      .                               
-> ezmlm-store:getln(0xDFA8, 0xD040, 0xBFFFFA00)       
15934/0x4668c80:    121403       .      
.                                 -> ezmlm-store:getln2(0xDFA8, 0xD040, 
0xBFFFF99C)       
15934/0x4668c80:    121406       .      
.                                   -> 
ezmlm-store:stralloc_ready(0xD040, 0x0, 0xBFFFF958)       
15934/0x4668c80:    121409      55      
2                                   <- ezmlm-store:stralloc_ready = 180
15934/0x4668c80:    121412       .      
.                                   -> ezmlm-store:substdio_feed(0xDFA8, 
0x0, 0xBFFFF958)       
15934/0x4668c80:    121416       .      
.                                     -> 
libSystem.B.dylib:read$UNIX2003(0x0, 0xD340, 0x400)       
15934/0x4668c80:    121420       .      
.                                       -> 
libSystem.B.dylib:_sysenter_trap(0xAC07, 0x0, 0xD340)       
15934/0x4668c80:    121430     163     
18                                       <- ezmlm-store:substdio_feed = 178
15934/0x4668c80:    121433     382     
30                                     <- ezmlm-store:getln2 = 324
15934/0x4668c80:    121436     453     
36                                   <- ezmlm-store:getln = 142
15934/0x4668c80:    121439       .      
.                                   -> ezmlm-store:hdr_boundary(0x1, 
0xD040, 0xBFFFFA00)       
15934/0x4668c80:    121443       .      
.                                     -> ezmlm-store:qmail_puts(0xDB80, 
0xC978, 0x14)       
15934/0x4668c80:    121446      44      
2                                     <- ezmlm-store:qmail_puts = 49
15934/0x4668c80:    121449       .      
.                                     -> ezmlm-store:qmail_put(0xDB80, 
0xD300, 0x14)       
15934/0x4668c80:    121452      42      
2                                     <- ezmlm-store:qmail_put = 75
15934/0x4668c80:    121456       .      
.                                     -> ezmlm-store:qmail_puts(0xDB80, 
0xC97D, 0x14)       
15934/0x4668c80:    121459      44      
2                                     <- ezmlm-store:qmail_puts = 49
15934/0x4668c80:    121461     338     
22                                   <- ezmlm-store:hdr_boundary = 129
15934/0x4668c80:    121465       .      
.                                   -> 
ezmlm-store:substdio_flush(0xDFBC, 0xD040, 0xBFFFFA00)   
..
15934/0x4668c80:    123199       .      
.                                                   -> 
ezmlm-store:str_chr(0x500ACE, 0x3A, 0x80)       
15934/0x4668c80:    123202      37      
2                                                   <- 
ezmlm-store:str_chr = 137
15934/0x4668c80:    123204    7705    
558                                                 <- 
ezmlm-store:parsesql = 1145
15934/0x4668c80:    123208       .      
.                                                 -> 
ezmlm-store:scan_ulong(0x500ABA, 0xBFFFF910, 0xBFFFF914)       
15934/0x4668c80:    123212      50      
3                                                 <- 
ezmlm-store:scan_ulong = 81
ezmlm-store: fatal: temporary qmail-queue error: unable to exec qq (#4.3.0)

So, it would appear it is in the emlm-store.c program, near the section 
where it is going to process the first email. My guess is it is going to 
find out who to send the email to by checking the MySQL database for the 
list. But, not sure how the code gets to parsesql.

Qmailadmin correctly reads an manages the list, ezmlm-list correctly 
displays subscribers. All is fine in qmail, all the dot files are there 
with correct vpopmail ownership.

So, can anyone shed possible light on what might be going on?

After getting it to work on Leopard I am going to contribute the "port" 
to Macports. It is like the Freebsd port system to allow people to 
easily install. So, I hope my work will end up enabling others to also 
use ezmlm.

Steve