Basemap Segfault in IPython; Works in Python

Hi, All,

I’m not sure what is going on, but the following fails in IPython (terminal and notebook) but works just fine in regular Python.

I’m using OS X 10.8.4; git master for git master for Matplotlib (a091f6d), IPython (9f92804), and Basemap (1d7664c); and geos version 3.4.2 (built by Homebrew).

The following script will work from a Python prompt but fails (segfaults) from the IPython prompt. After doing some digging it appears that the segfault occurs when accessing some of the methods associated with the generated geos module (_geoslib.so). I’ve rolled back to previous versions of everything and I still have the same issues.

What I cannot figure out is why this would work with a pure Python interpreter, but fail in the IPython console.

···

=====

import matplotlib.pyplot as plt

from mpl_toolkits.basemap import Basemap

m = Basemap() # This is where the segfault occurs

m.drawcoastlines()

plt.show()

=====

I originally posted this on the IPython Users list and got no response, so I thought I would try here before posting a bug on both IPython and Basemap’s Github issue trackers.

Thanks for any help or ideas on fixing this issue, or at least on how to track down this issue…

Patrick

This is terminal IPython?

Is there a chance that the matplotlib backend is different in each case? Have you enabled matplotlib eventloop integration in IPython (otherwise, it will block when you draw a plot).

···

On Tue, Sep 3, 2013 at 9:36 AM, Patrick Marsh <patrickmarshwx@…149…> wrote:

Hi, All,

I’m not sure what is going on, but the following fails in IPython (terminal and notebook) but works just fine in regular Python.

I’m using OS X 10.8.4; git master for git master for Matplotlib (a091f6d), IPython (9f92804), and Basemap (1d7664c); and geos version 3.4.2 (built by Homebrew).

The following script will work from a Python prompt but fails (segfaults) from the IPython prompt. After doing some digging it appears that the segfault occurs when accessing some of the methods associated with the generated geos module (_geoslib.so). I’ve rolled back to previous versions of everything and I still have the same issues.

What I cannot figure out is why this would work with a pure Python interpreter, but fail in the IPython console.

=====

import matplotlib.pyplot as plt

from mpl_toolkits.basemap import Basemap

m = Basemap() # This is where the segfault occurs

m.drawcoastlines()

plt.show()

=====

I originally posted this on the IPython Users list and got no response, so I thought I would try here before posting a bug on both IPython and Basemap’s Github issue trackers.

Thanks for any help or ideas on fixing this issue, or at least on how to track down this issue…

Patrick


IPython-dev mailing list

IPython-dev@…336…

http://mail.scipy.org/mailman/listinfo/ipython-dev

Sorry if this is a double post; used the wrong email in the first reply and got at least one failure notice…

This is terminal IPython and IPython Notebook. (I noticed it first in the IPython Notebook). The backends are the same in both Python and IPython (and IPython Notebook). I have not changed any of the default IPython settings.

I’m wondering if this is a path issue of some sorts…namely IPython is picking up an old version of geos that I cannot seem to find. At least this is the angle I’m currently trying to work on. I should add that I’ve remove all my manually installed modules and “started over”. I built Numpy, Matplotlib, Basemap, and then IPython (in that order), and still have the same segfault issue.

Patrick

···

On Tue, Sep 3, 2013 at 1:15 PM, MinRK <benjaminrk@…746…49…> wrote:

This is terminal IPython?

Is there a chance that the matplotlib backend is different in each case? Have you enabled matplotlib eventloop integration in IPython (otherwise, it will block when you draw a plot).


IPython-dev mailing list

IPython-dev@…336…

http://mail.scipy.org/mailman/listinfo/ipython-dev

On Tue, Sep 3, 2013 at 9:36 AM, Patrick Marsh <patrickmarshwx@…149…> wrote:

Hi, All,

I’m not sure what is going on, but the following fails in IPython (terminal and notebook) but works just fine in regular Python.

I’m using OS X 10.8.4; git master for git master for Matplotlib (a091f6d), IPython (9f92804), and Basemap (1d7664c); and geos version 3.4.2 (built by Homebrew).

The following script will work from a Python prompt but fails (segfaults) from the IPython prompt. After doing some digging it appears that the segfault occurs when accessing some of the methods associated with the generated geos module (_geoslib.so). I’ve rolled back to previous versions of everything and I still have the same issues.

What I cannot figure out is why this would work with a pure Python interpreter, but fail in the IPython console.

=====

import matplotlib.pyplot as plt

from mpl_toolkits.basemap import Basemap

m = Basemap() # This is where the segfault occurs

m.drawcoastlines()

plt.show()

=====

I originally posted this on the IPython Users list and got no response, so I thought I would try here before posting a bug on both IPython and Basemap’s Github issue trackers.

Thanks for any help or ideas on fixing this issue, or at least on how to track down this issue…

Patrick


IPython-dev mailing list

IPython-dev@…695…36…

http://mail.scipy.org/mailman/listinfo/ipython-dev