BugTrack/302
の編集
Top
/
BugTrack
/
302
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
*map プラグインが無限ループに陥り、Internal Server Error になる [#p865b6fb] -ページ: BugTrack -投稿者: [[mizkaz]] -優先順位: 重要 -状態: 完了 -カテゴリー: プラグイン -投稿日: 2003-04-16 (水) 15:43:15 -バージョン: 1.4 **メッセージ [#h2332b10] 現象を絞り込めていないので、具体的な発生手順を書きます。 +FormatRule ページを削除 +InterWikiを起点としたサイトマップを表示させる すると、僕のところでは Internal Server Error となります。 以下 URL に、ここのテスト用の環境で再現させました((ここの場合メモリが枯渇する))。 http://pukiwiki.sourceforge.jp/pukiwiki1.4/pukiwiki.php?plugin=map&refer=InterWiki map プラグインの MapNode クラスの toString メソッドで無限ループに陥っているようです。 ---- -参照ページから届かないページ(not related from)を列挙するときに、循環参照を止める番兵(parent_id=-1)を入れ忘れていました XD chainメソッド内でチェックするようにしたので、これで大丈夫だと思います。 -- [[ぱんだ]] &new{2003-04-17 (木) 11:02:48}; --- map.inc.php 3 Apr 2003 01:36:49 -0000 1.9 +++ map.inc.php 17 Apr 2003 02:02:15 -0000 @@ -22,7 +22,7 @@ */ function plugin_map_action() -{ error_reporting(E_ALL); +{ global $vars,$whatsnew,$defaultpage; $reverse = array_key_exists('reverse',$vars); @@ -88,7 +88,6 @@ } else { - $nodes[$refer]->parent_id = -1; $nodes[$refer]->chain($nodes); $retval['body'] .= "<ul>\n".$nodes[$refer]->toString($nodes)."</ul>\n"; $retval['body'] .= "<hr /><p>not related from ".htmlspecialchars($refer)."</p>\n"; @@ -168,6 +167,12 @@ return; } $this->done = TRUE; + + if ($this->parent_id == 0) + { + $this->parent_id = -1; + } + foreach ($this->rels as $page) { if (!array_key_exists($page,$nodes)) -cvsに投入しました。 [[cvs:plugin/map.inc.php]](v1.4:r1.10) -- [[ぱんだ]] &new{2003-04-17 (木) 11:09:39}; -大丈夫みたいですね。直りました。 -- [[mizkaz]] &new{2003-04-17 (木) 14:51:19}; //#comment
タイムスタンプを変更しない
*map プラグインが無限ループに陥り、Internal Server Error になる [#p865b6fb] -ページ: BugTrack -投稿者: [[mizkaz]] -優先順位: 重要 -状態: 完了 -カテゴリー: プラグイン -投稿日: 2003-04-16 (水) 15:43:15 -バージョン: 1.4 **メッセージ [#h2332b10] 現象を絞り込めていないので、具体的な発生手順を書きます。 +FormatRule ページを削除 +InterWikiを起点としたサイトマップを表示させる すると、僕のところでは Internal Server Error となります。 以下 URL に、ここのテスト用の環境で再現させました((ここの場合メモリが枯渇する))。 http://pukiwiki.sourceforge.jp/pukiwiki1.4/pukiwiki.php?plugin=map&refer=InterWiki map プラグインの MapNode クラスの toString メソッドで無限ループに陥っているようです。 ---- -参照ページから届かないページ(not related from)を列挙するときに、循環参照を止める番兵(parent_id=-1)を入れ忘れていました XD chainメソッド内でチェックするようにしたので、これで大丈夫だと思います。 -- [[ぱんだ]] &new{2003-04-17 (木) 11:02:48}; --- map.inc.php 3 Apr 2003 01:36:49 -0000 1.9 +++ map.inc.php 17 Apr 2003 02:02:15 -0000 @@ -22,7 +22,7 @@ */ function plugin_map_action() -{ error_reporting(E_ALL); +{ global $vars,$whatsnew,$defaultpage; $reverse = array_key_exists('reverse',$vars); @@ -88,7 +88,6 @@ } else { - $nodes[$refer]->parent_id = -1; $nodes[$refer]->chain($nodes); $retval['body'] .= "<ul>\n".$nodes[$refer]->toString($nodes)."</ul>\n"; $retval['body'] .= "<hr /><p>not related from ".htmlspecialchars($refer)."</p>\n"; @@ -168,6 +167,12 @@ return; } $this->done = TRUE; + + if ($this->parent_id == 0) + { + $this->parent_id = -1; + } + foreach ($this->rels as $page) { if (!array_key_exists($page,$nodes)) -cvsに投入しました。 [[cvs:plugin/map.inc.php]](v1.4:r1.10) -- [[ぱんだ]] &new{2003-04-17 (木) 11:09:39}; -大丈夫みたいですね。直りました。 -- [[mizkaz]] &new{2003-04-17 (木) 14:51:19}; //#comment
テキスト整形のルールを表示する