2006-10-01T01:49:34  * xorAxAx found anarcats bug: parsepagelinks doesnt check if it is already parsing pagelinks
2006-10-01T01:49:44  <xorAxAx> so it gets into an inf. loop
2006-10-01T12:25:34  <ThomasWaldmann> moin
2006-10-01T12:30:59  <ThomasWaldmann> xorAxAx: do you fix it?
2006-10-01T12:32:06  <xorAxAx> ThomasWaldmann: no, pretty busy with exams currently
2006-10-01T12:32:37  <ThomasWaldmann> ok, i look at it
2006-10-01T13:05:24  <xorAxAx> i dont think that additional tracebacks help to debug this
2006-10-01T13:09:42  <ThomasWaldmann> i would like to see more stack frames
2006-10-01T13:10:08  <ThomasWaldmann> because the one given doesnt show a recursion
2006-10-01T13:10:27  <xorAxAx> it does, inherently :)
2006-10-01T13:10:52  <xorAxAx> its easy: in order to search for linkto:foo, it needs to traverse all page links
2006-10-01T13:11:02  <xorAxAx> in order to parse the pagelinks, it needs to execute all macros
2006-10-01T13:11:20  <xorAxAx> in order to execute the macro which calls a linkto-search, it needs to gather all pagelinks
2006-10-01T13:11:30  <xorAxAx> and there is the endless recursion :)
2006-10-01T13:12:00  <xorAxAx> the solution is to have a dict in the request that is filled and queried with the pagename in parsepagelinks
2006-10-01T13:13:50  <xorAxAx> it should be easy to reproduce this with a small amount of pages whereas one page $foo is searching for linkto:bar t:$foo
2006-10-01T13:17:25  <ThomasWaldmann> we currently use that request.mode_getpagelinks
2006-10-01T13:18:45  <xorAxAx> its not used by the fullsearch macro
2006-10-01T13:18:48  <xorAxAx> which makes sense
2006-10-01T13:18:58  <xorAxAx> a boolean is not enough, it needs to be a pagename dict
2006-10-01T13:19:10  <xorAxAx> (otherwise you are losing many links)
2006-10-01T13:19:13  <ThomasWaldmann> yes
2006-10-01T23:21:46  <ThomasWaldmann> http://test.wikiwikiweb.de/InfiniteRecursion < no problem
2006-10-01T23:21:53  <ThomasWaldmann> xorAxAx:
2006-10-01T23:22:43  <xorAxAx> please clean the cache of test and try again
2006-10-01T23:22:59  <xorAxAx> (i edited it)
2006-10-01T23:24:20  <ThomasWaldmann> no problem
2006-10-01T23:24:54  <xorAxAx> i.e. "still no problem?"
2006-10-01T23:25:09  * ThomasWaldmann switches off xapian ...
2006-10-01T23:26:20  <ThomasWaldmann> still no problem
2006-10-01T23:26:50  <ThomasWaldmann> cat pagelinks
2006-10-01T23:26:50  <ThomasWaldmann> InfiniteRecursion
2006-10-01T23:26:50  <ThomasWaldmann> FrontPage
2006-10-01T23:28:25  <ThomasWaldmann> http://test.wikiwikiweb.de/InfiniteRecursion < LOL
2006-10-01T23:29:10  <ThomasWaldmann> i guess i dont have enough pages there :)
2006-10-01T23:29:14  <xorAxAx> ummm
2006-10-01T23:29:25  <xorAxAx> please look at the bottom if you didnt laugh about that
2006-10-01T23:29:37  <xorAxAx> i had there ~ 200 timers
2006-10-01T23:29:47  <xorAxAx> then i pressed reload and it reduced to 10
2006-10-01T23:29:56  <xorAxAx> so it was reproducible
2006-10-01T23:30:09  <xorAxAx> maybe clean the cache again? :)
2006-10-01T23:30:53  <xorAxAx> (good that the timers support recursion now, otherwise they wouldnt have shown it)
2006-10-01T23:33:09  <ThomasWaldmann> i laughed about the timers
2006-10-01T23:34:04  <ThomasWaldmann> and i globally remove */cache/pagelinks to trigger it
2006-10-01T23:34:16  <xorAxAx> yeah
2006-10-01T23:34:21  <xorAxAx> "still running" :)

MoinMoin: MoinMoinChat/Logs/moin-dev/2006-10-01 (last edited 2007-10-29 19:12:33 by localhost)