disable calltips in PySide < 1.0.7 to prevent segfault #963

Merged
merged 2 commits into from Nov 9, 2011

Projects

None yet

3 participants

@minrk
Member
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.

@minrk minrk disable calltips in PySide < 1.0.7 to prevent segfault
PySide bug caused segfault when QApplication.topLevelAt(pos) should return None,
has been fixed in 1.0.7.
e77c750
@minrk minrk referenced this pull request Nov 1, 2011
Closed

segfault on mac os x #711

@takluyver
Member

Looks fine at a glance.

@minrk
Member
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

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
Member
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

@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
Member
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 minrk merged commit 23b354b into ipython:master Nov 9, 2011
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment