On Mon, Jan 25, 2010 at 10:00, Petteri Karttunen <[email protected]> wrote: > Hello, > I've been running xwiki with "log4j.logger.com.xpn.xwiki.plugin.lucene=debug" > now for some days. The problem has occurred several times but I've nothing in > my logs. Is there something else I could do/debug?
As i said i doubt "log4j.logger.com.xpn.xwiki.plugin.lucene=debug" bring anything since Lucene plugin does not print any debug log (or almost nothing and not useful here). Only part of the code i see where it's possible to have the variable null (which makes it produce a nullpointerexception) are supposed to be covered by an error log at some point (not when you look at the page but before). I can't see how you could have this issue if nothing goes wrong and is then logged. > -Pete > > -----Alkuperäinen viesti----- > Lähettäjä: [email protected] [mailto:[email protected]] Puolesta > Thomas Mortagne > Lähetetty: 20. tammikuuta 2010 19:28 > Vastaanottaja: XWiki Users > Aihe: Re: [xwiki-users] Lucene defaultpage fails > > On Wed, Jan 20, 2010 at 17:12, Petteri Karttunen > <[email protected]> wrote: >> I wish there was more info in my logs...I paused actively watching and >> debugging this one few weeks ago because of the workaround (reinitializing >> the plugin when needed in a groovy try{...getQueueSize()...} catch -block on >> a search page). As far as I can remember there wasn't any lucene-errors in >> my logs at the time and the search clearly returned 0 hits according to >> logs. To be sure I'll put the debugging options on again and let you know >> the results as soon as the problem occurs again. Are these enough?: >> >> log4j.logger.com.xpn.xwiki.plugin.lucene.IndexData=debug >> log4j.logger.com.xpn.xwiki.plugin.lucene.DocumentData=debug >> log4j.logger.com.xpn.xwiki.plugin.lucene.IndexUpdater=debug >> log4j.logger.com.xpn.xwiki.plugin.lucene.IndexRebuilder=debug >> log4j.logger.com.xpn.xwiki.plugin.lucene.LucenePlugin=debug >> log4j.logger.com.xpn.xwiki.plugin.lucene.SearchResults=debug >> log4j.logger.com.xpn.xwiki.plugin.lucene.SearchResult=debug > > You can use > > log4j.logger.com.xpn.xwiki.plugin.lucene=debug > > I think but AFAIK there is almost no debug log in Lucene plugin. > >> >> I haven't examined the code thoroughly so probably a missed shot but is >> there any chance that this could be a method synchronization issue with >> searchers and writers? >> -Pete >> >> -----Alkuperäinen viesti----- >> Lähettäjä: [email protected] [mailto:[email protected]] Puolesta >> Thomas Mortagne >> Lähetetty: 20. tammikuuta 2010 17:14 >> Vastaanottaja: XWiki Users >> Aihe: Re: [xwiki-users] Lucene defaultpage fails >> >> On Wed, Jan 20, 2010 at 16:01, Petteri Karttunen >> <[email protected]> wrote: >>> Everything I could find was this one problem in closing the writer: >>> >>> 23:00:06,242 [Lucene index updating thread] [Lucene Index Updater] WARN >>> lucene.IndexUpdater - Failed to close writer. >>> >>> I forgot to mention another symptom suggesting index reading problems: when >>> the situation is on I can do Lucene-queries (custom search page wo >>> getQueueSize()) but it just doesn't return anything. So the plugin kind of >>> "works" but "seems" not to be able to read indexes properly. >> >> As far as i can see in the code all search* methods in the public api >> are "protected" from any Exception and return null when something >> wrong happen. But it also log the error so when you do a failing >> search you should have something in the log. >> >>> -Pete >>> >>> >>> -----Alkuperäinen viesti----- >>> Lähettäjä: [email protected] [mailto:[email protected]] >>> Puolesta Thomas Mortagne >>> Lähetetty: 20. tammikuuta 2010 15:48 >>> Vastaanottaja: XWiki Users >>> Aihe: Re: [xwiki-users] Lucene defaultpage fails >>> >>> For your informations: as far as i can see in the code there is only >>> one way to have the IndexUpdater to null (whichgenerate a >>> nullpointerexcetion in #getQueueSize) is when during the init the >>> index can't be opened. In this case you should find a log looking like >>> this: >>> >>> "Failed to open the index directory: " followed with a message >>> detailing a little why it can't open index directory. >>> >>> (so indeed it could be caused by the fact that no more inode can be >>> used on linux for example). >>> >>> Could you look if you can find this error anywhere in the log ? >>> >>> On Tue, Jan 19, 2010 at 13:48, Thomas Mortagne >>> <[email protected]> wrote: >>>> On Tue, Jan 19, 2010 at 13:26, Petteri Karttunen >>>> <[email protected]> wrote: >>>>> Hello, >>>>> >>>>> My issues seem to happen randomly but not at startup. Plugin works well >>>>> from some hours to some days but I'm not sure what triggers this. I >>>>> haven't been able to debug anything of interest in plugin's logs. >>>>> >>>>> Only potential clue I have is that plugin is leaving index files open >>>>> which -at least- leads Tomcat finally to "too many files open" -error at >>>>> some point. lsof | grep "lucene" gives me a bunch of these: >>>>> >>>>> ... >>>>> java.bin 10095 tomcat 666r REG 104,1 60931511 15634869 >>>>> /srv/www/DATA/xwiki/lucene/_5r7.cfs (deleted) >>>>> java.bin 10095 tomcat 667r REG 104,1 60931507 15634870 >>>>> /srv/www/DATA/xwiki/lucene/_5r9.cfs (deleted) >>>>> java.bin 10095 tomcat 668r REG 104,1 60931507 15634871 >>>>> /srv/www/DATA/xwiki/lucene/_5rb.cfs (deleted) >>>>> ... >>>> >>>>> >>>>> Also, xwiki gets the plugin object normally during the malfunctional >>>>> state but it seems it just cannot read index. Could it be that the plugin >>>>> becomes unusable not before a deleted index file becomes overwritten by >>>>> the system? That could be the reason why the time it works varies so much >>>>> (depending on the other file system usage of the underlying operating >>>>> system)? WDT? >>>> >>>> This one is http://jira.xwiki.org/jira/browse/XPLUCENE-30 but I don't >>>> see how it could be the source of the nullpointer exception issue. >>>> >>>>> >>>>> -Pete >>>>> >>>>> -----Alkuperäinen viesti----- >>>>> Lähettäjä: [email protected] [mailto:[email protected]] >>>>> Puolesta Thomas Mortagne >>>>> Lähetetty: 19. tammikuuta 2010 13:20 >>>>> Vastaanottaja: XWiki Users >>>>> Aihe: Re: [xwiki-users] Lucene defaultpage fails >>>>> >>>>> Hi guys, >>>>> >>>>> getting some informations since i can't find just at looking at the >>>>> code how this would append. >>>>> >>>>> When you have the issue, does it appending since the time you started >>>>> XWiki or does it works and at some point it stops to work even if you >>>>> did not restarted XWiki. Basically is it always a startup issue ? >>>>> >>>>> And in that case do you have anything in the beginning of the log like >>>>> a warning or something indicating that something wrong append during >>>>> lucene plugin initialization ? >>>>> >>>>> On Tue, Jan 19, 2010 at 07:20, Gerritjan Koekkoek >>>>> <[email protected]> wrote: >>>>>> The following command (thanks Pete) worked en reinitialized Lucene >>>>>> after that lucenesearch worked again. >>>>>> >>>>>> Hope to hear soon how to prevent that Lucene is not initialized? >>>>>> >>>>>> >>>>>>> xwiki.getXWiki().getPluginManager().getPlugin("lucene").init(xwiki.getXWikiC >>>>>>> ontext()) >>>>>> >>>>>> >>>>>> Op 18 jan 2010, om 10:46 heeft Guillaume Lerouge het volgende geschreven: >>>>>> >>>>>> Hi, >>>>>> >>>>>> yes, I'm frequently hitting this error too and I'm not sure why. Thomas >>>>>> Mortagne looked at it last week but he doesn't have a fix yet. >>>>>> >>>>>> I was provided with a workaround last friday, I'll see if I can post it >>>>>> on >>>>>> code.xwiki.org >>>>>> >>>>>> Guillaume >>>>>> >>>>>> On Mon, Jan 18, 2010 at 10:05 AM, Petteri Karttunen < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> I'm also encountering this problem randomly since XWiki 2.0 but so far >>>>>>> haven't been able to find the initial cause. See also >>>>>>> http://www.mail-archive.com/[email protected]/msg09549.html. As Marius >>>>>>> suggests it might have something to do with the plugin initialization >>>>>>> because re-initializing the plugin under those circumstances helps in my >>>>>>> case: >>>>>>> >>>>>>> ... >>>>>>> >>>>>>> xwiki.getXWiki().getPluginManager().getPlugin("lucene").init(xwiki.getXWikiC >>>>>>> ontext()) ... >>>>>>> >>>>>>> but this of course doesn't solve the problem behind. >>>>>>> >>>>>>> -Pete >>>>>>> >>>>>>> >>>>>>> -----Alkuperäinen viesti----- >>>>>>> Lähettäjä: [email protected] [mailto:[email protected]] >>>>>>> Puolesta >>>>>>> Gerritjan Koekkoek >>>>>>> Lähetetty: 17. tammikuuta 2010 21:26 >>>>>>> Vastaanottaja: XWiki Users >>>>>>> Aihe: Re: [xwiki-users] Lucene defaultpage fails >>>>>>> >>>>>>> See below for extended error-report >>>>>>> I also paste the code >>>>>>> Op 17 jan 2010, om 18:12 heeft Flavius Olaru het volgende geschreven: >>>>>>> >>>>>>> On Sun, Jan 17, 2010 at 1:35 PM, Gerritjan Koekkoek >>>>>>> <[email protected]> wrote: >>>>>>>> Navigating to the Main.LuceneSearch page brings up the following error? >>>>>>>> >>>>>>>> Failed to execute macro: velocity >>>>>>>> org.xwiki.rendering.macro.MacroExecutionException: Failed to evaluate >>>>>>> Velocity Macro for content >>>>>>> [$xwiki.jsfx.use("uicomponents/search/search.js", >>>>>>> true)## >>>>>>>> $xwiki.ssfx.use("uicomponents/search/search.css", true)## >>>>>>>> The page has worked, but what can be wrong now. >>>>>>>> The page itself is not changed from the distribution? >>>>>>>> >>>>>>>> Gerritjan >>>>>>>> _______________________________________________ >>>>>>>> users mailing list >>>>>>>> [email protected] >>>>>>>> http://lists.xwiki.org/mailman/listinfo/users >>>>>>>> >>>>>>> Hi Gerritjan, >>>>>>> >>>>>>> Can you paste in more information about the error? >>>>>>> >>>>>>> -- >>>>>>> Flavius Olaru >>>>>>> ## Disable the document extra data: comments, attachments, history... >>>>>>> #set($docextras = []) >>>>>>> ## =================== >>>>>>> ## Lucene search >>>>>>> ## =================== >>>>>>> ## Inputs : $request.text >>>>>>> ## Outputs : $list, $isScored >>>>>>> ## =================== >>>>>>> ## Uncomment this line to overload the maximum list of wiki where to >>>>>>> search >>>>>>> (also the one listed in the wikis combobox) >>>>>>> ## #set($allwikinamelist = ["xwiki", "wiki1", "wiki2"]) >>>>>>> ## >>>>>>> ## Uncomment this line to overload the wikis where to search >>>>>>> ## #set($wikinames = "xwiki,wiki,wiki") >>>>>>> ## >>>>>>> ## Uncomment this line to overload the languages to search >>>>>>> ## #set($languages = "default,en,de") >>>>>>> #set ($rssmode = ("$!request.xpage" == 'plain')) >>>>>>> ## --------------- >>>>>>> ## Space filtering >>>>>>> ## --------------- >>>>>>> #set($extraClause = '') >>>>>>> #set($selectedSpace = "$!request.space") >>>>>>> #if($selectedSpace != '' && >>>>>>> !$blacklistedSpaces.contains($selectedSpace)) >>>>>>> #set($extraClause = " AND web:${selectedSpace}") >>>>>>> #end >>>>>>> ## >>>>>>> ---------------------------------------------------------------------- >>>>>>> ## Exclude Blacklisted spaces ($blacklistedSpaces is set in >>>>>>> xwikivars.vm) >>>>>>> ## Also exclude WebPreferences. >>>>>>> ## >>>>>>> ---------------------------------------------------------------------- >>>>>>> #foreach ($blacklistedSpace in $blacklistedSpaces) >>>>>>> #set ($extraClause = " AND NOT web:${blacklistedSpace}${extraClause}") >>>>>>> #end >>>>>>> #if(!$hasAdmin && !$isAdvancedUser) >>>>>>> #set ($extraClause = " AND NOT name:WebPreferences${extraClause}") >>>>>>> #end >>>>>>> ## --------------- >>>>>>> ## Space macros >>>>>>> ## --------------- >>>>>>> #macro(spaceoption $space $selectedSpace) >>>>>>> <option value="${space}" #if($selectedSpace == >>>>>>> $space)selected="selected"#end>$space</option> >>>>>>> #end >>>>>>> #macro(spaceselect $selectedSpace $spaces) >>>>>>> <select name="space" title="$msg.get('xe.search.bar.spaces.title')"> >>>>>>> <option value="" #if($selectedSpace == >>>>>>> '')selected="selected"#end>$msg.get('xe.search.bar.spaces.all')</option> >>>>>>> #foreach($space in $xwiki.spaces) >>>>>>> #if (!$blacklistedSpaces.contains($space)) >>>>>>> #spaceoption($space $selectedSpace) >>>>>>> #end >>>>>>> #end >>>>>>> </select> >>>>>>> #end >>>>>>> ## --------------- >>>>>>> ## Wikis filtering >>>>>>> ## --------------- >>>>>>> #set($wikinamelist = []) >>>>>>> #if(!$wikinames) >>>>>>> #set($wikinametable = $request.getParameterValues("wikinames")) >>>>>>> #if(!$wikinametable || $request.wikinames == "") >>>>>>> #set($wikinametable = $allwikinamelist) >>>>>>> #end >>>>>>> #set($wikinames = "") >>>>>>> #foreach($wikiname in $wikinametable) >>>>>>> #set($ok = $wikinamelist.add($wikiname)) >>>>>>> #if($wikinames != "") >>>>>>> #set($wikinames = $wikinames + ",") >>>>>>> #end >>>>>>> #set($wikinames = $wikinames + $wikiname) >>>>>>> #end >>>>>>> #else >>>>>>> #set($wikinametable = $wikinames.split(", ")) >>>>>>> #foreach($wikiname in $wikinametable) >>>>>>> #set($ok = $wikinamelist.add($wikiname)) >>>>>>> #end >>>>>>> #end >>>>>>> ## >>>>>>> #if($xwiki.isVirtualMode()) >>>>>>> #if(!$allwikinamelist) >>>>>>> #set($currentwikiname = $context.database) >>>>>>> #set($ok = $context.setDatabase($context.mainWikiName)) >>>>>>> #set($allwikilist = $xwiki.searchDocuments(", BaseObject as obj, >>>>>>> StringProperty as prop where doc.fullName=obj.name and >>>>>>> obj.className='XWiki.XWikiServerClass' and prop.id.id=obj.id and >>>>>>> prop.id.name='server'")) >>>>>>> #set($ok = $context.setDatabase($currentwikiname)) >>>>>>> ## >>>>>>> #set($allwikinamelist = []) >>>>>>> #foreach($wiki in $allwikilist) >>>>>>> #set($ok = $allwikinamelist.add($wiki.substring(17).toLowerCase())) >>>>>>> #end >>>>>>> #if(!$allwikinamelist.contains($context.mainWikiName)) >>>>>>> #set($ok = $allwikinamelist.add($context.mainWikiName)) >>>>>>> #end >>>>>>> #end >>>>>>> ## --------------- >>>>>>> ## Wikis macros >>>>>>> ## --------------- >>>>>>> #macro(wikinamesoption $wikiname $wikinamelist) >>>>>>> <option value="$wikiname" >>>>>>> >>>>>>> #if($wikinamelist.contains($wikiname))selected="selected"#end>$wikiname</opt >>>>>>> ion> >>>>>>> #end >>>>>>> #macro(wikinamesselect $allwikinamelist $wikinamelist) >>>>>>> <select name="wikinames"> >>>>>>> <option value="" selected="selected">All</option> >>>>>>> #foreach($wikiname in $allwikinamelist) >>>>>>> #wikinamesoption($wikiname $wikinamelist) >>>>>>> #end >>>>>>> </select> >>>>>>> #end >>>>>>> #else >>>>>>> #if($wikinames == "") >>>>>>> #set($wikinames = $context.mainWikiName) >>>>>>> #end >>>>>>> #end >>>>>>> ## --------------- >>>>>>> ## Query preparation >>>>>>> ## --------------- >>>>>>> #set($text = "$!request.getParameter('text')") >>>>>>> #set($query = $text) >>>>>>> #set($utext = $util.encodeURI($query)) >>>>>>> #set($defaultItemsPerPage = 30) >>>>>>> #set($itemsPerPage = $util.parseInt("$!{request.perPage}")) >>>>>>> #if($itemsPerPage <= 0) >>>>>>> #set($itemsPerPage = $defaultItemsPerPage) >>>>>>> #end >>>>>>> ## --------------- >>>>>>> ## Query form >>>>>>> ## --------------- >>>>>>> #if(!$rssmode) >>>>>>> {{html}} >>>>>>> <form action="" method="get" id="searchBar"> >>>>>>> <div class="centered"> >>>>>>> <input type="text" name="text" class="searchQuery #if($text == '') >>>>>>> defaultText#end" #if($text == '') >>>>>>> value="$msg.get('xe.search.bar.query.tip')" #else >>>>>>> value="$xwiki.getXMLEncoded(${text})" #end >>>>>>> title="$msg.get('xe.search.bar.query.title')"/> >>>>>>> #spaceselect($selectedSpace $spaces) >>>>>>> <input type="submit" class="searchButton" >>>>>>> value="$msg.get('xe.search.bar.submit')" >>>>>>> title="$msg.get('xe.search.bar.submit.title')"/> >>>>>>> <div class="searchHelp">$msg.get('xe.search.bar.queryTip')</div> >>>>>>> </div> >>>>>>> </form> >>>>>>> {{/html}} >>>>>>> #end >>>>>>> ## --------------- >>>>>>> ## Results processing >>>>>>> ## --------------- >>>>>>> #if($query != '') >>>>>>> #set($lucene = $xwiki.getPlugin("lucene")) >>>>>>> #if($lucene) >>>>>>> ## --------------- >>>>>>> ## Lucene search >>>>>>> ## --------------- >>>>>>> #set($searchresults = >>>>>>> $lucene.getSearchResults("${query}${extraClause}", >>>>>>> $wikinames, $!languages, $xwiki)) >>>>>>> #if($searchresults.getHitcount() > 0) >>>>>>> ## ----------------- >>>>>>> ## Pagination (top) >>>>>>> ## ----------------- >>>>>>> #if(!$rssmode) >>>>>>> #set($paginationParameters = {'url' : $doc.getURL('view', >>>>>>> "text=${query}&space=${selectedSpace}"), 'totalItems' : >>>>>>> $searchresults.getHitcount(), 'defaultItemsPerPage' : >>>>>>> $defaultItemsPerPage, >>>>>>> 'position': 'top'}) >>>>>>> {{html}} >>>>>>> #pagination($paginationParameters) >>>>>>> {{/html}} >>>>>>> #end >>>>>>> ## ----------------- >>>>>>> ## Display results >>>>>>> ## ----------------- >>>>>>> #set($firstIndex = "$!{paginationParameters.firstItem}") >>>>>>> #if($firstIndex == '') >>>>>>> #set($firstIndex = "$!request.getParameter('firstIndex')") >>>>>>> #if($firstIndex == '') >>>>>>> #set($firstIndex = '0') >>>>>>> #end >>>>>>> #end >>>>>>> #set($firstIndex = $util.parseInt($firstIndex)) >>>>>>> #set($firstIndex = $firstIndex + 1) >>>>>>> #set($results = $searchresults.getResults("$firstIndex", >>>>>>> "$itemsPerPage")) >>>>>>> #if ($rssmode) >>>>>>> #set ($list = $util.arrayList) >>>>>>> #foreach ($item in $results) >>>>>>> #if ($item.type != "attachment") >>>>>>> #set ($ok = $list.add(0, "${item.web}.${item.name}")) >>>>>>> #end >>>>>>> #end >>>>>>> #set ($feed = $xwiki.feed.getDocumentFeed($list, >>>>>>> $util.getHashMap())) >>>>>>> #set ($feedURI = $doc.getExternalURL("view")) >>>>>>> #set ($discard = $feed.setLink($feedURI)) >>>>>>> #set ($discard = $feed.setUri($feedURI)) >>>>>>> #set ($discard = $feed.setAuthor('XWiki')) >>>>>>> #set ($discard = $feed.setTitle($msg.get('xe.search.rss', >>>>>>> [$text]))) >>>>>>> #set ($discard = $feed.setDescription($msg.get('xe.search.rss', >>>>>>> [$text]))) >>>>>>> #set ($discard = $feed.setLanguage($context.language)) >>>>>>> #set ($discard = >>>>>>> $feed.setCopyright($xwiki.getXWikiPreference('copyright'))) >>>>>>> $xwiki.feed.getFeedOutput($feed, 'rss_2.0') >>>>>>> #else >>>>>>> #set ($list = $results) >>>>>>> #set ($isScored = true) >>>>>>> {{include document="XWiki.Results"/}} >>>>>>> #end >>>>>>> ## ----------------- >>>>>>> ## Pagination (bottom) >>>>>>> ## ----------------- >>>>>>> #if(!$rssmode) >>>>>>> #set($paginationParameters.position = 'bottom') >>>>>>> {{html}} >>>>>>> #pagination($paginationParameters) >>>>>>> {{/html}} >>>>>>> ## --------------- >>>>>>> ## RSS link >>>>>>> ## --------------- >>>>>>> #if($selectedSpace == '') >>>>>>> #set($rssURL = $xwiki.getURL($doc.fullName, 'view', >>>>>>> "xpage=rdf&text=${utext}" )) >>>>>>> #else >>>>>>> #set($rssURL = $xwiki.getURL($doc.fullName, 'view', >>>>>>> "xpage=rdf&space=${selectedSpace}&text=${utext}")) >>>>>>> #end >>>>>>> {{html}} >>>>>>> <a href="${rssURL}"><img >>>>>>> src="$xwiki.getSkinFile("icons/silk/feed.gif")" alt="RSS >>>>>>> icon"/>$msg.get("xe.search.rss", ["[$query]"])</a> >>>>>>> {{/html}} >>>>>>> #end >>>>>>> #end >>>>>>> #else >>>>>>> >>>>>>> {{error}}$msg.get('xe.search.plugin.notfound')){{/error}} >>>>>>> #end >>>>>>> #end >>>>>>> #if (!$rssmode) >>>>>>> ## --------------- >>>>>>> ## Rebuild processing >>>>>>> ## --------------- >>>>>>> #set($lucene = $xwiki.getPlugin("lucene")) >>>>>>> #if($lucene) >>>>>>> #set($doRebuild = "$!{request.getParameter('rebuild')}") >>>>>>> #if($doRebuild == "yes") >>>>>>> #set($documentCount = $lucene.rebuildIndex()) >>>>>>> #if(${documentCount} >= 0) >>>>>>> >>>>>>> {{info}}$msg.get("xe.search.rebuild.started"){{/info}} >>>>>>> #elseif(${documentCount} == -1) >>>>>>> >>>>>>> {{error}}$msg.get("xe.search.rebuild.rights"){{/error}} >>>>>>> >>>>>>> #elseif(${documentCount} == -2) >>>>>>> >>>>>>> {{error}}$msg.get("xe.search.rebuild.inprogress"){{/error}} >>>>>>> #else >>>>>>> >>>>>>> {{error}}$msg.get("xe.search.rebuild.failed"){{/error}} >>>>>>> #end >>>>>>> #else## !doRebuild >>>>>>> ## --------------- >>>>>>> ## Queue & rebuild option >>>>>>> ## --------------- >>>>>>> #set ($queuesize = $xwiki.lucene.getQueueSize()) >>>>>>> #if ($queuesize > 2) >>>>>>> #set($info1 = $msg.get('xe.search.rebuild.currently', >>>>>>> [${queuesize}])) >>>>>>> #else >>>>>>> #set($info1 = $msg.get('xe.search.index.uptodate')) >>>>>>> #end >>>>>>> #if($hasAdmin) >>>>>>> #set($info2 = " >>>>>>> [[$msg.get('xe.search.index.rebuild')>>${doc.space}.${doc.name >>>>>>> }?rebuild=yes] >>>>>>> ].") >>>>>>> #else >>>>>>> #set($info2 = "") >>>>>>> #end >>>>>>> >>>>>>> {{info}}${info1}${info2}{{/info}} >>>>>>> #end## doRebuild >>>>>>> #set($defaultSearch = >>>>>>> "[[$msg.get('xe.search.default.engine')>>WebSearch?text=$utext]]") >>>>>>> >>>>>>> {{warning}}$msg.get('xe.search.lucene.experimental', >>>>>>> [$defaultSearch]){{/warning}} >>>>>>> >>>>>>> #else## !lucene exists >>>>>>> #set($defaultSearch = >>>>>>> "[[$msg.get('xe.search.default.engine')>>WebSearch?text=$utext]]") >>>>>>> >>>>>>> {{warning}}$msg.get('xe.search.plugin.notenabled', >>>>>>> [$defaultSearch]){{/warning}} >>>>>>> #end## lucene exists >>>>>>> #end## !$rssmode] >>>>>>> >>>>>>> >>>>>>> at >>>>>>> >>>>>>> org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluate(VelocityM >>>>>>> acro.java:118) >>>>>>> at >>>>>>> >>>>>>> org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluate(VelocityM >>>>>>> acro.java:44) >>>>>>> at >>>>>>> >>>>>>> org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptM >>>>>>> acro.java:200) >>>>>>> at >>>>>>> >>>>>>> org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptM >>>>>>> acro.java:52) >>>>>>> at >>>>>>> >>>>>>> org.xwiki.rendering.internal.transformation.MacroTransformation.transformOnc >>>>>>> e(MacroTransformation.java:175) >>>>>>> at >>>>>>> >>>>>>> org.xwiki.rendering.internal.transformation.MacroTransformation.transform(Ma >>>>>>> croTransformation.java:120) >>>>>>> at >>>>>>> >>>>>>> org.xwiki.rendering.internal.transformation.DefaultTransformationManager.per >>>>>>> formTransformations(DefaultTransformationManager.java:72) >>>>>>> at >>>>>>> >>>>>>> com.xpn.xwiki.doc.XWikiDocument.performSyntaxConversion(XWikiDocument.java:5 >>>>>>> 696) >>>>>>> at >>>>>>> >>>>>>> com.xpn.xwiki.doc.XWikiDocument.performSyntaxConversion(XWikiDocument.java:5 >>>>>>> 671) >>>>>>> at >>>>>>> com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:569) >>>>>>> at >>>>>>> com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:583) >>>>>>> at >>>>>>> com.xpn.xwiki.api.Document.getRenderedContent(Document.java:475) >>>>>>> at sun.reflect.GeneratedMethodAccessor257.invoke(Unknown Source) >>>>>>> at >>>>>>> >>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl >>>>>>> .java:25) >>>>>>> at java.lang.reflect.Method.invoke(Method.java:597) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke( >>>>>>> UberspectImpl.java:389) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(Ub >>>>>>> erspectImpl.java:378) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270 >>>>>>> ) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.ja >>>>>>> va:252) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java >>>>>>> :493) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.ja >>>>>>> va:71) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirecti >>>>>>> ve.java:142) >>>>>>> at >>>>>>> org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:33 >>>>>>> 6) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement >>>>>>> .java:106) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:33 >>>>>>> 6) >>>>>>> at >>>>>>> >>>>>>> org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEn >>>>>>> gine.java:191) >>>>>>> at >>>>>>> >>>>>>> org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEn >>>>>>> gine.java:156) >>>>>>> at >>>>>>> >>>>>>> com.xpn.xwiki.render.XWikiVelocityRenderer.evaluate(XWikiVelocityRenderer.ja >>>>>>> va:116) >>>>>>> at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1710) >>>>>>> at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1631) >>>>>>> at com.xpn.xwiki.api.XWiki.parseTemplate(XWiki.java:657) >>>>>>> at sun.reflect.GeneratedMethodAccessor109.invoke(Unknown Source) >>>>>>> at >>>>>>> >>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl >>>>>>> .java:25) >>>>>>> at java.lang.reflect.Method.invoke(Method.java:597) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke( >>>>>>> UberspectImpl.java:389) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(Ub >>>>>>> erspectImpl.java:378) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270 >>>>>>> ) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.ja >>>>>>> va:252) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.jav >>>>>>> a:332) >>>>>>> at >>>>>>> org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroPro >>>>>>> xy.java:212) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java: >>>>>>> 247) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.jav >>>>>>> a:175) >>>>>>> at >>>>>>> org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement >>>>>>> .java:87) >>>>>>> at >>>>>>> org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:33 >>>>>>> 6) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement >>>>>>> .java:106) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:33 >>>>>>> 6) >>>>>>> at >>>>>>> >>>>>>> org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEn >>>>>>> gine.java:191) >>>>>>> at >>>>>>> >>>>>>> org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEn >>>>>>> gine.java:156) >>>>>>> at >>>>>>> >>>>>>> com.xpn.xwiki.render.XWikiVelocityRenderer.evaluate(XWikiVelocityRenderer.ja >>>>>>> va:116) >>>>>>> at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1710) >>>>>>> at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1631) >>>>>>> at com.xpn.xwiki.web.Utils.parseTemplate(Utils.java:123) >>>>>>> at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:224) >>>>>>> at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:115) >>>>>>> at >>>>>>> >>>>>>> org.apache.struts.action.RequestProcessor.processActionPerform(RequestProces >>>>>>> sor.java:431) >>>>>>> at >>>>>>> >>>>>>> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) >>>>>>> at >>>>>>> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) >>>>>>> at >>>>>>> org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) >>>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) >>>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >>>>>>> at >>>>>>> >>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application >>>>>>> FilterChain.java:290) >>>>>>> at >>>>>>> >>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh >>>>>>> ain.java:206) >>>>>>> at >>>>>>> >>>>>>> com.xpn.xwiki.wysiwyg.server.filter.ConversionFilter.doFilter(ConversionFilt >>>>>>> er.java:152) >>>>>>> at >>>>>>> >>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application >>>>>>> FilterChain.java:235) >>>>>>> at >>>>>>> >>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh >>>>>>> ain.java:206) >>>>>>> at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:117) >>>>>>> at >>>>>>> >>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application >>>>>>> FilterChain.java:235) >>>>>>> at >>>>>>> >>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh >>>>>>> ain.java:206) >>>>>>> at >>>>>>> com.xpn.xwiki.plugin.webdav.XWikiDavFilter.doFilter(XWikiDavFilter.java:68) >>>>>>> at >>>>>>> >>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application >>>>>>> FilterChain.java:235) >>>>>>> at >>>>>>> >>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh >>>>>>> ain.java:206) >>>>>>> at >>>>>>> >>>>>>> com.xpn.xwiki.web.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFi >>>>>>> lter.java:295) >>>>>>> at >>>>>>> >>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application >>>>>>> FilterChain.java:235) >>>>>>> at >>>>>>> >>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh >>>>>>> ain.java:206) >>>>>>> at >>>>>>> >>>>>>> com.xpn.xwiki.web.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFi >>>>>>> lter.java:112) >>>>>>> at >>>>>>> >>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application >>>>>>> FilterChain.java:235) >>>>>>> at >>>>>>> >>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh >>>>>>> ain.java:206) >>>>>>> at >>>>>>> >>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja >>>>>>> va:233) >>>>>>> at >>>>>>> >>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja >>>>>>> va:191) >>>>>>> at >>>>>>> >>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128 >>>>>>> ) >>>>>>> at >>>>>>> >>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102 >>>>>>> ) >>>>>>> at >>>>>>> >>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java >>>>>>> :109) >>>>>>> at >>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) >>>>>>> at >>>>>>> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) >>>>>>> at >>>>>>> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291) >>>>>>> at >>>>>>> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769) >>>>>>> at >>>>>>> >>>>>>> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698) >>>>>>> at >>>>>>> >>>>>>> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java >>>>>>> :891) >>>>>>> at >>>>>>> >>>>>>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav >>>>>>> a:690) >>>>>>> at java.lang.Thread.run(Thread.java:619) >>>>>>> Caused by: org.xwiki.velocity.XWikiVelocityException: Failed to evaluate >>>>>>> content with id [velocity macro] >>>>>>> at >>>>>>> >>>>>>> org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEn >>>>>>> gine.java:200) >>>>>>> at >>>>>>> >>>>>>> org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEn >>>>>>> gine.java:156) >>>>>>> at >>>>>>> >>>>>>> org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluate(VelocityM >>>>>>> acro.java:110) >>>>>>> ... 93 more >>>>>>> Caused by: org.apache.velocity.exception.MethodInvocationException: >>>>>>> Invocation of method 'getQueueSize' in class >>>>>>> com.xpn.xwiki.plugin.lucene.LucenePluginApi threw exception >>>>>>> java.lang.NullPointerException at velocity macro[line 246, column 34] >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTMethod.handleInvocationException( >>>>>>> ASTMethod.java:337) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:284 >>>>>>> ) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.ja >>>>>>> va:252) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java >>>>>>> :493) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.ja >>>>>>> va:71) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirecti >>>>>>> ve.java:142) >>>>>>> at >>>>>>> org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:33 >>>>>>> 6) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement >>>>>>> .java:106) >>>>>>> at >>>>>>> org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement >>>>>>> .java:87) >>>>>>> at >>>>>>> org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement >>>>>>> .java:87) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:33 >>>>>>> 6) >>>>>>> at >>>>>>> >>>>>>> org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEn >>>>>>> gine.java:191) >>>>>>> ... 95 more >>>>>>> Caused by: java.lang.NullPointerException >>>>>>> at >>>>>>> >>>>>>> com.xpn.xwiki.plugin.lucene.LucenePlugin.getQueueSize(LucenePlugin.java:661) >>>>>>> at >>>>>>> >>>>>>> com.xpn.xwiki.plugin.lucene.LucenePluginApi.getQueueSize(LucenePluginApi.jav >>>>>>> a:183) >>>>>>> at sun.reflect.GeneratedMethodAccessor370.invoke(Unknown Source) >>>>>>> at >>>>>>> >>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl >>>>>>> .java:25) >>>>>>> at java.lang.reflect.Method.invoke(Method.java:597) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke( >>>>>>> UberspectImpl.java:389) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(Ub >>>>>>> erspectImpl.java:378) >>>>>>> at >>>>>>> >>>>>>> org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270 >>>>>>> ) >>>>>>> ... 108 more >>>>>>> >>>>>>> _______________________________________________ >>>>>>> users mailing list >>>>>>> [email protected] >>>>>>> http://lists.xwiki.org/mailman/listinfo/users >>>>>>> >>>>>>> _______________________________________________ >>>>>>> users mailing list >>>>>>> [email protected] >>>>>>> http://lists.xwiki.org/mailman/listinfo/users >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Guillaume Lerouge >>>>>> Product Manager - XWiki SAS >>>>>> Skype: wikibc >>>>>> Twitter: glerouge >>>>>> http://guillaumelerouge.com/ >>>>>> _______________________________________________ >>>>>> users mailing list >>>>>> [email protected] >>>>>> http://lists.xwiki.org/mailman/listinfo/users >>>>>> >>>>>> _______________________________________________ >>>>>> users mailing list >>>>>> [email protected] >>>>>> http://lists.xwiki.org/mailman/listinfo/users >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Thomas Mortagne >>>>> _______________________________________________ >>>>> users mailing list >>>>> [email protected] >>>>> http://lists.xwiki.org/mailman/listinfo/users >>>>> >>>>> _______________________________________________ >>>>> users mailing list >>>>> [email protected] >>>>> http://lists.xwiki.org/mailman/listinfo/users >>>>> >>>> >>>> >>>> >>>> -- >>>> Thomas Mortagne >>>> >>> >>> >>> >>> -- >>> Thomas Mortagne >>> _______________________________________________ >>> users mailing list >>> [email protected] >>> http://lists.xwiki.org/mailman/listinfo/users >>> >>> _______________________________________________ >>> users mailing list >>> [email protected] >>> http://lists.xwiki.org/mailman/listinfo/users >>> >> >> >> >> -- >> Thomas Mortagne >> _______________________________________________ >> users mailing list >> [email protected] >> http://lists.xwiki.org/mailman/listinfo/users >> >> _______________________________________________ >> users mailing list >> [email protected] >> http://lists.xwiki.org/mailman/listinfo/users >> > > > > -- > Thomas Mortagne > _______________________________________________ > users mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/users > > _______________________________________________ > users mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/users > -- Thomas Mortagne _______________________________________________ users mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/users
