Skip to content
This repository was archived by the owner on Apr 14, 2022. It is now read-only.

Skip bad fused cython functions during scrape #995

Merged
merged 1 commit into from
Apr 22, 2019

Conversation

jakebailey
Copy link
Member

Fixes #740.

If __default__ is set on a fused_cython_function, then trying to access __kwdefaults__ will segfault (in cython <0.29.6). Check for this condition before using the inspect library to look at the function.

This will make it such that the functions like this will have an empty signature, which is wrong, but it's better than crashing entirely and triggering coredump collection/popups.

I'm looking for a way to inspect these functions and find the cython version; so far no luck. If I can find it, then I can make this conditional and on updated libraries not do this check. The shared libraries produced by cython contain the version number, but I'm not sure I want to try reading out the compiled files directly to look for it.

PRs to update affected libraries are ongoing.

@jakebailey jakebailey merged commit 0682651 into microsoft:master Apr 22, 2019
@jakebailey jakebailey deleted the skip-bad-cython branch April 22, 2019 16:30
jakebailey added a commit to jakebailey/python-language-server that referenced this pull request Nov 1, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Segfault in scraper while inspecting some pyx-produced libraries (pandas, sklearn)
2 participants