Loading...
 
Skip to main content

link_cache creates SQL error

Status
Closed
Subject
link_cache creates SQL error
Version
4.x
Category
  • Error
  • Regression
Feature
Administration
Comment
Wiki Syntax (text area, parser, external wiki, etc)
Resolution status
Fixed or Solved
Submitted by
mrisch
Volunteered to solve
Louis-Philippe Huberdeau
Lastmod by
Philippe Cloutier
Rating
(0)
Description

From tiki-devel. This is a blocker in my view.

A user added a link to a comment, and now any page that tries to show the link (e.g. the wiki page or the comments admin page) gives me a sql error. My code is up to date to about a week ago ‑ has this been spotted and fixed? A quick search didn't turn anything up for me.


No, I can reproduce this on current trunk. Here's the stack trace:

* /var/www/tiki/trunk/tiki‑index.php : 0 ‑ {main}(array ( ))
* /var/www/tiki/trunk/tiki‑index.php : 427 ‑ runSetups(array ( ))
* /var/www/tiki/trunk/lib/wiki/renderlib.php : 89 ‑ setupPage(array ( ))
* /var/www/tiki/trunk/lib/wiki/renderlib.php : 310 ‑ get_parse(array
( 'page' = '\'HomePage\'', 'canBeRefreshed' = 'FALSE', ))
* /var/www/tiki/trunk/lib/wiki/wikilib.php : 375 ‑ parse_data(array (
'data' = '\'Plugin BackLinks failed : Page cannot be found : \\r\\n((nouvel escape
test))\\r\\n((Home

))\\r\\n
\\r\\n!!Star Get started.\\r\\nTo begin configuring your site:\\r\\n
  1. \\r\\n1) Log in as the

  2. admin with password admin.\\r\\n2) Change the admin

  3. password.\\r\\n3) Enable specific Tiki features.\\r\\n4) Configure the

  4. features.\\r\\n

\\r\\n\\r\\n!!Help Need help?\\r...\'', 'options' = 'array (\'is_html\' =

\'0\')', ))
* /var/www/tiki/trunk/lib/tikilib.php : 6370 ‑ cache_links(array (
'links' = 'array (0 = \'http://info.tikiwiki.org/Learn+More\', 1 =
\'http://info.tikiwiki.org/Help+Others\', 2 =
\'http://doc.tikiwiki.org\', 3 = \'http://www.tikiwiki.org/forums\',
4 = \'http://info.tikiwiki.org/Join+the+community\')', ))
* /var/www/tiki/trunk/lib/tikilib.php : 3505 ‑ cache_url(array (
'url' = '\'http://info.tikiwiki.org/Learn+More\, 'data' = , ))
* /var/www/tiki/trunk/lib/tikilib.php : 3739 ‑ queryError(array (
'query' = '\'insert into `tiki_link_cache`(`url`,`data`,`refresh`)
values(?,?,?)\'', 'error' = 'NULL', 'values' = 'array (0 =
\'http://info.tikiwiki.org/Learn+More\', 1 =
\'\\n\\n\\n\\t\\n\\n\\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\n\\t\\n\\n\\n\\t\\t\\n\\t\\t\\n\\t\\t


cache_url unconditionally calls queryError(). I don't know what
queryError() is supposed to do (and certainly didn't hope to find this
documented), but the following code from Bridge.php is odd:

function query( $query = null, $values = null, $numrows = ‑1,
$offset = ‑1, $reporterrors = true ) // {{{
{
return self::get()‑query( $query, $values, $numrows, $offset,
$reporterrors );
} // }}}

function queryError( $query, &$error, $values = null, $numrows = ‑1,
$offset = ‑1 ) // {{{
{
return self::get()‑query( $query, $error, $values, $numrows,
$offset );
} // }}}

Calling self::get()‑query() with in turn $values or $error as second
argument is strange. I figure queryError is probably meant to call
self::get()‑queryError() instead.

This code was introduced in r20205.

Solution
Fixed in r22191.
Importance
7
Priority
35
Demonstrate Bug on Tiki 19+
Demonstrate Bug (older Tiki versions)
Ticket ID
2788
Created
Thursday 08 October, 2009 11:38:28 UTC
by Unknown
LastModif
Sunday 11 October, 2009 02:00:26 UTC


Show PHP error messages