Skip to content
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

disable calltips in PySide < 1.0.7 to prevent segfault #963

Merged
merged 2 commits into from
Nov 9, 2011

Conversation

minrk
Copy link
Member

@minrk minrk commented Nov 1, 2011

PySide bug caused segfault when QApplication.topLevelAt(pos) should return None, has been fixed in PySide 1.0.7.

We only call this method in the calltip widget (by far the biggest cause of crashes in the qtconsole), but if we want to call it anywhere else, we should probably just bump the PySide version dependency to 1.0.7 in external.qt.

PySide bug caused segfault when QApplication.topLevelAt(pos) should return None,
has been fixed in 1.0.7.
@minrk minrk mentioned this pull request Nov 1, 2011
@takluyver
Copy link
Member

Looks fine at a glance.

@minrk
Copy link
Member Author

minrk commented Nov 2, 2011

An argument against this one is that it disables calltips perhaps too conservatively. It appears to only be macs affected (not the PySide bug itself, but the code path to the call seems executed only on mac), and it is a very specific call that throws the error, so we could circumvent the call much more narrowly.

I'm fine leaving it like this, though, as PySide is in relatively rapid release cycle right now, as it irons out various bugs, and we should probably bump minimum supported version to at least 1.0.7 before too long.

@techtonik
Copy link
Contributor

Just bump min PySide version to 1.0.8 or you will end up with too much if's with PySide versions in your code. =)

@minrk
Copy link
Member Author

minrk commented Nov 7, 2011

When it works fine other than a single minor feature, and apparently on a single platform, I think bumping the minimum to a two-week-old release is excessive. But I agree that we should not let this sort of thing proliferate. At the first sign of a more serious bug, or other similar bug, we should bump it, and depending on timing wrt EPD, etc., it may make sense to push the base when we do actually release 0.12.

@techtonik
Copy link
Contributor

@minrk, 1.0.8 contains a fix for PySide bug #1019 that affected spyderlib. The assumption that it is only a single minor feature that does not work is true as long as nobody reported some more. Users are more inclined to search for workarounds than to report bugs, and even if they report thing, I won't be too happy to spend time to troubleshoot some issue with ancient PySide version.

@minrk
Copy link
Member Author

minrk commented Nov 9, 2011

I'm not lobbying that we should compartmentalize every area for it's particular minimum PySide version, but we don't want to draw the line unnecessarily. Approximately all reported crashes of the QtConsole are caused by this bug, which only ever affected OSX (to our knowledge). We will happily bump the version to 1.0.8 (or whatever it is at the time), when the next EPD ships, but preventing the qtconsole from running in environments where it is known to work quite well doesn't make a lot of sense.

minrk added a commit that referenced this pull request Nov 9, 2011
disable calltips in PySide < 1.0.7 to prevent segfault due to PySide bug.
@minrk minrk merged commit 23b354b into ipython:master Nov 9, 2011
mattvonrocketstein pushed a commit to mattvonrocketstein/ipython that referenced this pull request Nov 3, 2014
disable calltips in PySide < 1.0.7 to prevent segfault due to PySide bug.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants