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
Segfault in _PyObject_GenericGetAttrWithDict #79479
Comments
Running pulseeffects, it crashes occasionally. I have yet to find a cause, it just happens. $ GDK_DPI_SCALE=0.6 gdb -args /usr/bin/python3 /usr/bin/pulseeffects gdb: Symbol `acs_map' has different size in shared object, consider re-linking Program received signal SIGSEGV, Segmentation fault. Seems to be a python bug not validating a data pointer. A similar bug was fixed here https://bugs.python.org/issue12149 reviewing the code https://github.com/python/cpython/blob/master/Objects/object.c I think line 981 mentioned in the bug description is now line 1235 f = descr->ob_type->tp_descr_get; Which now is protected inside an if (descr != NULL). So they fixed it here. if (f != NULL && PyDescr_IsData(descr)) {
res = f(descr, obj, (PyObject *)obj->ob_type); The problem now seem to be further below (line 1279) where the code is if (f != NULL) {
res = f(descr, obj, (PyObject *)Py_TYPE(obj)); The problem is that they forget to check that descr is valid. |
Closing as Python 3.6 is not supported. |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: