-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Python 3.4 Recursion Depth Error #71
Comments
Can you give a specific page and mwparser function call that cause the error? I can't reproduce it. |
I will try to reproduce it. Unfortunately the error is happening within a Max Klein On Fri, May 9, 2014 at 10:04 AM, Ben Kurtovic notifications@github.comwrote:
|
@notconfusing any news on this one, or should I close it? |
@earwig I haven't produced anything new on this, so if you think it's "aged" out, then feel free to close it. BTW, have you experimented with running mwparserfromhell on "stackless python" which purports not have these issues? |
@notconfusing No, I haven't tried Stackless Python, but my understanding was that it's solving a different issue – microthreading, rather than having an infinitely long call stack? Either way, it doesn't seem like a proper solution (since the parser shouldn't be recursing that deeply in the first place...) but I am a little curious. Will look into it more. |
I've helped @nkruglikov today who stubled upon a similar problem. He used
Eventually, it turned out that there were incorrect texts, and Since processes don't share common address space, Python uses pickle to send information between them. This includes sending of occured exceptions, but StringMixins inside the ValueErrors failed to be deserialized with pickle due to a bug with infinite calls in One way to fix this problem in the library can be to make subclasses of StringMixin pickle-serializable. If this isn't possible, I think this post would be useful to people who stumbled upon the same problem anyway. The possible solution for them is to handle exceptions from mwparserfromhell inside the child process and return some serializable value indicating the error. |
Thanks for the bug report. I think I've fixed it in 6ffdfa5. |
I am using mediawiki utilities xml dump parser (python3 only). https://pypi.python.org/pypi/mediawiki-utilities/0.2.1
When I try to parse any pages, am getting
The text was updated successfully, but these errors were encountered: