Closed Bug 140782 Opened 22 years ago Closed 22 years ago

New processmail piping style doesn't work on Win32/ActiveState

Categories

(Bugzilla :: Email Notifications, defect, P1)

2.15
x86
Windows 2000
defect

Tracking

()

RESOLVED FIXED
Bugzilla 2.18

People

(Reporter: jouni, Assigned: bbaetz)

References

Details

(Whiteboard: [blocker will fix] [needed for Win32bz])

During the templatisation process several of the cgis have turned into using the
open pipe syntax (like

open(PMAIL, "-|") or exec('./processmail', $id, $::COOKIE{'Bugzilla_login'});
$mailresults .= $_ while <PMAIL>;
close(PMAIL);
print "foo";
)

The open pipe system doesn't work on ActiveState Perl for Win32. It totally
messes up the system; the output of the command is directed to stdout normally
(as if no piping occurred), but even worse, no subsequent output is delivered to
stdout! So in the example above, foo would not be printed, but the processmail
output would. The exact characteristics of the problem may be slightly
different, that was just my preliminary test.

The behavior is (to some extent) documented here:

http://aspn.activestate.com/ASPN/Reference/Products/ActivePerl/lib/Pod/perlfork.html
(see section Caveats and limitations)

Some workarounds are presented, but there are some difficult complications
involved - see the bugs section on that page. 

That processmail thingy should really be a package/module. If bug 124174 were
fixed by 2.16, this would be fixed as well. Reconsider the milestone for 124174?
"Drat". Do we want to reconsider processmail-as-a-package for 2.16?. The patch
is technically very simple, really. That workaround looks ugly, although I guess
we could merge all the calls into one place, and just change it once to use the
workarround given in those docs there.

This isn't technically a blocker, since windows support isn't guaranteed, but
since it used to work we probably should fix it.

Note that the attahcment tracker has been doing this since late August of last
year - there obviously aren't many windows users using CVS.
Depends on: 124174
Priority: -- → P1
Target Milestone: --- → Bugzilla 2.16
Whiteboard: [blocker will fix]
Taking - the fix to 124174 fixes this, according to comments in that bug.
Assignee: preed → bbaetz
Dave's decided the whole mail-on-Win32 thing will have to wait until after we
get 2.16 out of the door. (See his retargetting of bug 124174.)

Gerv
Target Milestone: Bugzilla 2.16 → Bugzilla 2.18
Doing some reading up on mod_perl just now, the open pipe method being used here
will exhibit the same symptoms as it does on Win32 if it's run under mod_perl. 
Since we're intending to make Bugzilla run under mod_perl eventually, we have
yet another excuse to make this go away.  (All in good time, when bug 124174 is
done ;)
Whiteboard: [blocker will fix] → [blocker will fix] [wanted for Win32bz]
Whiteboard: [blocker will fix] [wanted for Win32bz] → [blocker will fix] [needed for Win32bz]
The piped-open is gone.  The checkin for bug 124174 has resolved this.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
QA Contact: matty_is_a_geek → default-qa
You need to log in before you can comment on or make changes to this bug.