Hi Thomas, I was now able to track down to code that triggers IIS to throw the unhandled exception. It appears within the _indexingRequest() method of the MoinMoin\search\builtin.py module.
I did the following: - inserted a breakpoint into the code using winpdb and restarting the wiki - after updating a page over the web I could step through the lines of _indexingRequest() until a copy of the request object is being made. This causes the exception within IIS def _indexingRequest(self, request): """ Return a new request that can be used for index building. This request uses a security policy that lets the current user read any page. Without this policy some pages will not render, which will create broken pagelinks index. @param request: current request """ import copy from MoinMoin.security import Permissions from MoinMoin.logfile import editlog class SecurityPolicy(Permissions): def read(self, *args, **kw): return True import rpdb2 rpdb2.start_embedded_debugger("""...Removed-password-from-output...""") r = copy.copy(request) <-- IIS exception is caused As already mentioned when I try to update the Xapian index of a page using a standalone script its STDOUT also contains some information regarding an exception. Exception RuntimeError: 'maximum recursion depth exceeded while calling a Python object' in <type 'exceptions.AttributeError'> ignored Exception RuntimeError: 'maximum recursion depth exceeded while calling a Python object' in <type 'exceptions.AttributeError'> ignored Yet it seems that the standalone script handles the condition more gracefully than if the code is executed as ISAPI application under the command of IIS. There is also one more thing I cannot understand. When I run the standalone script an exception is being reported yet I am not able to catch it. What I mean is when I run: try: index.update_item(page.page_name) except Exception ,e: print "CATCHED excpetion %s" % str(e) I am not able to catch the exception. But STDOUT of the script contains the lines: Exception RuntimeError: 'maximum recursion depth exceeded while calling a Python object' in <type 'exceptions.AttributeError'> ignored Exception RuntimeError: 'maximum recursion depth exceeded while calling a Python object' in <type 'exceptions.AttributeError'> ignored To me this looks kind of weird as information about an exception is reported yet I am not able to catch it. Currently I am suspecting that the root cause of the issue might be that the mentioned exception (that cannot be catched within python but nonetheless is still there) is propagated to IIS and causing the webserver throwing the unhandled exception message. Apart from this mail I will also file a bugreport at http://moinmo.in/MoinMoinBugs describing my setup and all the observations I have already made. Regards, mark -----Original Message----- From: Thomas Waldmann [mailto:tw-pub...@gmx.de] Sent: Samstag, 28. April 2012 23:53 To: Mark Scheufele Cc: moin-user@lists.sourceforge.net Subject: Re: [Moin-user] xapian search: an unhandled win32 exception occured in w3wp.exe > is there anybody out there who knows details about the xapian integration > into moin? While I didn't do changes recently, I worked quite a bit on that code some time ago. > Yesterday I have reported that xapian index is not updated when a page is > changed. Instead the webserver (IIS 7.5) reports an unhandled exception. I can't help you with IIS specific issues, I never used it (nor would I ever use it). > "Exception RuntimeError: 'maximum recursion depth exceeded while calling a > Python object' in <type 'exceptions.AttributeError'> ignored" IIRC, i had a look at that a while ago and somehow I got the impression that it is a harmless python bug and can be ignored. > - after trying to update a page over the web a search for content of this > page does not show any result. Even page content already searchable prior to > the > page change cannot the searched anymore. Hmm, that's strange. > - When I now run the commandline script for the page I tried to update over > the web the moin.log file shows that there is more than one update queued. > 2012-04-25 17:03:17,438 MoinMoin.search.Xapian.indexing DEBUG updated > xapian index with 2 queued updates > The number of queued updates for a page can be increased by trying to > update the page over the web several times. Sounds like it never processes (empties) the queue. > I am really interested in solving the issue. If someone could give me a hint > how to further troubleshoot it would be highly appreciated. Well, if you want to help debugging this / determining the circumstances, trying this comes to mind: * maybe use a more recent python 2.x version * try without IIS (try to reproduce with standalone server or apache2 + mod-wsgi) * try a later / different xapian version * can you reproduce on moinmo.in site? Please also file a bug report about this on the wiki (see MoinMoinBugs page) and provide all details the template asks for (and everything else you could find out). _______________________________________________________________________________________ Dialog Semiconductor GmbH Neue Str. 95 D-73230 Kirchheim Managing Directors: Dr. Jalal Bagherli, Jean-Michel Richard Chairman of the Supervisory Board: Gregorio Reyes Commercial register: Amtsgericht Stuttgart: HRB 231181 UST-ID-Nr. DE 811121668 Legal Disclaimer: This e-mail communication (and any attachment/s) is confidential and contains proprietary information, some or all of which may be legally privileged. It is intended solely for the use of the individual or entity to which it is addressed. Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful. Please consider the environment before printing this e-mail ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Moin-user mailing list Moin-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/moin-user