In slashcode's Slash::Display there is a sub slashDisplay that has near the end a line that outputs some HTML:
print $out unless $opt->{Return};
On my system, and apparently some others, this line hangs the sub, which in turn hangs everything up the calling tree and results in the slashd daemon being unable to continue processing tasks due to freshenup.pl not completing. (This is on a Athlon RedHat 7.3 box, I've tried a vanilla setup of mysql/perl/apache, and I've also tried a similar box with these things compiled from scratch with slashcode in mind.)
the slashDisplay sub gets called for just about everything in slashcode to generate HTML from templates, and it usually works fine. But this hang is 100% reproducable on my systems and I'm out of ideas for how to make it go away. It only happens when a new article is posted, that's the only time freshenup.pl takes this particular path. Even so, slashDisplay is getting called multiple times during this, iterating through all the individual templates without problems. It's not until it gets to the last call and $out is printed (instead of returned) that it just... hangs. Killing the script process manually allows the scripts to complete normally, and $out _does_ apparently get printed, but the print statement never returns. If I add lines immediately before this thusly:
open TMPOUT, ">/tmp/tmpout";
print TMPOUT $out;
close TMPOUT
The output gets written to the file just fine. It only seems to hang if it's going to the default STDOUT. I've tried turning buffering off and other things that had no effect, and stupid stuff like using different variable names, copying into a new scalar, etc. I don't think it's a slash problem per se, it seems like more of a perl problem or my environment. I'm using perl 5.6.1 and modules were installed via CPAN. I can't use slash until I get this fixed, and I'm lost.
Fixed code tags - dvergin 2002-06-10
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.