<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Yes errors are being written to the error_log (I've notified the web
service), but I don't immediately see how this would selectively cause
issues with rendering (see below). Interestingly the errors occur in
both the xampp and the webserve.ca (webhost) environments. I have
notify turned on in the web host environment, but not on my desktop.<br>
<br>
Re: memory limit, my xampp local installation has a (default) memory
limit set of 32MB, but the same behaviour occurs, ie most pages render
fine, while the problem page renders up to a (specific) size limit,
then doesn't render.<br>
<br>
The output is getting clobbered somewhere in here: pmwiki.php function
MarkupToHTML (I've commented out the debug code):<br>
<br>
# $iteration=0;<br>
while (count($lines)>0) {<br>
# $iteration++;<br>
# echo "<hr>ITERATION:".$iteration."******** COUNT
LINES:".count($lines)."<BR><BR>";<br>
$x = array_shift($lines);<br>
# echo "<BR><BR> length of x(before): ".strlen($x)."
++++++++<BR><BR>"; <br>
$RedoMarkupLine=0;<br>
# $markuprulecount=0;<br>
foreach($markrules as $p=>$r) {<br>
# $markuprulecount++;<br>
# echo "<BR><BR> markuprulecount: ".$markuprulecount."
length of x(inside BEFORE): ".strlen($x)."<BR><BR>";<br>
if ($p{0} == '/') {<br>
# if ($markuprulecount==23) echo $p . " => " .$r ." ==>>
".$x."<BR><BR>"; <br>
$x=preg_replace($p,$r,$x); # <<<==== SEEMS TO GET
CLOBBERED HERE, BUT ONLY AFTER SOME ITERATIONS<br>
# echo "<BR><BR> markuprulecount:
".$markuprulecount." length of x(inside AFTER):
".strlen($x)."<BR><BR>";<br>
} elseif (strstr($x,$p)!==false) {<br>
$x=eval($r);<br>
}<br>
if (isset($php_errormsg)) { echo "pat=$p"; unset($php_errormsg); }<br>
if ($RedoMarkupLine) { <br>
$lines=array_merge((array)$x,$lines); <br>
continue 2; <br>
}<br>
}<br>
# echo "<BR><BR> length of x(after): ".strlen($x)."
++++++++<BR><BR>"; <br>
if ($x>'') $out .= ($x."\n");<br>
}<br>
<br>
<br>
Debug output, fourth $iteration: <br>
<br>
markuprulecount: 23 length of x(inside BEFORE): 101846<br>
<br>
/\(:(if[^
]*?):\)(.*?)(?=\(:if[^
]*?:\)|$)/sei => CondText($pagename,PSS('$1'),PSS('$2')) ==>><br>
<br>
<the markup string goes in here -- very long>.<br>
<br>
markuprulecount: 23 length of x(inside AFTER): 0<br>
<br>
There is no (:if:) directive in the wiki text.<br>
<br>
That's as far as I have gotten. I haven't yet isolated what the exact
problem is. If you can spot something in here, you're a better man than
me<grin>...<br>
<br>
The truncated page (same page, lots of wikitext taken off the bottom),
renders with $x length of max 33,322, tantalizingly close to 32K but a
bit over. The page that doesn't render has $x of about 100K.<br>
<br>
Here's the text I add to the bottom of the truncated page to put it
over the threshold and not render:<br>
<br>
------------------<br>
<pre>High minus 12, low minus 18. Cold enough that the ice was good but not many people came out to skate. </pre>
------------------<br>
<br>
As you can see, nothing of obvious interest that might generate such a
problem.<br>
<br>
Yes I have some recipes, I'll look into turning them off.<br>
<br>
Any suggestions gratefully received.<br>
<br>
(Arghhh)<br>
<br>
- Henrik<br>
<br>
=========================================================================<br>
<br>
Here is a sample of the error log messages:<br>
<br>
[18-Mar-2007 01:00:06] PHP Warning: PHP Startup: Unable to load
dynamic library
'/usr/local/lib/php/extensions/no-debug-non-zts-20041030/mailparse.so'
- /usr/local/lib/php/extensions/no-debug-non-zts-20041030/mailparse.so:
undefined symbol: empty_string in Unknown on line 0<br>
[18-Mar-2007 01:00:06] PHP Warning: PHP Startup: R3: Unable to
initialize module<br>
Module compiled with module API=20041030, debug=0, thread-safety=0<br>
PHP compiled with module API=20060613, debug=0, thread-safety=0<br>
These options need to match<br>
in Unknown on line 0<br>
[18-Mar-2007 01:00:06] PHP Warning: PHP Startup: Unable to load
dynamic library
'/usr/local/lib/php/extensions/no-debug-non-zts-20041030/zip.so' -
/usr/local/lib/php/extensions/no-debug-non-zts-20041030/zip.so:
undefined symbol: empty_string in Unknown on line 0<br>
[18-Mar-2007 01:00:07] PHP Warning: Zend Optimizer does not support
this version of PHP - please upgrade to the latest version of Zend
Optimizer in Unknown on line 0<br>
[18-Mar-2007 01:20:31] PHP Warning: PHP Startup: Unable to load
dynamic library
'/usr/local/lib/php/extensions/no-debug-non-zts-20041030/mailparse.so'
- /usr/local/lib/php/extensions/no-debug-non-zts-20041030/mailparse.so:
undefined symbol: empty_string in Unknown on line 0<br>
[18-Mar-2007 01:20:31] PHP Warning: PHP Startup: Ró : Unable to
initialize module<br>
Module compiled with module API=20041030, debug=0, thread-safety=0<br>
PHP compiled with module API=20060613, debug=0, thread-safety=0<br>
These options need to match<br>
in Unknown on line 0<br>
[18-Mar-2007 01:20:31] PHP Warning: PHP Startup: Unable to load
dynamic library
'/usr/local/lib/php/extensions/no-debug-non-zts-20041030/zip.so' -
/usr/local/lib/php/extensions/no-debug-non-zts-20041030/zip.so:
undefined symbol: empty_string in Unknown on line 0<br>
[18-Mar-2007 01:20:31] PHP Warning: Zend Optimizer does not support
this version of PHP - please upgrade to the latest version of Zend
Optimizer in Unknown on line 0<br>
[18-Mar-2007 01:46:26] PHP Warning: PHP Startup: Unable to load
dynamic library
'/usr/local/lib/php/extensions/no-debug-non-zts-20041030/mailparse.so'
- /usr/local/lib/php/extensions/no-debug-non-zts-20041030/mailparse.so:
undefined symbol: empty_string in Unknown on line 0<br>
[18-Mar-2007 01:46:26] PHP Warning: PHP Startup: R3: Unable to
initialize module<br>
Module compiled with module API=20041030, debug=0, thread-safety=0<br>
PHP compiled with module API=20060613, debug=0, thread-safety=0<br>
These options need to match<br>
in Unknown on line 0<br>
<br>
<br>
Patrick R. Michaud wrote:
<blockquote cite="mid20070318225847.GD5215@host.pmichaud.com"
type="cite">
<pre wrap="">On Sun, Mar 18, 2007 at 04:19:00PM -0400, Henrik wrote:
</pre>
<blockquote type="cite">
<pre wrap="">1. I am using PmWiki version 2.1.26
2. I have incrementally removed content from one of the pages that
doesn't render, and there is a threshold under which it does render, not
apparently associated with any specific wiki markup, just volume. So the
truncated page
<a class="moz-txt-link-freetext" href="http://www.dufferinpark.ca/cityrinks/wiki/wiki.php?n=DufferinParkRink.WinterDiary2006-2007">http://www.dufferinpark.ca/cityrinks/wiki/wiki.php?n=DufferinParkRink.WinterDiary2006-2007</a>
renders, but the original (longer page)
<a class="moz-txt-link-freetext" href="http://www.dufferinpark.ca/cityrinks/wiki/wiki.php?n=DufferinParkRink.WinterDiary2006-2007-original">http://www.dufferinpark.ca/cityrinks/wiki/wiki.php?n=DufferinParkRink.WinterDiary2006-2007-original</a>
doesn't, even though there's lots of content:
<a class="moz-txt-link-freetext" href="http://www.dufferinpark.ca/cityrinks/wiki/wiki.php?n=DufferinParkRink.WinterDiary2006-2007-original?action=source">http://www.dufferinpark.ca/cityrinks/wiki/wiki.php?n=DufferinParkRink.WinterDiary2006-2007-original?action=source</a>
</pre>
</blockquote>
<pre wrap=""><!---->
Weird. I notice that your PHP environment is running with memory limits enabled
(of 64MB) -- so perhaps PmWiki is hitting the memory limit. This doesn't seem
likely, though, as 64MB is a huge amount of memory.
FWIW, the most I've ever seen a page require on pmwiki.org is 24MB.
What recipes are you running on the site? Perhaps a recipe is
causing the difficulty.
Is there an error_log file somewhere for the site? It might have some
very useful clues.
Pm
</pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Henrik Bechmann
<a class="moz-txt-link-abbreviated" href="http://www.bechmann.ca">www.bechmann.ca</a>
Webmaster, <a class="moz-txt-link-abbreviated" href="http://www.dufferinpark.ca">www.dufferinpark.ca</a></pre>
</body>
</html>