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)