*************************************************************************** IPython post-mortem report IPython version: 0.6.12 Platform info : os.name -> posix, sys.platform -> linux2 *************************************************************************** Current user configuration structure: {'Version': 0, 'alias': [''], 'args': [], 'autocall': 1, 'autoindent': 0, 'automagic': 1, 'banner': 1, 'c': '', 'cache_size': 1000, 'classic': 0, 'color_info': 1, 'colors': 'LightBG', 'confirm_exit': 1, 'debug': 0, 'deep_reload': 0, 'editor': 'vi', 'execfile': [], 'execute': [''], 'gthread': 0, 'help': 0, 'ignore': 0, 'import_all': [], 'import_mod': [], 'import_some': [[]], 'include': [], 'ipythondir': '/home/ngirard/.ipython', 'log': 0, 'logfile': '', 'logplay': '', 'magic_docstrings': 0, 'messages': 1, 'multi_line_specials': 0, 'nosep': 0, 'opts': Struct({'pylab': 1}), 'pdb': 0, 'pprint': 1, 'profile': '', 'prompt_in1': 'In [%n]:', 'prompt_in2': ' .%n.:', 'prompt_out': 'Out[%n]:', 'prompts_pad_left': 1, 'pylab': 1, 'quick': 0, 'rcfile': 'ipythonrc', 'readline': 1, 'readline_omit__names': 0, 'readline_parse_and_bind': ['tab: complete', '"\\C-l": possible-completions', 'set show-all-if-ambiguous on', '"\\C-o": tab-insert', '"\\M-i": " "', '"\\M-o": "\\d\\d\\d\\d"', '"\\M-I": "\\d\\d\\d\\d"', '"\\C-r": reverse-search-history', '"\\C-s": forward-search-history', '"\\C-p": history-search-backward', '"\\C-n": history-search-forward'], 'readline_remove_delims': '\'"[]{}-/~', 'screen_length': -2, 'separate_in': '\n', 'separate_out': '', 'separate_out2': '', 'system_verbose': 0, 'tk': 0, 'upgrade': 0, 'wthread': 0, 'xmode': 'Context'} *************************************************************************** Crash traceback: --------------------------------------------------------------------------- exceptions.ZeroDivisionError Python 2.4.1: /usr/bin/python Thu Jun 2 22:24:46 2005 A problem occured executing Python code. Here is the sequence of function calls leading up to the error, with the most recent (innermost) call last. /usr/lib/python2.4/site-packages/matplotlib/backends/backend_gtk.py in expose_event(self=, widget=, event=) 260 self._renderer._set_width_height (width, height) 261 self.figure.draw (self._renderer) 262 263 264 def expose_event(self, widget, event): 265 """Expose_event for all GTK backends 266 Should not be overridden. 267 """ 268 if DEBUG: print 'FigureCanvasGTK.%s' % fn_name() 269 270 if not GTK_WIDGET_DRAWABLE(self): 271 return False 272 273 if self._draw_pixmap: 274 width, height = self.allocation.width, self.allocation.height --> 275 self._render_figure(width, height) self._render_figure = > width = 1280 height = 928 276 self.window.set_back_pixmap (self._pixmap, False) 277 self.window.clear() # draw pixmap as the gdk.Window's bg 278 self._draw_pixmap = False 279 else: # workaround pygtk 2.6 problem - bg not being redrawn 280 self.window.clear_area (event.area.x, event.area.y, 281 event.area.width, event.area.height) 282 283 return False # allow signal to propagate further 284 285 286 def print_figure(self, filename, dpi=150, facecolor='w', edgecolor='w', 287 orientation='portrait'): 288 # TODO - use gdk print figure? 289 root, ext = os.path.splitext(filename) 290 ext = ext[1:] /usr/lib/python2.4/site-packages/matplotlib/backends/backend_gtkagg.py in _render_figure(self=, width=1280, height=928) 58 create_pixmap = False 59 if width > self._pixmap_width: 60 # increase the pixmap in 10%+ (rather than 1 pixel) steps 61 self._pixmap_width = max (int (self._pixmap_width * 1.1), width) 62 create_pixmap = True 63 64 if height > self._pixmap_height: 65 self._pixmap_height = max (int (self._pixmap_height * 1.1), height) 66 create_pixmap = True 67 68 if create_pixmap: 69 if DEBUG: print 'FigureCanvasGTK._render_figure new pixmap' 70 self._pixmap = gtk.gdk.Pixmap (self.window, self._pixmap_width, 71 self._pixmap_height) 72 ---> 73 FigureCanvasAgg.draw(self) global FigureCanvasAgg.draw = self = 74 agg_to_gtk_drawable(self._pixmap, self.renderer._renderer) 75 76 def blit(self): 77 agg_to_gtk_drawable(self._pixmap, self.renderer._renderer) 78 self.window.set_back_pixmap (self._pixmap, False) 79 self.window.clear() # draw pixmap as the gdk.Window's bg 80 self._draw_pixmap = False 81 82 def print_figure(self, filename, dpi=150, 83 facecolor='w', edgecolor='w', 84 orientation='portrait'): 85 if DEBUG: print 'FigureCanvasGTKAgg.print_figure' 86 # delete the renderer to prevent improper blitting after print 87 88 root, ext = os.path.splitext(filename) /usr/lib/python2.4/site-packages/matplotlib/backends/backend_agg.py in draw(self=) 345 The canvas the figure renders into. Calls the draw and print fig 346 methods, creates the renderers, etc... 347 348 Public attribute 349 350 figure - A Figure instance 351 """ 352 353 def draw(self): 354 """ 355 Draw the figure using the renderer 356 """ 357 if __debug__: verbose.report('FigureCanvasAgg.draw', 'debug-annoying') 358 359 renderer = self.get_renderer() --> 360 self.figure.draw(renderer) self.figure.draw = > renderer = 361 362 def get_renderer(self): 363 l,b,w,h = self.figure.bbox.get_bounds() 364 key = w, h, self.figure.dpi.get() 365 try: self._lastKey, self.renderer 366 except AttributeError: need_new_renderer = True 367 else: need_new_renderer = (self._lastKey != key) 368 369 if need_new_renderer: 370 self.renderer = RendererAgg(w, h, self.figure.dpi) 371 self._lastKey = key 372 return self.renderer 373 374 def tostring_rgb(self): 375 if __debug__: verbose.report('FigureCanvasAgg.tostring_rgb', 'debug-annoying') /usr/lib/python2.4/site-packages/matplotlib/figure.py in draw(self=, renderer=) 380 # list of (_image.Image, ox, oy) 381 if not allequal([im.origin for im in self.images]): 382 raise ValueError('Composite images with different origins not supported') 383 else: 384 origin = self.images[0].origin 385 386 ims = [(im.make_image(), im.ox, im.oy) for im in self.images] 387 im = _image.from_images(self.bbox.height(), self.bbox.width(), ims) 388 im.is_grayscale = False 389 l, b, w, h = self.bbox.get_bounds() 390 renderer.draw_image(0, 0, im, origin, self.bbox) 391 392 393 394 # render the axes --> 395 for a in self.axes: a.draw(renderer) a = self.axes = [, ] a.draw = > renderer = 396 397 # render the figure text 398 for t in self.texts: t.draw(renderer) 399 400 for legend in self.legends: 401 legend.draw(renderer) 402 403 self.transFigure.thaw() # release the lazy objects 404 renderer.close_group('figure') 405 406 def get_axes(self): 407 return self.axes 408 409 def legend(self, handles, labels, loc, **kwargs): 410 """ /usr/lib/python2.4/site-packages/matplotlib/axes.py in draw(self=, renderer=) 1339 else: 1340 origin = self.images[0].origin 1341 1342 ims = [(im.make_image(renderer),0,0) for im in self.images if im.get_visible()] 1343 1344 1345 im = _image.from_images(self.bbox.height(), self.bbox.width(), ims) 1346 im.is_grayscale = False 1347 l, b, w, h = self.bbox.get_bounds() 1348 ox = l 1349 oy = self.figure.bbox.height()-(b+h) 1350 renderer.draw_image(ox, oy, im, origin, self.bbox) 1351 1352 if self.axison: 1353 self.xaxis.draw(renderer) -> 1354 self.yaxis.draw(renderer) self.yaxis.draw = > renderer = 1355 1356 1357 1358 artists = [] 1359 artists.extend(self.collections) 1360 artists.extend(self.patches) 1361 artists.extend(self.lines) 1362 artists.extend(self.texts) 1363 1364 # keep track of i to guarantee stable sort for python 2.2 1365 dsu = [ (a.zorder, i, a) for i, a in enumerate(artists) 1366 if a not in self.animated] 1367 dsu.sort() 1368 1369 for zorder, i, a in dsu: /usr/lib/python2.4/site-packages/matplotlib/axis.py in draw(self=, renderer=, *args=(), **kwargs={}) 515 raise NotImplementedError('Derived must override') 516 517 def _set_artist_props(self, a): 518 if a is None: return 519 a.set_figure(self.figure) 520 521 def draw(self, renderer, *args, **kwargs): 522 'Draw the axis lines, grid lines, tick lines and labels' 523 if not self.get_visible(): return 524 renderer.open_group(__name__) 525 ticklabelBoxes = [] 526 ticklabelBoxes2 = [] 527 528 majorTicks = self.get_major_ticks() 529 majorLocs = self.major.locator() --> 530 self.major.formatter.set_locs(majorLocs) self.major.formatter.set_locs = > majorLocs = [] 531 majorLabels = [self.major.formatter(val, i) for i, val in enumerate(majorLocs)] 532 533 534 seen = {} 535 536 interval = self.get_view_interval() 537 for tick, loc, label in zip(majorTicks, majorLocs, majorLabels): 538 if tick is None: continue 539 if not interval.contains(loc): continue 540 seen[loc] = 1 541 tick.update_position(loc) 542 tick.set_label1(label) 543 tick.set_label2(label) 544 tick.draw(renderer) 545 if tick.label1On: /usr/lib/python2.4/site-packages/matplotlib/ticker.py in set_locs(self=, locs=[]) 280 p = ('+%1.10e'% self.offset).replace('+-','-') 281 offsetStr = self._formatSciNotation(p,mathtext=self._useMathText) 282 if self.orderOfMagnitude: 283 if self._useMathText: sciNotStr = r'{\times}10^{%d}'% self.orderOfMagnitude 284 else: sciNotStr = 'x1e%d'% self.orderOfMagnitude 285 if self._useMathText: return ''.join(('$',sciNotStr,offsetStr,'$')) 286 else: return ''.join((sciNotStr,offsetStr)) 287 else: return '' 288 289 def set_locs(self, locs): 290 'set the locations of the ticks' 291 self.locs = locs 292 if self.locs != None: 293 self.verify_intervals() 294 d = abs(self.viewInterval.span()) --> 295 if self._useOffset: self._set_offset(d) self._useOffset = True self._set_offset = > d = 1.0 296 self._set_orderOfMagnitude(d) 297 self._set_format() 298 299 def _set_offset(self, range): 300 # offset of 20,001 is 20,000, for example 301 locs = self.locs 302 ave_loc = mean(locs) 303 if ave_loc: # dont want to take log10(0) 304 ave_oom = math.floor(math.log10(mean(absolute(locs)))) 305 range_oom = math.floor(math.log10(range)) 306 if absolute(ave_oom-range_oom) >= 4: # four sig-figs 307 if ave_loc < 0: 308 self.offset = math.ceil(amax(locs)/10**range_oom)*10**range_oom 309 else: 310 self.offset = math.floor(amin(locs)/10**range_oom)*10**range_oom /usr/lib/python2.4/site-packages/matplotlib/ticker.py in _set_offset(self=, range=1.0) 287 else: return '' 288 289 def set_locs(self, locs): 290 'set the locations of the ticks' 291 self.locs = locs 292 if self.locs != None: 293 self.verify_intervals() 294 d = abs(self.viewInterval.span()) 295 if self._useOffset: self._set_offset(d) 296 self._set_orderOfMagnitude(d) 297 self._set_format() 298 299 def _set_offset(self, range): 300 # offset of 20,001 is 20,000, for example 301 locs = self.locs --> 302 ave_loc = mean(locs) ave_loc = undefined global mean = locs = [] 303 if ave_loc: # dont want to take log10(0) 304 ave_oom = math.floor(math.log10(mean(absolute(locs)))) 305 range_oom = math.floor(math.log10(range)) 306 if absolute(ave_oom-range_oom) >= 4: # four sig-figs 307 if ave_loc < 0: 308 self.offset = math.ceil(amax(locs)/10**range_oom)*10**range_oom 309 else: 310 self.offset = math.floor(amin(locs)/10**range_oom)*10**range_oom 311 else: self.offset = 0 312 313 def _set_orderOfMagnitude(self,range): 314 # if scientific notation is to be used, find the appropriate exponent 315 # if using an numerical offset, find the exponent after applying the offset 316 locs = absolute(self.locs) 317 if self.offset: oom = math.floor(math.log10(range)) /usr/lib/python2.4/site-packages/Numeric/MLab.py in mean(m=array('', []), axis=0) 152 return minimum.reduce(m,axis) 153 154 # Actually from Basis, but it fits in so naturally here... 155 156 def ptp(m,axis=0): 157 """ptp(m,axis=0) returns the maximum - minimum along the the given dimension 158 """ 159 m = asarray(m) 160 return max(m,axis)-min(m,axis) 161 162 def mean(m,axis=0): 163 """mean(m,axis=0) returns the mean of m along the given dimension. 164 If m is of integer type, returns a floating point answer. 165 """ 166 m = asarray(m) --> 167 return add.reduce(m,axis)/float(m.shape[axis]) global add.reduce = m = zeros((0,), 'l') axis = 0 global float = undefined m.shape = (0,) 168 169 # sort is done in C but is done row-wise rather than column-wise 170 def msort(m): 171 """msort(m) returns a sort along the first dimension of m as in MATLAB. 172 """ 173 m = asarray(m) 174 return transpose(sort(transpose(m))) 175 176 def median(m): 177 """median(m) returns a median of m along the first dimension of m. 178 """ 179 sorted = msort(m) 180 if m.shape[0] % 2 == 1: 181 return sorted[int(m.shape[0]/2)] 182 else: ZeroDivisionError: float division *************************************************************************** History of session input: from jet import * f = openHdf("/home/ngirard/tst_hdf/ok.h5") c = RunContour(f,nb=10,vals=['y1','y2']) c.plot() __IP.system("vi /home/ngirard/.ipython/IPython_crash_report.txt") *** Last line of input (may not be in above history): !vi /home/ngirard/.ipython/IPython_crash_report.txt